如何通过LDAP查询验证Active Directory服务器连接的安全性?
回答
可以通过LDAP查询从AD服务器视角确认当前连接是否被认定为安全连接,具体有两种可靠的方式:
1. 查询根DSE的securityLayer属性
AD的LDAP服务器会在**根DSE(Root DSE)**中暴露当前连接的安全层信息,你无需绑定即可发送这个查询请求。
执行查询后,解析返回的securityLayer属性值:
1:无安全层,即明文连接(不安全)2:SSL加密(对应LDAPS连接)3:Negotiate/SSPI加密(包括Kerberos或NTLM认证后的加密连接)4:StartTLS升级后的加密连接
示例查询命令(使用ldapsearch工具):
ldapsearch -H ldap://your-ad-server -x -s base -b "" "(objectClass=*)" securityLayer
2. 尝试执行需安全连接的轻量操作
如果不想解析属性,也可以尝试执行一个仅在安全连接下允许的轻量操作——比如发送带有LDAP_SERVER_ENCRYPTION_OID(1.2.840.113556.1.4.1781)的扩展请求,或者尝试读取对安全连接有要求的属性。不过这种方式不如查询根DSE直接,因为需要处理可能的错误返回。
内容的提问来源于stack exchange,提问作者LeGEC
相关产品推荐
相关产品推荐

