# 等保 2.0 主机层基线检查 ## 场景 要过等保测评,或者做内部安全基线检查,需要一套能直接执行的检查命令。 ## 前置条件 - 明确测评等级(二级 / 三级) - 有一台能登所有主机的跳板机 - 改动前做好快照或备份 ## 配置 ### 身份鉴别 ```bash # 口令复杂度 grep -E "pam_pwquality|pam_cracklib" /etc/pam.d/system-auth # 口令有效期 grep -E "PASS_MAX_DAYS|PASS_MIN_LEN" /etc/login.defs # 登录失败锁定 grep pam_tally2 /etc/pam.d/system-auth ``` ### 访问控制 ```bash # 是否有空口令账户 awk -F: '($2==""){print $1}' /etc/shadow # UID 为 0 的账户 awk -F: '($3==0){print $1}' /etc/passwd # 默认账户 cat /etc/passwd | grep -E "adm|lp|sync|shutdown|halt" ``` ### 安全审计 ```bash systemctl status auditd auditctl -l # 日志保留 grep -E "max_log_file|num_logs|space_left_action" /etc/audit/auditd.conf ``` ### 入侵防范 ```bash # 不必要的服务 systemctl list-unit-files --state=enabled ss -lntp # 补丁 dnf check-update | head ``` ## 验证 每条检查都留证据:命令输出、截图、配置文件备份,测评时要看。 ## 回滚 改动前: ```bash cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak cp /etc/login.defs /etc/login.defs.bak ``` ## 坑 - **改 PAM 配置把自己锁在外面**,一定要留一个已登录会话。 - 口令复杂度设太狠,业务账号批量改密码,影响面很大。 - 审计日志占满磁盘导致系统异常,`max_log_file` 和保留数要算好。 - 测评前临时改配置、测评后又改回去,下次复查会露馅。 - 默认账户不能直接删(有些服务依赖),要禁用而不是删除。 - 不同发行版的配置文件路径和参数名不一样,别照抄。