大中型企业Linux安全基线落地关键在于可适配、可验证、可治理:按发行版(如rhel-8.yml)和业务角色(如mysql-host.yml)分层建模,每条任务标注合规依据;加固后必接assert验证,支持--tags=check巡检;执行禁用root直连,敏感变量加密存vault.yml,全量操作留痕审计;嵌入CI/CD与ansible-pull实现持续验证与自动工单闭环。

大中型企业部署统一的Linux安全基线模板,关键不在“统一”本身,而在“可适配、可验证、可治理”。真正落地的基线不是一份静态文档,而是一套能随系统版本、业务角色、合规要求动态演进的自动化能力。
按发行版与业务角色分层建模
一刀切的基线必然失败。CentOS 7 和 Rocky Linux 9 的 PAM 配置路径、systemd 单元默认行为、auditd 规则语法都不同;核心数据库服务器和边缘日志采集节点的安全强度也应有差异。
- 用 roles/hardening/vars/ 下目录结构区分系统:如
rhel-8.yml、ubuntu-22.04.yml、mysql-host.yml - 通过
group_vars绑定主机角色:将 DB 主机加入mysql_servers组,自动加载密码策略强化+审计日志扩展规则 - 每条任务加注释标明合规依据,例如:
# [等保2.0 8.1.2.3] 禁用 telnet-server(T0级资产强制)
加固必须带验证闭环,不验等于没做
Ansible 执行完配置不等于安全达标。很多企业只跑 playbooks,却从不校验结果是否生效——比如改了 /etc/ssh/sshd_config,但忘了 reload sshd 或检查实际监听状态。
- 每个加固 task 后紧跟
assert或自定义 check 模块:验证PermitRootLogin no是否真实写入且生效(用sshd -t测试语法 +systemctl is-active sshd) - 支持
--tags=check独立运行验证模式,用于日常巡检或变更前基线快照比对 - 用
stat模块记录关键文件哈希(如/etc/shadow、/boot/grub2/grub.cfg),发现配置漂移立即告警
执行过程必须最小权限+强审计
基线工具自身不能成为风险点。用 root 直连、明文存密钥、无操作留痕,会让整个加固体系失去可信基础。
- 禁用
remote_user: root,全部使用普通运维账号 +become: yes,并在sudoers中精确限制命令白名单(如仅允许/bin/systemctl restart sshd和/usr/bin/chmod 600 /etc/ssh/sshd_config) - 敏感参数(如审计日志转发地址、密钥轮换周期)统一存于
vault.yml,加密后纳入 Git 管控 - 所有 playbook 运行自动记录到 ELK 或本地
/var/log/ansible/,包含时间、操作人、目标主机、变更摘要、退出码
对接持续治理流程,避免一次加固终身失效
服务器上线只是起点,配置会随补丁、应用更新、人为误操作发生偏移。基线必须嵌入运维生命周期。
- 在 CI/CD 流水线中加入基线扫描环节:新镜像构建后自动调用 Lynis 或 OpenSCAP 扫描,不达标则阻断发布
- 用
ansible-pull+ cron 在每台主机上每日拉取最新基线并执行--start-at-task="verify",生成 JSON 报告推送到 CMDB - 对 T0/T1 级资产启用“加固+验证+报告”三步自动工单:失败项触发 Jira 工单,自动分配给所属系统负责人并设置 SLA


















