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