如何通过LDAP获取AD支持的Kerberos加密模式及DC安全策略允许的加密方式
获取微软DC网络安全策略中允许的Kerberos加密模式方法
作为经常折腾AD和Kerberos的老玩家,我太懂这个需求的重要性了——正确配置加密模式直接关系到主机本地keytab里服务主体密钥集的有效性,一步错可能就导致认证失败。下面分几个关键点给你讲清楚:
一、查看DC允许的Kerberos加密模式
有两种最常用的方法:
- 组策略图形界面:打开组策略管理控制台(GPMC),找到域默认策略或对应Kerberos策略,定位到
计算机配置>策略>Windows设置>安全设置>账户策略>Kerberos策略,里面的「Kerberos加密类型」配置项会直接列出DC允许的所有加密模式,直观易懂。 - PowerShell命令行:先确保安装了ActiveDirectory模块,然后运行:
(Get-DomainPolicy).KerberosPolicy.SupportedEncryptionTypes
返回的是十进制位集值,你可以对照后面的映射表转成对应的加密类型。
二、用户账户 vs 计算机账户的msDS-SupportedEncryptionTypes属性
这是很多人踩坑的核心点:
- 用户账户:默认自带这个属性,管理员直接在AD用户和计算机里编辑账户属性,切换到「账户」选项卡,就能在「加密类型」里勾选允许的模式,系统会自动把选项转成位集存储到
msDS-SupportedEncryptionTypes中。 - 计算机账户:默认没有这个属性!必须通过LDAP手动添加配置。比如用PowerShell执行(替换成你的计算机名和目标位集值):
Set-ADComputer -Identity "YourComputerName" -Replace @{msDS-SupportedEncryptionTypes=0x17}
这里的0x17对应RC4_HMAC、AES128和AES256三种加密模式,你可以根据需求调整位集组合。
三、AD通过LDAP支持的Kerberos加密模式及位集映射
整理了AD支持的所有加密类型和对应位值,方便你计算组合:
- RC4_HMAC_MD5:0x00000001
- AES128_CTS_HMAC_SHA1_96:0x00000008
- AES256_CTS_HMAC_SHA1_96:0x00000010
- AES128_CTS_HMAC_SHA256_128:0x00000020
- AES256_CTS_HMAC_SHA384_192:0x00000040
- DES_CBC_CRC(已过时,不推荐使用):0x00000002
- DES_CBC_MD5(已过时,不推荐使用):0x00000004
要同时启用多种加密模式,把对应位值相加即可,比如启用AES128和AES256就用0x18(0x8 + 0x10)。
内容的提问来源于stack exchange,提问作者phg
相关产品推荐
相关产品推荐

