要限制CentOS上的SSH访问权限,您可以采取以下措施:
-
更改默认SSH端口: 编辑
/etc/ssh/sshd_config
文件,找到#Port 22
这一行,取消注释并更改端口号。例如,将其更改为Port 2222
。然后重启SSH服务以使更改生效:sudo systemctl restart sshd
-
禁用root登录: 在
/etc/ssh/sshd_config
文件中找到PermitRootLogin
这一行,将其值更改为no
。这将禁止root用户通过SSH登录。然后重启SSH服务以使更改生效:sudo systemctl restart sshd
-
限制允许登录的用户: 在
/etc/ssh/sshd_config
文件中找到AllowUsers
这一行,指定允许登录的用户。例如:AllowUsers user1 user2 user3
如果该行以
#
开头,请取消注释。然后重启SSH服务以使更改生效:sudo systemctl restart sshd
-
使用防火墙限制IP访问: 如果您使用的是firewalld,可以通过以下命令限制允许访问SSH的IP地址:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="允许的IP地址" port protocol="tcp" port="22" accept' sudo firewall-cmd --reload
将
允许的IP地址
替换为您希望允许访问SSH的IP地址。 -
使用Fail2ban限制暴力破解攻击: Fail2ban可以监控SSH登录尝试,并在检测到多次失败尝试后暂时封禁IP地址。要安装Fail2ban,请运行:
sudo yum install epel-release sudo yum install fail2ban
然后启动Fail2ban服务并设置开机启动:
sudo systemctl start fail2ban sudo systemctl enable fail2ban
接下来,创建一个新的Fail2ban配置文件
/etc/fail2ban/jail.local
,并添加以下内容以配置SSH限制:[sshd] enabled = true port = 22 filter = sshd logpath = /var/log/secure maxretry = 3 bantime = 600
这将限制在10分钟内尝试登录失败3次的IP地址,封禁时间为600秒。您可以根据需要调整这些参数。
采取这些措施后,您的CentOS服务器上的SSH访问权限将受到限制,从而提高安全性。