CentOS系统安全设置要点如下:
账户安全与权限管理
- 禁用root以外的超级用户:通过查看
/etc/passwd
文件,检测并锁定不必要的超级账户。 - 删除不必要的账号和组:删除系统默认的额外账户和组,如
adm
、lp
、sync
等,以减少系统被攻击的风险。 - 强化用户口令:设置复杂的口令,包含大写字母、小写字母、数字和特殊字符,并且长度大于10位。可以通过修改
/etc/login.defs
文件来强制执行这些要求。 - 保护口令文件:使用
chattr
命令给/etc/passwd
、/etc/shadow
、/etc/group
和/etc/gshadow
文件加上不可更改属性,以防止未授权访问。 - 设置root账户自动注销时限:通过修改
/etc/profile
文件中的TMOUT
参数,设置root账户的自动注销时限。 - 限制su命令:编辑
/etc/pam.d/su
文件,限制只有特定组的用户才能使用su
命令切换为root。 - 限制普通用户的敏感操作:删除或修改
/etc/security/console.apps
下的相应程序的访问控制文件,防止普通用户执行关机、重启等敏感操作。 - 禁用ctrl+alt+delete重启命令:修改
/etc/inittab
文件,禁用ctrl+alt+del
组合键重启机器的命令。 - 设置开机启动服务权限:确保
/etc/rc.d/init.d/
目录下所有文件的权限,只有root用户可以操作这些服务。 - 避免登录时显示系统信息:编辑
/etc/securetty
文件,限制root用户只能在特定的tty设备上登录。
日志与监控
- 日志管理:CentOS自带的
rsyslog
服务可以帮助系统管理员记录所有系统活动。定期检查这些日志,尤其是失败的登录尝试和系统异常,是发现潜在安全漏洞的有效方式。 - 监控工具:利用如
Auditd
等工具来增强审计功能,监控重要文件的访问和修改。
网络安全配置
- 配置防火墙:使用
firewalld
或iptables
配置防火墙规则,限制对服务器的访问,只允许必要的端口对外开放。 - NFS网络访问:确保
/etc/exports
文件的访问权限设置严格,禁止不必要的root写入,最好的方式是以只读模式挂载共享目录。
系统服务与补丁管理
- 定期更新系统和软件包:定期更新操作系统和软件包,以修复已知漏洞和安全问题。
- 审查系统自启服务:通过
systemctl
管理服务的状态,禁用那些不需要的服务,进一步减少潜在的攻击面。
进阶防护
- 启用SELinux:增加对系统的额外保护层。专业用户可以根据具体业务需求,对SELinux进行配置,强化不同应用的安全策略。
请注意,这些安全措施需要定期审查和更新,以应对不断变化的安全威胁。