CentOS 服务器安全基线检查如何写

作者:袖梨 2026-08-12

CentOS服务器安全基线检查是围绕等保2.0四大技术维度执行的可验证操作流程:账号管理查空口令、UID重复、共享账号及无用账户锁定;SSH加固禁root远程、强密钥认证、失败限制与空闲超时;口令策略设最小长度12、多字符类型及90天有效期;日志审计启用auditd、监控关键文件、配置远程留存与6个月保留周期。

CentOS 服务器安全基线检查不是写一份“文档”,而是执行一套可验证、可复现、有依据的操作流程。核心是围绕等保2.0(GB/T 22239-2019)和行业实践,聚焦身份鉴别、访问控制、安全审计、入侵防范四大技术维度,用命令+人工确认+配置修正闭环完成。

下面直接给出实用、可落地的检查结构和关键项,不堆概念,只列要查什么、怎么查、怎么改:

账号与权限管理检查

• 查空口令账户:awk -F: '$2 == "" {print $1}' /etc/shadow —— 输出非空则需立即设密码或禁用

• 查重复UID:cut -d: -f3 /etc/passwd | sort -n | uniq -d —— 有输出说明存在UID冲突,必须清理多余root级账户

• 查共享账号:cat /etc/passwd | awk -F: '{print $1}' 结合业务台账比对,确认每个账号归属唯一责任人

• 锁定无用系统账户:如 lp, sync, shutdown, halt 等,执行 passwd -l username 或改其 shell 为 /sbin/nologin

SSH远程访问加固检查

• 禁用root远程登录:检查 /etc/ssh/sshd_configPermitRootLogin no 是否生效(改后需 systemctl restart sshd

• 强制使用密钥认证:确认 PasswordAuthentication noPubkeyAuthentication yes 已启用

• 设置登录失败限制:检查 MaxAuthTries 3LoginGraceTime 60 是否配置

• 启用空闲超时:确认 ClientAliveInterval 600ClientAliveCountMax 2 已写入并生效

口令策略与生命周期检查

• 密码最小长度与复杂度:检查 /etc/security/pwquality.confminlen = 12dcredit = -1ucredit = -1lcredit = -1ocredit = -1

• 密码有效期:检查 /etc/login.defsPASS_MAX_DAYS 90PASS_MIN_DAYS 7PASS_WARN_AGE 7

• 防止密码重用:确认 remember = 5(即禁止重用最近5次密码)已在 pwquality.conf 中设置

日志与审计机制检查

• 审计服务是否启用:systemctl is-active auditd 返回 active,且 auditctl -s | grep "enabled" 显示 enabled: 1

• 关键文件监控是否配置:auditctl -l | grep "/etc/passwd|/etc/shadow|/etc/sudoers" —— 应有对应 -w 规则

• 日志是否远程留存:检查 /etc/rsyslog.conf 是否含类似 *.* @@10.0.1.100:514 的远程转发配置

• 日志保留周期:ls -lt /var/log/secure* | head -n 10 看最旧日志是否超6个月;同时检查 logrotate 配置中 rotate 180 是否生效

不复杂但容易忽略。每项检查都应有“预期结果”和“不符合时的修复命令”,建议用脚本批量初筛(如Lynis或OpenSCAP),再人工复核高风险项。真正有效的基线检查,是让每一次登录、每一次提权、每一次配置变更,都在可控、可溯、可审计的轨道上。

相关文章

精彩推荐