需区分Windows和Linux配置服务器账户认证事件审计:Windows启用Kerberos/其他账户登录、特权使用、账户管理的成败审核,并配置AD FS注册表;Linux用auditd监控/etc/passwd等凭证文件及execve、connect等系统调用,规则持久化至15-auth.rules;同时调大日志容量并验证ID 4771或ausearch生效。

要配置服务器账户认证事件审计规则,需区分 Windows 和 Linux 两大平台,核心目标是捕获“谁、何时、以何种方式尝试验证身份”的完整行为链,包括登录、票据请求、密码变更、提权等关键动作。配置不当会导致日志缺失或性能过载,因此需按场景精准启用。
Windows:启用账户登录与特权使用审核
账户认证在 Windows 中主要体现为 Kerberos/NTLM 身份验证、交互式/远程登录、服务启动凭据使用等,不能只依赖“审核登录事件”:
- 打开组策略编辑器(gpedit.msc 或域环境用 GPMC),定位到:
计算机配置 → 安全设置 → 高级审核策略配置 → 系统审核策略 → 账户登录 - 启用以下两项并勾选成功和失败:
- Kerberos 身份验证(覆盖域内绝大多数登录)
- 其他账户登录事件(覆盖 NTLM、本地账户、服务账户等)
- 同步启用:
特权使用 → 成功/失败(记录 RunAs、提权、密码重置等高危操作)
账户管理 → 成功/失败(捕获用户创建、禁用、组成员变更) - 若部署了 AD FS 或 Microsoft Entra Connect,还需手动配置其服务器上的 NTLM 审核注册表项(如
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Audit\AuditLevel设为0x2)
Linux:用 auditd 监控认证相关文件与系统调用
Linux 认证行为分散在 PAM 模块、SSH 服务、shadow 文件、密钥文件等处,需组合监控:
- 监控敏感凭证文件的访问与修改:
sudo auditctl -w /etc/passwd -p wa -k auth_passwdsudo auditctl -w /etc/shadow -p rwxa -k auth_shadowsudo auditctl -w /etc/group -p wa -k auth_groupsudo auditctl -w /etc/ssh/sshd_config -p wa -k sshd_auth - 捕获认证过程中的关键系统调用:
sudo auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k sudo_authsudo auditctl -a always,exit -F arch=b64 -S connect -F auid!=4294967295 -k auth_network(记录非内核用户的网络连接尝试,含 SSH 连接) - 所有临时规则验证无误后,写入持久化配置:
新建/etc/audit/rules.d/15-auth.rules,填入上述规则语句,再执行sudo augenrules --load
通用要点:确保日志可用且可查
规则配置只是第一步,必须保障日志能落地、不被覆盖、便于溯源:
-
调整日志容量:Windows 中通过
compmgmt.msc→ “事件查看器” → 右键“安全”日志 → 属性 → 设置日志大小 ≥1GB;Linux 中修改/etc/audit/auditd.conf的max_log_file(如 100MB)和num_logs(如 10) -
验证是否生效:Windows 下故意输错域账号密码,检查“安全”日志中是否出现 ID 4771(Kerberos 预身份验证失败);Linux 下执行
sudo ausearch -m avc -ts recent或ausearch -k auth_shadow查看匹配记录 -
避免过度审计:不建议全局监控
/bin或/usr/bin,仅聚焦认证链涉及路径;Windows 中禁用“审核进程跟踪”等非必要高级策略,防止日志爆炸

















