等保三级自动化加固需“先验证、再执行、留退路”,推荐golin和刘子毅脚本集,执行前须确认环境、手动备份、保留root会话,重点关注ssh、pam、审计、账户、防火墙五项高危配置,执行后须验证登录锁定、审计记录和最小权限。

直接用自动化加固脚本部署等保级防护,核心是“先验证、再执行、留退路”。不是所有脚本都适配你的系统版本和业务场景,盲目运行可能引发SSH断连、服务不可用或审计日志丢失。关键在于选对工具、看清范围、控制节奏。
选一个真正覆盖等保三级要求的脚本
市面上多数脚本只做基础配置(比如改密码策略、关telnet),但等保三级明确要求身份鉴别、访问控制、安全审计、入侵防范四类能力必须闭环。推荐两个经过多环境验证的方案:
-
Golin:开源免费,内置完整等保三级核查命令集,支持CentOS/RHEL/Ubuntu/Windows,能自动识别系统类型、执行基线检查、生成HTML+Excel双格式报告。特别适合现场测评前自检,命令一行启动:
./golin --target 192.168.1.100 --module config-check --os linux - 刘子毅等保脚本集:针对CentOS 7/8/Stream、银河麒麟V10、统信UOS做了深度适配,含自动备份、错误拦截、ARM/x86双架构支持。执行前会检测当前登录会话是否为SSH,并提示“请勿关闭此终端”,避免锁死风险。
执行前必须做的三件事
跳过这步,90%的失败源于准备不足:
-
确认系统环境:运行
cat /etc/os-release核对ID和VERSION字段,与脚本声明的支持列表严格匹配。例如Ubuntu 22.04需用专版脚本,不能套用Ubuntu 20.04版本 -
手动备份核心配置:至少备份
/etc/ssh/sshd_config、/etc/pam.d/system-auth、/etc/login.defs、/etc/audit/rules.d/目录。命令示例:tar -czf /root/pre-equal-bak-$(date +%F).tar.gz /etc/ssh/sshd_config /etc/pam.d/system-auth /etc/login.defs /etc/audit/rules.d/ -
保留一个未中断的root会话:不要在执行脚本的同一终端中退出或重启sshd。新开一个终端,执行后立即测试
ssh -o PubkeyAuthentication=yes user@localhost,确认可用再关闭原窗口
重点关注脚本修改的五个高危项
这些操作一旦出错直接影响远程管理,必须逐项确认:
-
SSH配置变更:是否禁用了
PermitRootLogin yes、是否强制PubkeyAuthentication yes、是否设置了LoginGraceTime 60和MaxAuthTries 3 -
PAM密码策略:检查
/etc/pam.d/system-auth是否新增了minlen=8 ucredit=-2 lcredit=-1 dcredit=-4 ocredit=-1 difok=3,且未与其他模块冲突 -
审计规则加载:运行
auditctl -l | grep -E "(user|login|sudo|chmod)",确认关键事件已监听;检查/etc/audit/rules.d/10-equal.rules是否被正确写入并生效 -
账户与权限清理:脚本是否停用了
ftp、sync、games等默认账户(非删除),是否将wheel组限制为仅授权管理员 - 防火墙策略收紧:是否将INPUT默认策略设为DROP,且仅放行业务必需端口(如22、443)及指定管理IP段,而非简单允许全部内网
执行后必须验证的三项结果
脚本跑完不等于合规达成,要人工交叉验证:
-
登录失败锁定是否生效:用错误密码连续登录3次,再用正确密码尝试——应被拒绝,等待
faillock --user xxx显示解锁时间 -
审计日志是否持续记录:执行
sudo su -c 'echo test' && sudo systemctl restart sshd,然后查ausearch -m USER_CMD,SYSCALL -ts recent | head -5,确认有对应记录 -
最小权限是否落地:新建普通用户
testusr,切换后执行sudo -l,输出应为空或仅限明确授权的命令(如/bin/systemctl restart nginx),不能出现(ALL) ALL











