windows域环境下身份认证安全核心是禁用ntlmv1/lm、smbv1及ldap明文传输,强制kerberos aes加密、启用预认证与票据时效控制,并通过smb签名、rbcd、credential guard阻断中继与凭证转储。
windows 域环境下身份认证协议的安全性,核心在于限制弱协议、禁用明文传输、强制使用强加密通道,并确保凭证不被中继或离线破解。重点不是“加功能”,而是“砍风险”——尤其要堵住 ntlmv1、lm、smbv1、ldap 未加密等历史遗留漏洞。
禁用不安全的身份认证协议
NTLMv1 和 LM 协议极易被离线爆破和中继攻击,必须彻底禁用;NTLMv2 虽可保留,但需配合签名与会话保护。操作路径如下:
- 通过组策略(GPO)配置:计算机配置 → 策略 → Windows 设置 → 安全设置 → 本地策略 → 安全选项 → “网络安全:LAN Manager 身份验证级别”,设为“仅发送 NTLMv2 响应”或更高(推荐“发送 NTLMv2 响应,拒绝 LM & NTLM”)
- 禁用 SMBv1(含 NTLM over SMB):PowerShell 执行 Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol -NoRestart,并确认服务已停用(Get-SmbServerConfiguration | Select EnableSMB1Protocol 返回 False)
- 禁用 LDAP 简单绑定(明文传输密码):在域控制器上运行 ldp.exe,连接后执行 Modify → DN: cn=Directory Service,cn=Windows NT,cn=Services,cn=Configuration,dc=xxx,dc=xxx → 添加属性:ldapEnforceChannelBinding = 1,lDAPAdminLimits 中关闭 AllowUnencryptedPassword
强制 Kerberos 加密与策略强化
Kerberos 是域环境默认且最安全的认证协议,但默认配置仍存在隐患,需收紧关键参数:
在 Windows 上执行终端命令,或对比 Windows 与 Linux 的 Shell 语法时使用。建议先检测当前 Shell 是 PowerShell 还是 cmd.exe,再给出相应命令……
- 将域功能级别提升至 Windows Server 2016 或更高(支持 AES-256 加密),并在域控制器 GPO 中启用:“Network security: Configure encryption types allowed for Kerberos”,勾选仅 AES128_HMAC_SHA1、AES256_HMAC_SHA1,取消 DES、RC4
- 禁用 Kerberos 预身份验证绕过(防止 AS-REP roasting):对所有用户账户(尤其是高权限账户)确保 “Do not require Kerberos preauthentication” 选项未勾选(AD 用户和计算机 → 属性 → 账户 → 勾选“此账户支持 Kerberos 预身份验证”)
- 缩短票据生命周期:通过 GPO 设置 “Maximum lifetime for user ticket” ≤ 10 小时,“Maximum lifetime for service ticket” ≤ 6 小时,降低票据泄露后的利用窗口
阻断 NTLM 中继与凭证转储路径
即使禁用弱协议,NTLM 流量若未受控,仍可能被重放或中继到其他服务(如 HTTP、SMB、LDAP)。必须叠加防护层:
- 启用 SMB 签名与强制通道绑定:GPO 中配置 “Microsoft network client: Digitally sign communications (always)” 和 “Microsoft network server: Digitally sign communications (always)”
- 部署基于资源的约束性委派(RBCD)替代传统委派,避免 KRBTGT 密钥滥用;对必须使用委派的服务账户,启用 “Trust this computer for delegation to specified services only”
- 在域控制器和关键服务器上启用 Credential Guard(需 CPU 支持虚拟化):通过组策略启用“设备防护 → 凭据防护”,可隔离 LSASS 进程,有效防御 Mimikatz 类工具抓取明文密码、hash 和 Kerberos TGT
审计与持续监控关键认证事件
加固后必须验证是否生效,并建立异常行为感知能力:
- 开启高级审核策略:GPO 中启用 “Audit Kerberos Authentication Service”(失败/成功)、“Audit Other Account Logon Events”(重点关注 NTLM 登录、空会话、匿名登录)
- 定期检查事件 ID:ID 4771(Kerberos 预身份验证失败)、ID 4768(TGT 请求)、ID 4624(登录类型 3=网络、类型 10=远程交互),结合源 IP 和账户行为识别横向移动迹象
- 使用 Microsoft Defender for Identity(原 ATA)或 Sysmon + ELK 方案,实时检测黄金票据、白银票据、DCSync 等高级攻击行为










