等保2.0合规配置实操:从基线检查到整改验证的完整流程
等保2.0合规配置不是装一个软件就能完成的,它本质上是把服务器上分散的安全设置按标准要求逐项对齐。
对零基础用户来说,最稳的做法是先按四大类要求梳理现状,再逐条修改配置,最后用命令验证并留存记录。
本文以常见的 Linux 服务器(CentOS 7/8、Ubuntu 20.04/22.04 环境差异不大)为例,讲清可落地的操作步骤。
先搞清楚你要对齐哪些要求
等保2.0把安全要求分成技术和管理两大部分,运维能直接动手的主要是技术部分中的主机安全。
对单台服务器来说,最常被检查的就是这四类:
- 身份鉴别:账号口令强度、登录失败锁定、远程管理加密。
- 访问控制:账号权限分配、默认账号处理、sudo 权限控制。
- 安全审计:系统日志、命令审计、日志留存时间。
- 入侵防范:最小服务原则、补丁更新、端口收敛。
开始前先确认三件事:
你有一台能登录的服务器、
有 root 或 sudo 权限、
并且已经做过快照或备份。修改 SSH 和认证相关配置前一定要保留一个已登录的会话,
避免配置写错后自己也被锁在外面。
身份鉴别与访问控制的配置步骤
第一步是处理账号。
先看有哪些可登录账号:
awk -F: '$7!="/sbin/nologin" && $7!="/bin/false" {print $1}' /etc/passwd
把不用的账号锁定或删除,比如默认的 games、ftp 等:
usermod -L games
第二步是口令策略。
编辑 /etc/security/pwquality.conf,设置最小长度和复杂度:
minlen = 8
minclass = 3
再配置登录失败锁定,编辑 /etc/pam.d/sshd 和 /etc/pam.d/system-auth,加入:
auth required pam_tally2.so deny=5 unlock_time=300
第三步是 SSH 加固。
编辑 /etc/ssh/sshd_config:
PermitRootLogin no
MaxAuthTries 5
ClientAliveInterval 300
ClientAliveCountMax 2
Protocol 2
改完执行 sshd -t 检查语法,
没有报错再 systemctl restart sshd。注意:PermitRootLogin no 之前,
必须先确认有一个普通账号可以 sudo 到 root。
安全审计与日志留存
等保要求审计记录不能被随意删除,并且要保留足够时间。
先确认 rsyslog 或 systemd-journald 正常运行:
systemctl status rsyslog
修改 /etc/rsyslog.conf 或 /etc/rsyslog.d/ 下的配置,确保关键日志落盘:
authpriv.* /var/log/secure
*.info;mail.none;authpriv.none /var/log/messages
日志轮转在 /etc/logrotate.d/syslog 中调整,把 rotate 值改大以延长留存周期。
如果需要命令级审计,可以用 auditd:
yum install audit -y
systemctl enable --now auditd
auditctl -w /etc/passwd -p wa -k passwd_change
把规则写入 /etc/audit/rules.d/audit.rules 才能开机生效。
入侵防范与端口收敛
先看当前监听端口:
ss -tulnp
逐个确认每个端口对应的服务是否必需。
关闭不需要的服务:
systemctl disable --now telnet.socket
防火墙只放行必要端口。
以 firewalld 为例:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
补丁更新建议制定周期任务,但生产环境不要直接 yum update 全量升级,应先看更新列表:
yum check-update
确认影响范围后再分批执行。
容易踩的坑
- 改 SSH 前不留后路:配置写错、端口改错、防火墙误封都会导致无法登录。改之前保留一个活跃会话,或确认控制台能进。
- 口令策略改完不验证:
pwquality和pam_tally2的配置要实际测试一次失败登录,确认锁定生效,而不是只看文件写没写。 - 审计规则只临时生效:
auditctl命令行添加的规则重启就没了,必须写进规则文件。 - 为了过检把服务全关:关掉业务依赖的服务会导致故障,收敛端口要结合业务实际,不是越少越好。
- 只改主机不管日志外发:本地日志被删除后无法追溯,条件允许时把关键日志同步到独立日志服务器。
改完怎么验证
每项配置改完都要有对应的检查命令,不能凭感觉认为已经合规:
- 账号口令:
chage -l 用户名查看口令有效期,实际触发一次失败登录看是否锁定。 - SSH:
sshd -T | grep -E 'permitrootlogin|maxauthtries'确认生效值。 - 防火墙:
firewall-cmd --list-all核对放行列表。 - 审计:
auditctl -l查看规则,ausearch -k passwd_change确认能查到记录。 - 端口:再次
ss -tulnp,与整改前对比确认多余端口已关闭。
建议把整改前后的检查结果都截图或导出文本留存,等保测评时这些记录本身就是证明材料。
常见疑问
等保2.0合规配置必须用专门的加固软件吗?
不是必须。手工按标准逐项配置同样可以满足要求,加固软件的价值在于批量执行和统一检查。单台或少量服务器手工做完全可行,重点是留好配置记录和验证结果。
CentOS 和 Ubuntu 的配置路径一样吗?
大部分一致,差异主要在包管理和部分文件路径。口令策略都在 /etc/security/pwquality.conf,SSH 都在 /etc/ssh/sshd_config;防火墙 CentOS 常用 firewalld,Ubuntu 常用 ufw,命令不同但思路相同。
改了配置会不会影响业务?
有可能。端口收敛、服务关闭、SSH 端口调整都可能影响现有连接。建议在业务低峰期操作,改前做快照,改后立即验证业务是否正常,异常时用快照回滚。
等保2.0合规配置的核心不是一次性配完,而是形成可检查、可追溯、可复现的流程。
先把身份鉴别和访问控制做扎实,再处理审计和端口收敛,每一步都留下验证记录,后续测评和复查会轻松很多。