保护CentOS服务器需要一系列的安全配置措施,以下是一些关键的步骤:
-
禁用非必要的超级用户:
- 通过查看
/etc/passwd
文件,检测并锁定不必要的超级账户。 - 命令示例:
cat /etc/passwd | awk -F ':' '{print$1,$3}' | grep ' 0$' # 检测命令 cp -p /etc/passwd /etc/passwd_bak # 备份方法 passwd -l <用户名> # 锁定账户 passwd -u <用户名> # 解锁账户
- 通过查看
-
删除不必要的账户和组:
- 删除所有不必要的默认账户,如
adm
,lp
,sync
等。 - 命令示例:
userdel username groupdel groupname
- 删除所有不必要的默认账户,如
-
强化用户口令:
- 设置复杂的口令,包含大写字母、小写字母、数字和特殊字符,长度大于10位。
- 通过修改
/etc/login.defs
文件来强制执行这些要求:PASS_MIN_LEN 10
-
保护口令文件:
- 使用
chattr
命令给/etc/passwd
,/etc/shadow
,/etc/group
, 和/etc/gshadow
文件加上不可更改属性:chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow
- 使用
-
设置root账户自动注销时限:
- 通过修改
/etc/profile
文件中的TMOUT
参数,设置root账户的自动注销时限:vi /etc/profile TMOUT=300
- 通过修改
-
限制su命令:
- 编辑
/etc/pam.d/su
文件,限制只有特定组的用户才能使用su
命令切换为root:usermod –G wheel username
- 编辑
-
配置防火墙:
- 使用
firewalld
或iptables
配置防火墙规则,限制对服务器的访问。 - 命令示例:
systemctl start firewalld firewall-cmd --zone public --add-service=http --permanent firewall-cmd --reload
- 使用
-
启用SELinux:
- 启用并配置SELinux以增强系统安全性。
- 命令示例:
setenforce 1
-
定期更新系统和软件包:
- 定期更新系统中的软件包以修补安全漏洞:
yum update
- 定期更新系统中的软件包以修补安全漏洞:
-
监控和日志管理:
- 使用
rsyslog
或systemd-journald
收集和存储日志,配置日志轮换防止磁盘空间过满。 - 定期检查系统日志,及时发现异常行为。
- 使用
通过实施上述措施,可以显著提高CentOS服务器的安全性,减少受到网络攻击的风险。