首页/安全/取证与溯源速查/PAM 配置改动识别
Linux 取证135 条

PAM 配置改动识别

PAM 是 Linux 认证中枢,/etc/pam.d/ 下的模块链被插入 pam_exec 或改动 pam_unix 参数,可能形成隐蔽的认证后门或口令窃取。

取证与溯源速查安全更新于 2026-10-13

PAM 配置改动识别

PAM 是 Linux 的认证中枢,/etc/pam.d/ 下每个服务一个配置文件,用模块链描述认证、账号、会话、口令四类检查。攻击者在这里插入 pam_exec 调用或放宽 pam_unix 的参数,就能得到隐蔽的认证后门或口令记录点,而且不替换任何可执行文件,常规的文件完整性检查很难发现。

基本信息

目录/etc/pam.d/(服务配置)与 /etc/security/(模块参数)
四类模块auth、account、session、password
常见异常出现 pam_exec、pam_permit、pam_rootok 的非标准组合
核查方式与同发行版基线文件逐行比对,结合文件时间判断改动点
固有风险配置写错会导致全系统无法登录

典型使用场景

  • 排查隐藏的认证后门,例如登录时调用外部脚本
  • 定位口令记录点,确认是否存在窃取凭据的模块
  • 核对 sshd、sudo、login 等关键服务是否被放宽限制
  • 与完整性检查结果结合,解释文件未被替换却仍然失陷的原因
  • 核查后与基线比对,确认系统认证策略已恢复正常

核查配置

核查配置
ls -l --time-style=long-iso /etc/pam.d/ | head -20         # 看改动时间的分布
grep -Rn 'pam_exec\|pam_permit\|pam_rootok' /etc/pam.d/    # 找非标准模块调用
diff -u /etc/pam.d/sshd /baseline/pam.d/sshd              # 与同版本基线逐行比对
ls -l --time-style=long-iso /etc/security/ | head         # 模块参数文件的改动时间
stat -c '%y %n' /etc/pam.d/sshd                           # 关键文件的精确时间

四类模块与关注点

类型作用核查关注
auth验证身份是否插入额外脚本或允许跳过口令校验
account判断账号是否可用是否放宽过期与锁定策略
password口令修改规则是否被改成弱策略或记录明文
session会话建立前后的动作是否借会话钩子执行外部程序
PAM 改动通常不伴随文件替换,完整性检查会显示一切正常。排查认证类后门时,把 /etc/pam.d 与 /etc/security 下的配置文件单独列为一个检查面,与哈希类检查并行做。若系统接入了集中认证(如 LDAP 或 SSSD),配置里还会出现远程模块调用,核查时先分清本地策略与集中策略各自的职责边界,再判断哪些改动真正扩大了登录入口。
PAM 配置写错可能导致全系统无法登录,核查阶段坚持只读:不修改、不重写文件,需要对比时用副本或把输出重定向到证据目录,任何改动都先在测试环境验证。

易错点

  • 只做文件完整性检查,遗漏纯配置类认证后门
  • 凭关键词命中就判定后门,未与发行版基线文件逐行比对
  • 核查时直接编辑 PAM 文件,导致系统无法登录
  • 只看 /etc/pam.d 不看 /etc/security 下的模块参数文件

数据来源与参考

  • Linux-PAM 官方文档(pam.d 与 pam_exec)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌