Linux 服务器安全加固清单:账号、权限、日志逐项配置 核心要点图解,账号加固:禁用无用账户、设置强密码策略、限制root登录。;权限控制:遵循最小权限原则,严格配置文件与目录访问。;日志审计:启用syslog并集中管理,定期审查异常事件。;定期检查:使用工具自动化检查,保持安全基线持续有效。
Linux 服务器安全加固清单:账号、权限、日志逐项配置 · 核心要点一图读懂(AegisX)

核心要点(TL;DR)

  • 账号加固:禁用无用账户、设置强密码策略、限制root登录。
  • 权限控制:遵循最小权限原则,严格配置文件与目录访问。
  • 日志审计:启用syslog并集中管理,定期审查异常事件。
  • 定期检查:使用工具自动化检查,保持安全基线持续有效。

痛点引入:你的Linux服务器真的安全吗?

许多运维人员认为Linux天生安全,但默认配置往往存在账号冗余、权限过宽、日志缺失等问题,成为攻击者的突破口。本文提供一份可落地的安全加固清单,从账号、权限、日志三个维度逐项配置,帮你快速提升服务器安全基线。

账号安全加固:清理与管控

1. 清理无用账户

检查系统账户,锁定或删除非必要账户。使用命令:

awk -F: '( >= 1000) {print }' /etc/passwd  # 列出普通用户
awk -F: '( == 0) {print }' /etc/passwd     # 检查UID为0的账户

对于不需要登录的账户,将其shell设为/sbin/nologin:

usermod -s /sbin/nologin username

2. 密码策略强化

编辑/etc/login.defs,设置密码有效期:

PASS_MAX_DAYS   90
PASS_MIN_DAYS   7
PASS_WARN_AGE   14

使用pam_pwquality模块设置复杂度,在/etc/pam.d/system-auth(CentOS)或/etc/pam.d/common-password(Debian)中添加:

password requisite pam_pwquality.so try_first_pass retry=3 minlen=12 difok=3

3. 限制root远程登录

编辑/etc/ssh/sshd_config,设置:

PermitRootLogin no
AllowUsers user1 user2  # 仅允许特定用户登录

重启sshd服务:systemctl restart sshd。

权限控制:最小权限原则

1. 关键文件权限

确保敏感文件权限正确:

文件推荐权限说明
/etc/passwd644所有用户可读,仅root可写
/etc/shadow600仅root可读写
/etc/ssh/sshd_config600仅root可读写

使用命令检查并修复:

chmod 644 /etc/passwd
chmod 600 /etc/shadow
chmod 600 /etc/ssh/sshd_config

2. 目录权限与SUID/SGID

避免目录全局可写,使用find / -type d -perm -o+w查找并修复。检查SUID/SGID文件:

find / -perm -4000 -o -perm -2000 -type f -exec ls -l {} \;

移除不必要的SUID权限:chmod u-s /path/to/file。

日志审计:记录与监控

1. 启用并配置syslog

确保rsyslog服务运行:systemctl status rsyslog。编辑/etc/rsyslog.conf,将日志转发到远程服务器:

*.* @logserver:514

重启服务:systemctl restart rsyslog。

2. 关键日志文件监控

使用logwatch或自定义脚本每日分析日志。检查/var/log/secure(认证日志)中的失败登录:

grep 'Failed password' /var/log/secure | awk '{print }' | sort | uniq -c | sort -nr

配置auditd监控关键文件访问:

auditctl -w /etc/passwd -p wa -k passwd_change

检查清单与持续维护

类别检查项命令/操作
账号UID为0的账户仅rootawk -F: '( == 0) {print }' /etc/passwd
账号密码策略已设置检查/etc/login.defs和pam配置
权限关键文件权限正确ls -l /etc/passwd /etc/shadow
日志rsyslog运行且转发systemctl status rsyslog

建议每月执行一次全面检查,并考虑使用自动化工具如AegisX进行持续监控与告警,其主机安全模块可实时检测异常账号与权限变动,简化运维工作。

行动建议

立即按照上述清单逐项配置,重点关注账号清理、SSH加固和日志集中管理。完成基础加固后,定期复查并更新策略,以应对不断变化的安全威胁。

常见问题(FAQ)

如何检查Linux服务器上是否存在可疑账号?

检查/etc/passwd和/etc/shadow文件中是否有异常账户,重点关注UID为0的非root账户、无密码账户以及近期新增的账户。使用命令`awk -F: '( == 0) {print }' /etc/passwd`可列出所有UID为0的账户,确保只有root。

为什么需要限制root远程登录?如何配置?

限制root远程登录可降低暴力破解风险。编辑/etc/ssh/sshd_config,设置`PermitRootLogin no`,然后重启sshd服务。建议使用普通用户登录后通过sudo提权,并配置SSH密钥认证。

Linux日志文件通常存放在哪里?如何集中管理?

常见日志位于/var/log目录,如secure、messages、auth.log等。可通过rsyslog或syslog-ng将日志转发到远程日志服务器,避免本地日志被篡改。配置示例:在/etc/rsyslog.conf中添加`*.* @logserver:514`。

如何设置密码策略以提高安全性?

使用pam_cracklib或pam_pwquality模块设置密码复杂度,编辑/etc/pam.d/system-auth或/etc/pam.d/common-password,添加`password requisite pam_pwquality.so try_first_pass retry=3 minlen=12 difok=3`。同时设置密码有效期,修改/etc/login.defs中的PASS_MAX_DAYS等参数。

文件权限设置有哪些最佳实践?

遵循最小权限原则:敏感文件如/etc/passwd权限设为644,/etc/shadow设为600;目录权限通常755,避免777。使用chmod和chown严格设置,并定期使用`find / -perm -o+w`检查全局可写文件。