怎样进行centos安全清理
小樊
36
2025-11-16 00:00:48
CentOS 安全清理与加固清单
一 执行前准备
- 备份关键数据与配置:优先备份业务数据、证书、数据库及关键配置文件(如 /etc、/root、应用配置)。
- 选择维护窗口与回滚方案:变更前记录当前状态(已安装包、监听端口、关键配置快照),准备回滚步骤。
- 最小权限与最少服务原则:仅保留必需软件与服务,遵循“最小权限 + 最少服务 = 最大安全”。
二 系统与软件清理
- 更新系统与补丁:执行 sudo yum update -y,及时修复已知漏洞。
- 移除无用依赖与软件包:执行 sudo yum autoremove -y,减少攻击面。
- 清理缓存与临时文件:执行 sudo yum clean all;清理 /tmp 与 /var/tmp(如:rm -rf /tmp/*),避免敏感信息残留与磁盘被占满。
- 日志轮转与归档:对 journald 执行 sudo journalctl --vacuum-time=2weeks;必要时对 /var/log 旧日志做压缩归档,防止日志膨胀影响磁盘与取证。
三 账户与权限加固
- 清理多余与高危账户:排查 UID=0 的账户(cat /etc/passwd | awk -F: ‘{print $1,$3}’ | grep ’ 0$'),对不再需要的超级账户执行 passwd -l <用户> 或将其 shell 改为 /sbin/nologin;删除不必要的默认账号(如 adm、lp、sync、shutdown、halt、games、ftp 等)与对应组(谨慎评估业务依赖)。
- 检查空口令与弱口令:执行 awk -F “:” ‘($2 ==“” ) {print $1}’ /etc/shadow 定位空口令账户并强制设置合规口令。
- 口令策略与会话超时:在 /etc/login.defs 设置 PASS_MIN_LEN 10;在 /etc/profile 设置 TMOUT=300(单位秒)自动注销空闲会话。
- 限制 su 使用:编辑 /etc/pam.d/su,仅允许 wheel 组使用 su 切换到 root。
- 保护关键口令文件:对 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow 设置不可更改属性(chattr +i),变更前务必备份并评估对用户管理的影响。
四 网络与 SSH 安全
- 防火墙最小化放行:启用 firewalld,仅放行必需服务(示例:sudo firewall-cmd --permanent --zone=public --add-service=http --add-service=https && sudo firewall-cmd --reload)。
- 加固 SSH 访问:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no、禁用空口令、尽量使用密钥认证;如需降低噪音可修改端口(Port),并重启 sshd。
- 防暴力破解:部署 fail2ban,自动封禁反复失败的来源 IP。
- 审计与监控:启用并持久化 auditd(sudo yum install audit -y && sudo systemctl enable --now auditd),持续记录关键安全事件。
五 安全审计与持续维护
- 基线审计与修复:使用 Lynis(sudo yum install lynis -y && sudo lynis audit system)进行安全基线扫描;使用 OpenSCAP 对系统配置进行合规评估与修复(如 oscap xccdf eval …)。
- 恶意代码防护:部署 ClamAV 与 rkhunter 定期查杀与基线检查(sudo yum install clamav rkhunter -y;freshclam;rkhunter --update)。
- 持续监控与告警:结合 auditd 日志与监控平台(如 Nagios/Zabbix)建立关键指标与异常告警;定期复盘与复扫,形成闭环整改。