等保2.0服务器合规配置指南:零基础也能照做的实操教程
为什么要做等保2.0服务器合规配置?
等保2.0(网络安全等级保护2.0)要求企业服务器必须满足一系列安全基线,否则无法通过测评,甚至面临监管处罚。
对运维新手来说,最头疼的是不知道从哪下手,害怕改错配置导致服务挂掉。
本文基于CentOS 7/8(AlmaLinux、Rocky Linux通用),用最直接的操作带你完成等保2.0服务器合规配置的关键项。
你只需要一台干净的Linux服务器和root权限,跟着命令走就行。
第一步:账户安全与密码策略配置
等保2.0要求密码长度≥8位,复杂度包含大小写字母、数字和特殊字符,且定期更换。
我们直接修改系统策略文件。
1. 修改密码老化规则
编辑 /etc/login.defs,找到这几行并改为:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_MIN_LEN 8
PASS_WARN_AGE 14
含义:密码最长使用90天,最短7天可更改,最少8位,提前14天告警。
2. 安装密码复杂度模块
安装 pam_pwquality 并启用:
yum install -y libpwquality
echo "password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=" >> /etc/pam.d/system-auth
echo "password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=" >> /etc/pam.d/password-auth
然后编辑 /etc/security/pwquality.conf,写入:
minlen = 8
minclass = 3
maxrepeat = 2
这样密码必须包含三种不同类型的字符,且不能有连续重复字符。
第二步:SSH远程访问加固
SSH是服务器远程管理的核心入口,也是被攻击的主要目标。
等保2.0要求禁止root直接登录、修改默认端口、使用密钥认证。
1. 创建普通管理用户并配置sudo
useradd admin
passwd admin
usermod -aG wheel admin
2. 配置SSH权限
编辑 /etc/ssh/sshd_config,修改以下内容:
Port 2222 # 避免默认22端口被扫描
PermitRootLogin no # 禁止root直接登录
PubkeyAuthentication yes # 开启密钥登录
PasswordAuthentication no # 关掉密码登录(等你配置好密钥后再做)
MaxAuthTries 3 # 最多尝试3次
ClientAliveInterval 300 # 空闲300秒踢出
ClientAliveCountMax 0
重要提示:在关闭密码登录前,请先在本地生成密钥对并上传公钥到 ~/.ssh/authorized_keys。
否则你会把自己锁在外面。
3. 重启SSH服务并验证
systemctl restart sshd
systemctl status sshd
再用新端口和普通用户登录测试,成功后再关闭密码登录。
第三步:日志审计与systemd-journald配置
等保2.0要求记录登录、操作、异常事件,日志保留至少6个月。
1. 调整日志存储策略
编辑 /etc/systemd/journald.conf,修改:
Storage=persistent
SystemMaxUse=2G
MaxRetentionSec=15552000 # 180天
然后重启服务:
mkdir -p /var/log/journal
systemctl restart systemd-journald
2. 检查关键日志是否生效
journalctl -u sshd --since "1 hour ago" | tail -20
journalctl -u chronyd | grep -i error
如果发现没有日志,检查 rsyslog 配置是否冲突。
第四步:防火墙规则与最小化开放端口
只保留业务必须的端口,其余全部封掉。
使用firewalld:
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --zone=public --remove-service=ssh --permanent
firewall-cmd --zone=public --add-port=2222/tcp --permanent # 你配置的SSH新端口
firewall-cmd --zone=public --add-port=80/tcp --permanent # HTTP
firewall-cmd --zone=public --add-port=443/tcp --permanent # HTTPS
firewall-cmd --reload
firewall-cmd --list-all
避坑:如果你在云服务商处还配了安全组,记得两边规则保持一致。
SSH端口改后,安全组也要放行新端口,否则连不上。
第五步:验证与常见问题排查
执行以下命令确认配置是否生效:
- 密码策略:
chage -l admin查看用户密码过期时间。 - SSH配置:
sshd -T | grep -E '(port|permitrootlogin|passwordauthentication)'查看当前生效值。 - 防火墙:
firewall-cmd --list-ports和firewall-cmd --list-services。 - 日志:
journalctl --verify检查日志完整性。
高频问题解答
Q:配置完SSH后无法连接?
A:先在当前会话中测试新端口 ssh -p 2222 admin@服务器IP。如果失败,回退到VNC或控制台恢复 /etc/ssh/sshd_config 原始设置。
Q:密码策略设置了,但是旧用户没变?
A:chage -l 用户名 查看,然后用 chage -M 90 用户名 手动设置。
Q:防火墙规则清空了,但服务还能连?
A:检查 firewalld 是否在运行,或者存在iptables直接规则。建议先 systemctl mask iptables 禁用传统防火墙。
结尾
以上步骤覆盖了等保2.0服务器合规配置指南中最核心的账户、SSH、日志、防火墙四大块。
对于零基础用户,最关键的是要胆大心细,每改一个配置都先留一个备用root终端,避免自己把自己踢出。
如果遇到报错,优先查看 /var/log/messages 或 journalctl -xe 获取详细信息。
按照本文操作后,你的服务器基本达到等保2.0第二级安全要求。
后续还可以补充文件完整性检查、入侵检测、数据库审计等,但先把基础扎稳,后续就轻松多了。