在CentOS系统上进行安全加固是确保系统稳定运行和数据安全的关键步骤。以下是一些关键的安全设置步骤和最佳实践:
1. 密码策略
- 设置口令最长使用天数:在
/etc/login.defs
中设置PASS_MAX_DAYS
不小于标准值900。 - 设置口令更改最小间隔天数:在
/etc/login.defs
中设置PASS_MIN_DAYS
不小于标准值20。 - 设置口令最小长度:在
/etc/login.defs
中设置PASS_MIN_LEN
不小于标准值8。 - 设置口令过期提醒天数:在
/etc/login.defs
中设置PASS_WARN_AGE
不小于标准值7。 - 设置root用户密码口令使用天数:使用
chage root -M 90
命令。 - 设置密码重复使用次数限制:编辑
/etc/pam.d/system-auth
文件,在password sufficient
这一行加上remember=50
。 - 设置密码复杂度:编辑
/etc/pam.d/system-auth
,添加password requisite pam_pwquality.so retry=5 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
。 - 设置账户认证失败次数限制:
- 编辑
/etc/pam.d/sshd
,检查是否配置SSH方式账户认证失败次数限制auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=60
。 - 编辑
/etc/pam.d/system-auth
,检查是否配置账户认证失败次数限制auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=60
。
- 编辑
2. SELinux配置
- 使用
getenforce
命令查看SELinux是否开启。 - 编辑
/etc/selinux/config
,修改SELINUX值为enforcing
或者permissive
(建议改成这个模式,只记录不进行拦截)。 - 使用
reboot
命令重启机器使修改生效。
3. 防火墙配置
- 使用
firewall-cmd
或iptables
命令配置防火墙规则,限制对服务器的访问。
4. 禁用不必要的服务
- 使用
systemctl
命令禁用不需要的系统服务。
5. 用户权限管理
- 使用
chmod
、chown
和setfacl
命令来设置文件和目录的权限。
6. 定期更新系统和软件包
- 定期运行
yum update
命令来更新系统和软件包,以修复已知漏洞和安全问题。
7. 审计系统日志
- 定期检查和分析系统日志,以便发现潜在的安全问题。
8. 使用加密通信
- 为远程访问和数据传输配置加密协议,如SSH和HTTPS。
9. 备份重要数据
- 定期备份关键数据,以防数据丢失或损坏。
请注意,进行任何安全配置更改之前,建议先在测试环境中验证这些更改,以确保它们不会对系统正常运行产生负面影响。此外,安全配置是一个持续的过程,需要定期审查和更新以应对不断变化的安全威胁。