首页/安全/取证与溯源速查/faillock 失败锁定记录
Linux 取证135 条

faillock 失败锁定记录

pam_faillock 记录连续失败次数并在达到阈值后锁定账号,faillock 命令可查看与重置;记录能反映针对具体账号的口令测试。

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

faillock 记录了什么

faillock 是 PAM 失败计数模块的命令行工具,pam_faillock 在连续认证失败达到阈值后锁定账号一段时间。它记录的是「哪个来源、在什么时间、以什么方式失败了几次」,因此能反映针对具体账号的口令测试行为:短时间内大量失败后突然出现成功登录,通常意味着口令被猜中或撞库成功。记录保存在 tally 目录中,重启或超过时间窗后可能被清空,取证阶段应尽早导出。

基本信息

命令faillock、faillock --user <账号>、faillock --reset
配置/etc/security/faillock.conf(deny、unlock_time、fail_interval)
PAM 配置pam_faillock 出现在 /etc/pam.d/ 的 auth 与 account 阶段
记录位置/var/run/faillock/ 或 /var/log/faillock/ 下的 tally 文件

典型使用场景

  • 判断某账号是否被反复尝试登录并触发锁定
  • 把失败次数的时间分布与攻击来源对齐
  • 确认锁定策略的实际阈值与解锁时间,评估口令暴力破解的成功率
  • 核对审计工单:管理员正常输错口令与异常测试的差别
  • 取证完成后按流程重置计数,避免影响业务登录

查看与核对

查看与核对
faillock --user alice            # 查看指定账号的失败记录与当前锁定状态
faillock                         # 列出所有存在失败记录的账号
ls -l /var/run/faillock/ 2>/dev/null   # 查看 tally 文件时间,判断记录新鲜度
grep -Rn 'pam_faillock' /etc/pam.d/ | head -10   # 确认模块挂在哪些服务上
grep -E '^(deny|unlock_time|fail_interval)' /etc/security/faillock.conf 2>/dev/null   # 查看策略参数

faillock 输出读法

列含义判读要点
When失败发生的时刻密集失败的时间段是攻击窗口
TypeV 表示有效登录,F 表示失败F 与 V 交替说明试错过程
Source来源地址或终端同一来源攻击多个账号即为扫描行为
Valid锁定状态与剩余时间决定是否仍在被锁定
并非所有发行版默认启用 pam_faillock,很多系统实际使用 pam_tally2;记录为空时要先确认模块与 PAM 配置,再判断是否真的没有失败尝试。
faillock --reset 会清除失败计数,取证阶段不要提前执行,否则锁定过程这一关键证据被自己抹掉。
多台主机共用同一账号时,可把各主机的失败记录按来源地址汇总:同一来源在短时间内对多台主机尝试登录,说明对方已经掌握主机清单,属于集中扫描而不是单点误操作。

易错点

  • 默认未启用模块却按「没有失败记录」下结论,方向直接跑偏
  • 取证中执行 --reset 清空计数,锁定证据永久丢失
  • 只看失败次数不看来源分布,无法区分误操作与集中攻击
  • tally 文件在重启后清空,未及时导出导致记录缺失

数据来源与参考

  • Linux-PAM 文档(pam_faillock 与 faillock)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌