首页/系统与基础设施/自动化运维速查/安全基线在自动化中执行
排障与安全50 条

安全基线在自动化中执行

安全基线需要自动化才能长期守住,但巡检与修复必须分离:先只读检测偏差分布,再幂等修复并复检收敛;基线本身要版本化,合理例外显式登记,涉及登录与审计的修复要先单机验证再批量推进。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​‌​​​‌‌‌‌​​‌​​‌​‌‌​‌​‌‌​​​‌​​‌‌​​​​‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌​‌‌​​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​​‌​‌​‌‌​‌‌‌​​‌‌​​‌‌​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​‌‌​‌‌​​‌​‌​‌‌​‌‌​‌​‌‌​​‌​‌​‌‌​‌‌‌​​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

基线要靠自动化才能守住

安全基线是一组明确的安全配置要求,例如账号与口令策略、远程登录限制、服务最小化、日志与审计开启、关键文件权限。它的难点不在定义,而在长期保持:机器会新增、配置会被临时改动、版本升级会重置默认值。靠人工检查无法跟上规模,所以基线必须用自动化执行——但执行方式要分开:巡检只读并报告偏差,修复才真正改配置,两者混在一起会让偏差失去可见性。

基本信息

适用对象服务器、容器基础镜像与网络设备配置
基线内容账号与口令策略、登录限制、服务最小化、日志审计、文件权限
两种模式巡检(只读检测报告)与修复(幂等收敛)
版本管理基线本身需版本化,随系统版本与合规要求变化
关键要求例外情况必须显式登记,否则偏差与例外无法区分

落地要点

  • 巡检与修复分离:先用只读模式看偏差分布,再决定修复节奏与影响面
  • 修复保持幂等:同一份基线重复执行结果一致,避免每次都产生变更
  • 例外显式登记:必须不同的主机单独记录原因与负责人,避免被静默覆盖
  • 基线版本化:基线随系统镜像与合规要求一起管理,改动需评审
  • 结果可复检:修复后重新巡检一次,用前后对比证明偏差确实收敛
  • 变更留痕:自动化修复同样属于变更,需记录执行批次与影响主机

巡检优先的执行方式

巡检优先的执行方式
ansible-playbook -i inventory baseline.yml --check --diff -f 5   # 只读巡检,输出差异
ansible-playbook -i inventory baseline.yml --check | tee baseline-report-$(date +%F).log
ansible -i inventory all -m setup -a 'filter=ansible_ssh_host*'   # 收集基础事实用于比对
sshd -T | grep -Ei 'permitrootlogin|passwordauth' | head          # 抽样核对关键项
awk -F: '($2==""){print $1}' /etc/shadow                          # 核对无口令账号
ansible-playbook -i inventory baseline.yml --limit 'prod-web01'    # 单机先试修复
ansible-playbook -i inventory baseline.yml --check | grep -c 'changed'  # 修复后复检偏差数量

偏差类型与处置

偏差类型成因处置方式
配置被临时改宽应急操作后未恢复纳入修复并由修复覆盖
基线过时系统版本升级改变默认值先更新基线再批量修复
合理例外业务需要与其他主机不同显式登记例外并限定范围
误报检测项判断条件不准确修正检测逻辑而非放宽基线
新增主机未纳管上线流程未接入基线纳入上线检查项
批量修复的破坏性往往被低估:一条基线误判就会同时改动成百台主机的配置,其中可能包含登录方式与服务端口这类会立刻影响可用性的项。因此修复应先单机验证,再小批量,最后全量,并要求在改后可验证。
与登录、审计、防火墙相关的基线项改动会直接影响可达性。修复前保留可用会话与回滚方式,改后先验证服务与登录仍然正常,再继续推进剩余主机。

易错点

  • 巡检与修复混在一次执行:偏差不再可见,无法判断哪些主机是被修复的哪些本来合规
  • 修复不幂等:每次执行都产生变更,日志噪声掩盖真正的异常改动
  • 例外不登记:合理例外与真实偏差混在一起,最终整套基线被整体放宽
  • 基线长期不更新:升级后默认值变化产生大量偏差,修复反而引发故障
  • 修复后不复检:无法证明偏差已收敛,问题以另一种形式残留

数据来源与参考

  • CIS 基准:主机安全配置基线
  • NIST SP 800-53:配置管理控制项
  • Ansible 官方文档:check 模式与幂等性说明

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/security-baseline-automation-enforcement.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌​​​‌‌​‌‌‌​‌​‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​‌​​​‌‌‌‌​​‌​​‌​‌‌​‌​‌‌​​​‌​​‌‌​​​​‌​‌‌‌​​‌‌​‌‌​​‌​‌​‌‌​‌‌​​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​​‌​‌​‌‌​‌‌‌​​‌‌​​‌‌​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​‌‌​‌‌​​‌​‌​‌‌​‌‌​‌​‌‌​​‌​‌​‌‌​‌‌‌​​‌‌‌​‌​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​