CentOS安全设置指南
简介
CentOS系统因其稳定性和安全性而广受欢迎,但为了确保系统的安全性和稳定性,需要进行一系列的安全配置。本文将详细介绍如何通过禁用不必要的超级用户、删除不必要的账号、强化用户口令、配置防火墙、更新系统补丁等措施来加固CentOS系统。
详细步骤
账户安全及权限管理
-
禁用root以外的超级用户
- 检测方法:
cat /etc/passwd | awk -F: '{print $1,$3}' | grep '0$'
- 备份方法:
cp -p /etc/passwd /etc/passwd_bak
- 加固方法:
- 锁定不必要的超级账户:
passwd -l <用户名>
- 解锁需要恢复的超级账户:
passwd -u <用户名>
- 将用户shell改为/sbin/nologin:
usermod -s /sbin/nologin <用户名>
- 锁定不必要的超级账户:
- 检测方法:
-
删除不必要的账号
- 删除用户:
userdel <用户名>
- 删除组:
groupdel <组名>
- 可删除的用户和组:
adm, lp, sync, shutdown, halt, mail, operator, games, ftp
等。
- 删除用户:
-
用户口令策略
- 修改密码长度策略:
vi /etc/login.defs PASS_MIN_LEN 10
- 检查空口令账户:
awk -F: '$2 == "" {print $1}' /etc/shadow
- 修改密码长度策略:
-
保护口令文件
- 使用
chattr
命令给文件加上不可更改属性:chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow
- 使用
-
设置root账户自动注销时限
- 修改/etc/profile文件中的TMOUT参数:
vi /etc/profile TMOUT=300
- 修改/etc/profile文件中的TMOUT参数:
-
限制su命令
- 编辑/etc/pam.d/su文件:
auth required pam_wheel.so use_uid
- 编辑/etc/pam.d/su文件:
系统服务及启动项安全
-
设置开机启动服务文件夹权限
- 设置/etc/rc.d/init.d/目录下所有文件的许可权限:
chmod -r 700 /etc/rc.d/init.d/ chown -r root:root /etc/rc.d/init.d/
- 设置/etc/rc.d/init.d/目录下所有文件的许可权限:
-
禁用不必要的服务
- 使用
systemctl
或chkconfig
命令禁用不必要的系统服务:systemctl disable <服务名>
- 使用
防火墙配置
- 使用
firewalld
或iptables
配置防火墙规则,仅允许必需的网络流量通过。
软件更新
- 定期运行
yum update
命令,确保所有软件和内核都是最新版本。
SELinux配置
- 启用并配置SELinux以增强系统安全性。
监控与日志
- 定期检查系统日志,及时发现异常行为。
注意事项
- 所有安全配置需要定期审查和更新,以应对不断变化的安全威胁。
- 在进行任何配置更改之前,建议备份相关文件,以防万一出现问题时能够恢复。
通过上述步骤,您可以显著提高CentOS系统的安全性,有效防御外部攻击和内部威胁。