Linux 安全加固自动化实践

1次阅读

linux安全加固可通过ansible批量执行、shell脚本轻量自动化、openscap合规扫描修复及systemd timer周期检查四路径实现。

Linux 安全加固自动化实践

在 Linux 系统部署后,若未及时实施基础安全配置,可能面临弱口令登录、未授权服务暴露、日志缺失等风险。以下是实现 Linux 安全加固自动化的具体操作路径:

一、使用 Ansible 批量执行加固任务

Ansible 无需目标主机安装客户端,通过 ssh 连接并以 YAML 描述状态,适合统一管理多台服务器的安全基线。其 Playbook 可固化 CIS Benchmark 中的检查项与修复动作。

1、在控制节点安装 ansible:执行 sudo apt install ansibledebian/ubuntu)或 sudo yum install ansible(RHEL/centos)。

2、创建 inventory 文件,列出待加固主机 IP 地址及 SSH 用户信息。

3、编写 playbook.yml,包含禁用 root 远程登录、设置密码复杂度策略、关闭非必要端口等任务模块。

4、运行 ansible-playbook -i inventory playbook.yml 启动批量加固流程。

二、基于 Shell 脚本实现轻量级自动化加固

Shell 脚本适用于单机快速响应场景,可封装常见加固动作为可重复调用的函数,配合定时任务定期执行。

1、创建脚本文件 secure_setup.sh,并添加执行权限:chmod +x secure_setup.sh

2、在脚本中写入修改 /etc/ssh/sshd_config 的逻辑:将 PermitRootLogin 设置为 no,PasswordAuthentication 设为 no。

3、调用 pam_pwquality.so 配置密码策略,向 /etc/pam.d/common-password 添加 password requisite pam_pwquality.so retry=3 minlen=10 difok=3

4、执行脚本:sudo ./secure_setup.sh

三、利用 OpenSCAP 进行合规性扫描与自动修复

OpenSCAP 提供对 SCAP 标准的支持,能依据 NIST SP 800-53 或 CIS Linux 检查清单进行评估,并通过 oscap-ssh 工具远程触发修复动作。

1、在目标主机安装 openscap-scanner:sudo apt install openscap-scanner

2、下载 CIS Ubuntu 20.04 Level 2 Benchmark 的 .xml 内容文件。

3、执行扫描并生成修复脚本:oscap xccdf eval –profile xccdf_org.cisecurity.benchmarks_profile_Level_2_Server –remediate –results results.xml –report report.html cis-benchmark.xml

4、运行生成的 remediation.sh:sudo bash remediation.sh

四、通过 systemd timer 实现周期性加固检查

systemd timer 可替代 cron,提供更精确的时间控制与依赖管理能力,用于定期验证关键加固项是否仍生效。

1、编写 check_hardening.service,定义 ExecStart 为检测 SSH 配置与用户密码过期策略的 shell 命令。

2、创建 check_hardening.timer,设置 OnCalendar=weekly,Persistent=true。

3、启用定时器:sudo systemctl daemon-reload && sudo systemctl enable –now check_hardening.timer

4、查看下次触发时间:sudo systemctl list-timers check_hardening.timer

text=ZqhQzanResources