对CentOS系统中的SSH服务进行安全加固是确保系统安全性的重要步骤。以下是一些关键的安全加固措施:
更新和修补漏洞
- 定期更新系统和软件包以修补已知漏洞。对于CentOS系统,使用
yum update
命令进行更新。
配置安全策略
- 限制网络端口和服务:只开放必要的端口,关闭或限制不必要的服务。
- 强密码策略:使用长且复杂的密码,并定期更换。可以通过
passwd
命令修改密码,并使用vi /etc/login.defs
修改配置文件。 - 设置连续输错三次密码,账号锁定五分钟:使用
vi /etc/pam.d/common-auth
修改配置文件,在配置文件中添加auth required pam_tally.so onerr=fail deny=3 unlock_time=300
。 - 访问控制列表(ACL):通过
setfacl
命令细化文件和目录的访问权限。
SSH服务加固
- 禁止root用户SSH远程登录:编辑
/etc/ssh/sshd_config
文件,将PermitRootLogin
的值修改为no
并去掉注释。 - 修改SSH默认端口:SSH的默认端口为22,建议修改为不常用的端口,如2222。修改
/etc/ssh/sshd_config
文件中的Port
设置,并在防火墙中开启新端口。 - 仅允许特定用户登录:在
/etc/ssh/sshd_config
中设置AllowUsers
指令,仅允许特定用户登录。 - 限制SSH登录尝试次数:修改
/etc/ssh/sshd_config
中的MaxAuthTries
设置,限制登录尝试次数。 - 输入密码错误超过次数自动锁定:在
/etc/pam.d/sshd
中加入auth required pam_tally2.so deny=3 unlock_time=60 even_deny_root root_unlock_time=60
。
防火墙配置
- 使用
iptables
或firewalld
设置防火墙规则,仅开放必要的端口。
SELinux配置
- 如果使用SELinux,可以启用并配置SELinux以增强系统安全性。
其他安全建议
- 使用SSH密钥验证:增加额外的安全层,生成SSH密钥对,并将公钥添加到远程主机的
/.ssh/authorized_keys
文件中。 - 监控日志文件:定期检查系统日志,及时发现异常行为。
在进行上述配置时,请根据实际情况和官方文档进行调整,并确保在修改配置文件后重启SSH服务以使更改生效。此外,定期审查和更新安全设置是应对不断变化的安全威胁的关键。