核心思路是构建“感知—判断—响应”闭环:用auditd精准捕获关键文件(如/etc/passwd、/etc/shadow)修改行为,通过OpenSCAP自动修复基线偏差,联动Prometheus/Alertmanager触发iptables封禁等加固动作,并确保每步含验证与回滚机制。

核心思路是把监控发现的异常,直接触发预设的加固动作,形成“感知—判断—响应”闭环,而不是只发告警等人工介入。
一、用auditd捕获关键操作痕迹
auditd是Linux内核级审计工具,能精准记录谁在何时改了什么。它不是日志查看器,而是行为捕获器。
- 重点监控路径:/etc/passwd、/etc/shadow、/var/log/auth.log、/home/*/.bash_history、/etc/ssh/sshd_config
- 规则示例:-w /etc/passwd -p wa -k passwd_mod(监控写入和属性变更)
- 避免噪音:不用通配符盲目监控整个/var/log,而是按文件名精确指定关键日志;对高频操作(如openat)加auid过滤,只盯特定用户
二、用OpenSCAP做基线合规检查与自动修复
OpenSCAP不只是扫描工具,它支持基于SCAP标准的自动修正策略。比如发现SSH允许root登录,可直接执行修复而非仅报错。
- 常用命令:oscap xccdf eval --profile standard --remediate --results results.xml --report report.html /usr/share/xml/scap/ssg/content/ssg-rhel8-ds.xml
- 修复能力依赖内容源:Red Hat提供的SSG(Security Content Automation Protocol Guide)自带大量可执行修复项
- 建议结合cron或systemd timer每日凌晨运行,结果推送至运维平台
三、监控告警与加固脚本联动(以Prometheus + Alertmanager + OpenClaw为例)
当指标越界(如CPU持续95%超5分钟)或日志中出现高危模式(如“Failed password for root”10分钟内出现5次),不只发消息,而是调用加固脚本。
- Alertmanager配置webhook路由到OpenClaw服务端点
- OpenClaw接收后解析告警标签(instance、job、severity),匹配预置策略库
- 例如:匹配到“auth_fail_burst”类型告警 → 执行iptables -A INPUT -s $source_ip -j DROP并记录封禁日志
- 所有操作需带dry-run开关用于测试,生产环境启用前必须验证脚本幂等性
四、加固动作需自带验证与回滚机制
自动防卫的前提是“不会把自己搞挂”。每次加固后必须确认效果,并保留快速复原能力。
- 验证方式:加固后立即执行校验命令,如mount | grep '/usr' | grep 'ro'确认只读挂载生效
- 备份先行:修改/etc/fstab前用rsync备份原文件;更新sshd_config前生成.bak副本
- 回滚触发条件:加固后30秒内检测关键服务(sshd、nginx)是否仍处于active状态,异常则自动还原

















