Linux系统防护自动化教程_安全策略自动下发

19次阅读

linux安全自动化核心是构建可重复、可验证、可回滚的流程,涵盖ansible策略下发、CIS基线校验、inotifywait配置监控和systemd timer自愈机制四层闭环。

Linux系统防护自动化教程_安全策略自动下发

Linux系统防护自动化,核心在于把安全策略从手动配置变成可重复、可验证、可回滚的自动流程。关键不是工具,而是理清“谁在管什么、策略怎么生效、异常如何发现”这三层逻辑。

用Ansible统一下发基础安全策略

Ansible无需目标主机装客户端,适合批量加固。重点不是写复杂playbook,而是聚焦高频刚需项:

  • 禁用root远程ssh登录:修改/etc/ssh/sshd_configPermitRootLogin no,并systemctl restart sshd
  • 强制密码复杂度:通过pam_pwquality模块配置/etc/pam.d/common-password,要求最小长度、大小写字母、数字、特殊字符各至少1位
  • 关闭非必要服务:用systemctl disable --now avahi-daemon bluetooth cups等命令停用默认开启但业务不用的服务
  • 设置基础防火墙规则:用firewalld仅开放22(SSH)、80/443(Web)等真实需要的端口,其余全部拒绝

所有操作都应封装为独立task,带when条件判断(如只在centos 7上执行某条命令),避免误操作。

用CIS Benchmark做合规基线校验

CIS发布的Linux基准是业界公认的安全起点。别只当检查清单看,要把它变成自动校验动作:

  • 下载对应版本的CIS Benchmark文档(如CIS ubuntu 22.04 Level 1)
  • 用开源工具OpenSCAP加载对应OVAL定义文件,运行oscap xccdf eval --profile xccdf_org.cisecurity.benchmarks_profile_Level_1_Server --report report.html /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml
  • 将扫描结果解析为jsON,用脚本提取notcheckedfail项,自动触发修复playbook

每周定时扫描+邮件告警,比人工抽查更可靠。

用inotifywait实时监控关键配置文件变动

策略下发不是一劳永逸。攻击者或误操作可能改回不安全配置。需对敏感文件做变更感知:

  • 监控/etc/ssh/sshd_config/etc/passwd/etc/shadow/etc/sudoers等文件
  • inotifywait -m -e modify,attrib /etc/ssh/sshd_config监听,一旦变化立即触发校验脚本
  • 校验脚本比对当前配置与Ansible模板SHA256值,不一致则自动恢复,并记录日志到/var/log/security/audit.log

配合rsyslog将该日志转发至SIEM平台,形成闭环审计线索。

用systemd timer替代crontab做策略自愈

传统crontab难管理、无依赖、无日志追踪。用systemd timer更可控:

  • 写一个security-autoheal.service:执行配置校验+修复脚本
  • 配套security-autoheal.timer:设为每天凌晨2:15触发,且确保上次任务完成才启动下一次
  • 启用:systemctl daemon-reload && systemctl enable --now security-autoheal.timer
  • 查状态:systemctl list-timers --all,失败时自动记录journal日志,可用journalctl -u security-autoheal.service排查

所有timer和服务都放在/etc/systemd/system/下,随系统启动自动加载,无需额外守护进程。

安全策略自动下发不是追求一步到位,而是让每次变更可追溯、每次检查有反馈、每次异常能自愈。工具只是载体,真正起作用的是策略定义是否清晰、触发条件是否合理、恢复路径是否明确。

text=ZqhQzanResources