适用场景

Linux 加固不是关几个服务就完事,核心是"账号能追责、操作有记录、暴露面最小、补丁跟进"。等保检查基本就是看这几项。

配置步骤(CentOS / Rocky 加固)

# 账号与口令
awk -F: '($3==0){print $1}' /etc/passwd
grep -E '^PASS_MAX_DAYS|^PASS_MIN_LEN' /etc/login.defs
# SSH 加固
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd
# 防火墙
firewall-cmd --permanent --add-port=22/tcp && firewall-cmd --reload
systemctl disable --now telnet.socket 2>/dev/null
# 审计与时间
systemctl enable --now auditd chronyd

关键参数与建议

  • 账号:禁用无用账号,禁止 root 直接远程,按人分配账号并 sudo 授权
  • SSH:改端口不是安全手段,禁 root 登录、禁空口令、限制来源更有效
  • 审计:开启 auditd 或至少保留命令历史(HISTTIMEFORMAT + 集中日志)
  • 防火墙:默认拒绝入站,只放通业务端口;管理端口限制来源
  • 补丁与时间:定期更新安全补丁,NTP 同步保证日志可用

容易踩的坑

  • 禁用 root 远程后忘记给运维账号 sudo,紧急时进不去
  • 只改端口不改认证方式,爆破依旧
  • 加固后未重启服务,配置未生效

验证与巡检

ss -lntp
lastb | head
ausearch -m USER_LOGIN -ts today | tail
  • 巡检:无多余监听端口、无异常登录、审计日志有记录

小结

加固后要能"证明":检查项逐条有输出、有截图、有台账。建议把检查脚本固化下来,每季度跑一次并归档结果。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。