在CentOS上限制SSH访问可以通过多种方法实现,以下是一些常见的方法:
CentOS 7及以上版本默认使用firewalld
作为防火墙管理工具。
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
你可以使用firewall-cmd
来限制特定IP地址访问SSH。
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
SELinux(Security-Enhanced Linux)提供了更细粒度的安全控制。
sestatus
sudo setenforce 1
你可以编辑/etc/selinux/config
文件来设置SELinux模式。
SELINUX=enforcing
编辑/etc/ssh/sshd_config
文件来限制SSH访问。
sudo nano /etc/ssh/sshd_config
添加或修改以下行:
AllowUsers user1 user2
sudo nano /etc/ssh/sshd_config
添加或修改以下行:
AllowUsers user1@192.168.1.100 user2@192.168.1.101
sudo systemctl restart sshd
Fail2Ban是一个入侵防御软件框架,可以用来限制暴力破解攻击。
sudo yum install fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
编辑/etc/fail2ban/jail.local
文件来配置Fail2Ban。
sudo nano /etc/fail2ban/jail.local
添加以下内容:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
sudo systemctl restart fail2ban
通过以上方法,你可以有效地限制CentOS上的SSH访问,提高系统的安全性。