温馨提示×

centos如何进行安全清理

小樊
35
2026-01-02 06:23:27
栏目: 智能运维

CentOS 安全清理与加固清单

一 操作前准备

  • 备份关键数据与配置:优先备份业务数据、数据库、/etc/home/var/lib、定时任务脚本等,确保可回滚。
  • 变更窗口与回退方案:选择低峰时段,准备临时回滚命令与快照/镜像,变更后先灰度验证。
  • 最小权限与多用户复核:使用sudo执行,关键操作双人复核,避免单人 root 长时在线。
  • 保持系统最新:先执行yum check-update评估更新,再yum update -y应用安全补丁,减少已知漏洞面。

二 账户与权限清理

  • 清理多余与共享账号:删除不再使用的账号,禁止账号共享;排查并删除除 rootUID=0 的账户(命令:awk -F: ‘($3 == 0) {print $1}’ /etc/passwd)。
  • 锁定或禁用长期未用账号:usermod -L/-U、passwd -l/-u;将非登录用途账号的 Shell 设为 /sbin/nologin
  • 限制 su 到 root:仅允许 wheel 组成员使用 su,编辑 /etc/pam.d/su 启用 pam_wheel.so 限制;将运维账号加入 wheel(gpasswd -a 用户名 wheel)。
  • 口令策略与空口令检查:在 /etc/login.defs 设置 PASS_MAX_DAYS/PASS_MIN_DAYS/PASS_WARN_AGE/PASS_MIN_LEN;用 pam_cracklib 强化复杂度;排查空口令(awk -F: ‘($2 == “”) {print $1}’ /etc/shadow)。
  • 关键账号文件防篡改:对 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow 设置不可变属性(chattr +i),变更前务必备份并规划解锁流程(chattr -i)。

三 系统与网络清理

  • 卸载无用软件与清理缓存:yum remove 卸载不需要的包;yum autoremove -y 清理残留依赖;yum clean all 清理 YUM 缓存;删除临时文件(/tmp、/var/tmp)。
  • 精简自启与关闭高危服务:仅保留必要服务(如 sshd、rsyslog、crond、network、sysstat);用 systemctl disable/stop 关闭不必要服务与端口,降低攻击面。
  • 防火墙最小暴露:使用 firewalld 仅放行必需端口/服务(如 http/https/ssh),变更后 firewall-cmd --reload 生效。
  • 禁用明文与高风险协议:如非必需,禁用 Telnet、FTP、rsh 等明文协议与相关服务,避免中间人窃取与弱认证风险。
  • 加固 SSH:编辑 /etc/ssh/sshd_config,启用 Protocol 2,设置 PermitRootLogin noPermitEmptyPasswords no,按需开启密钥登录、限制可登录用户/组,修改后 systemctl restart sshd。

四 日志、审计与入侵防护

  • 日志轮转与归档:定期执行 journalctl --rotate,清理过旧日志;对 /var/log 设置合理的保留策略,避免磁盘被占满。
  • 启用审计与监控:安装并启用 auditd,记录关键系统调用与登录事件,用于事后取证与合规审计。
  • 防暴力破解:部署 fail2ban,针对 SSH 等高频暴力登录进行自动封禁,缩短攻击窗口。
  • 入侵检测/防御:结合 IDS/IPS 与主机加固基线,持续监测异常行为并及时处置。

五 验证与持续维护

  • 基线核查:确认仅必要端口与服务在监听(ss -tulpen),仅 root 拥有 UID=0,空口令与弱口令不存在,关键文件未被篡改(lsattr)。
  • 连通性与功能回归:在防火墙收紧后逐项回归业务连通性(应用、数据库、监控、备份),确保清理未引入业务中断。
  • 持续更新与演练:制定周期性的补丁更新配置基线审计应急演练计划;对关键变更保留变更单与回滚方案,形成闭环。

0