在CentOS系统中,配置SSH安全策略可以通过修改SSH服务器的配置文件/etc/ssh/sshd_config
来实现。以下是一些常见的安全策略配置建议:
-
更改默认端口: 打开
/etc/ssh/sshd_config
文件,找到#Port 22
这一行,取消注释并修改为非标准端口(例如:Port 2222
)。这样可以减少自动化攻击的风险。Port 2222
-
禁用root登录: 找到
#PermitRootLogin yes
这一行,取消注释并修改为PermitRootLogin no
。这样可以防止root用户直接通过SSH登录系统。PermitRootLogin no
-
使用公钥认证: 确保
PubkeyAuthentication yes
这一行没有被注释掉,并且配置了正确的公钥认证路径。这样可以提高安全性,避免使用密码登录。PubkeyAuthentication yes
-
限制用户登录: 可以通过
AllowUsers
或DenyUsers
指令来限制特定用户的SSH登录。例如,只允许特定用户登录:AllowUsers user1 user2
或者拒绝特定用户登录:
DenyUsers user3 user4
-
使用防火墙限制访问: 使用
firewalld
或iptables
来限制SSH服务的访问。例如,只允许特定IP地址访问SSH端口:firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="2222" accept' firewall-cmd --reload
-
禁用不必要的服务: 确保只启用了必要的SSH服务选项。例如,禁用
UsePAM
(如果不需要PAM认证):UsePAM no
-
日志记录: 确保SSH登录和操作都被记录在日志中。可以编辑
/etc/rsyslog.conf
文件,确保以下行没有被注释掉:auth,authpriv.* /var/log/secure
然后重启rsyslog服务:
systemctl restart rsyslog
-
定期更新和打补丁: 定期更新CentOS系统和SSH服务,以确保所有已知的安全漏洞都得到修复。
yum update
完成上述配置后,重启SSH服务以使更改生效:
systemctl restart sshd
通过这些步骤,可以显著提高CentOS系统上SSH服务的安全性。