Linux账户安全体系由认证、授权、审计三层构成闭环:PAM统一身份认证,sudo实现最小权限授权,auditd与TTY审计协同记录行为痕迹,确保可追溯、可管控、可追责。
Linux 账户认证与审计系统不是两个孤立环节,而是“谁登录了 → 能做什么 → 做了什么”的完整闭环。认证(Authentication)确认身份,授权(Authorization)划定权限边界,审计(Accounting/Audit)则忠实记录行为痕迹。三者协同,才能实现可追溯、可管控、可追责的安全管理。
一、认证层:用 PAM 统一身份入口
PAM(Pluggable Authentication Modules)是 Linux 认证的中枢,它把认证逻辑从应用中解耦出来,让 SSH、sudo、login 等服务共享同一套策略。
- 核心配置在 /etc/pam.d/ 目录下,每个服务(如 sshd、su、sudo)对应一个独立配置文件;不建议直接修改全局 /etc/pam.conf
- 常见加固实践包括:
— 强制密码复杂度(加载 pam_pwquality.so)
— 限制连续失败次数并锁定账户(pam_faillock.so)
— 记录登录事件到 syslog(pam_syslog.so 或 pam_tty_audit.so)
- 例如,在 /etc/pam.d/sshd 中添加一行,启用会话级命令审计:
session required pam_tty_audit.so enable=* log_passwd
二、授权层:最小权限 + sudo 精细控制
认证通过后,用户获得的权限必须严格受限。root 全权访问是最大风险源,应通过 sudo 和组策略实现分级授权。
- 创建专用运维组(如 ops),把人员加入该组:
groupadd ops && usermod -aG ops alice
- 编辑 /etc/sudoers(务必用 visudo):
— 允许 ops 组仅执行指定命令,且无需密码:
%ops ALL=(ALL) NOPASSWD: /usr/bin/systemctl status *, /usr/bin/journalctl -u *, /bin/cat /var/log/audit/audit.log
— 禁止危险操作:
%ops ALL=(ALL) !/usr/bin/passwd root, !/usr/sbin/userdel *, !/bin/bash
- 避免直接给用户赋予 shell 权限,对审计账号(如 auditor)可设为 /sbin/nologin,仅开放日志查看能力
三、审计层:auditd + 日志归集双轨并行
auditd 是内核级审计框架,比 shell 历史或 syslog 更可靠、不可绕过,适合记录关键动作。
- 启用服务:
systemctl enable --now auditd
- 持久化规则写入 /etc/audit/rules.d/audit.rules(重启生效):
-w /etc/passwd -p wa -k identity_change
-w /etc/shadow -p wa -k credential_change
-a always,exit -F arch=b64 -S execve -k command_exec
-a always,exit -F arch=b64 -S setuid,setgid -k privilege_change
- 验证规则是否加载:
auditctl -l 查看当前规则
ausearch -k identity_change | aureport -i -f 快速检索相关事件
- 日志默认存于 /var/log/audit/audit.log,建议配合 rsyslog 或 journalbeat 推送至 ELK/SIEM 平台,避免本地篡改
四、行为留痕补充:TTY 审计与命令日志增强
auditd 擅长系统调用级监控,但对交互式命令内容(如 vim /etc/nginx/conf.d/default.conf)需额外增强。
- 启用 TTY 审计(依赖 pam_tty_audit.so)后,可用 aureport -m -i 查看某次登录会话中的全部键入命令
- 对高敏账号(如 root 或审计账号),可在其 ~/.bashrc 中追加:
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]+[ ]*//") [$RETRN_VAL]"'
将每条命令及返回值发往 rsyslog 的 local6 设施,再统一收集
- 注意:此方式依赖 shell,不如 auditd 可靠,宜作为补充而非替代