等保三级SSH合规核心是控入口、限权限、可审计、能告警:禁用root远程登录与密码认证,强制SSHv2及强加密算法;通过AllowUsers、TCP Wrappers限制访问源;配置Fail2ban与180天日志留存;结合专用账号、sudo白名单和空口令清理实现最小权限。

要让 Linux 系统的 SSH 服务通过等保三级合规检查,核心不是“加功能”,而是“控入口、限权限、可审计、能告警”。等保要求聚焦在身份鉴别、访问控制、安全审计和入侵防范四个维度,SSH 作为最常被攻击的远程入口,必须逐项对齐。以下为直接落地的关键项:
禁用 root 远程登录与弱认证方式
等保明确要求“禁止以 root 身份远程登录”“应采用两种及以上组合鉴别技术”。实际操作中需同时满足:
- 修改 /etc/ssh/sshd_config:设 PermitRootLogin no、PasswordAuthentication no、PubkeyAuthentication yes
- 确保只启用 SSHv2 协议:Protocol 2(禁用 SSHv1)
- 禁用不安全的密钥交换与加密算法,例如添加:
KexAlgorithms curve25519-sha256@libssh.org
Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
MACs hmac-sha2-512-etm@openssh.com - 重启服务后验证:sshd -t && systemctl restart sshd,再用非 root 用户+密钥登录测试
精细化访问控制与会话管理
等保要求“限制登录用户、来源 IP 和登录失败行为”,不能仅靠防火墙粗放拦截:
- 用 AllowUsers 明确指定可登录账户(如 AllowUsers opsadmin@192.168.1.* admin@10.0.5.0/24),避免用 DenyUsers 反向排除
- 启用 TCP Wrappers:在 /etc/hosts.allow 中写入 sshd: 192.168.1.0/24, 2001:db8::/64,/etc/hosts.deny 写 sshd: ALL
- 设置登录超时与失败锁定:
ClientAliveInterval 300(5 分钟无操作断连)
MaxAuthTries 3(单次连接最多试 3 次)
MaxStartups 5:30:10(防连接洪泛)
日志审计与异常响应闭环
等保三级强制要求“关键日志留存不少于 180 天”“具备入侵行为识别与响应能力”:
- 确认 SSH 日志输出到 /var/log/secure(RHEL/CentOS)或 /var/log/auth.log(Debian/Ubuntu),且 rsyslog 配置未丢日志
- 部署 Fail2ban 并启用 sshd jail:
配置 maxretry = 3、bantime = 86400(封 24 小时)、findtime = 3600(1 小时窗口) - 将日志集中转发至 SIEM 或专用日志服务器,确保本地不可篡改;定期用 lastb -a | head -20 检查爆破痕迹
- 对成功登录事件(Accepted publickey / password)做基线分析——若出现非常用 IP、非工作时间、root 登录(即使被禁用也需排查是否绕过),立即触发告警
配套加固与验证要点
SSH 合规不是孤立配置,需与系统层策略协同生效:
- 创建专用运维账户(如 opsadmin),用 useradd -m -s /bin/bash opsadmin,并为其配置强密码或密钥,禁止共享账号
- 通过 sudoers 实现最小权限:用 visudo 添加 opsadmin ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx 类白名单命令,禁用 ALL 权限
- 检查并清理空口令账号:awk -F: '($2=="")' /etc/shadow,发现即用 passwd 强制设密
- 最终验证:用等保测评工具(如等保自检脚本)扫描,确认无 “PermitRootLogin yes”、“PasswordAuthentication yes”、“SSH weak cipher” 等高风险项


















