微软计划于2020年1月推出补丁更新,启用LDAP签名。虽然目前版本的操作系统已经包含了这个功能,但是微软并没有将它启用。随着时间推移,网络上的威胁越来越多。凭据重放和中间人攻击在LDAP的攻击中显得极为有效。所以,我们需要尽快启用LDAP签名这个安全特性。值得注意的是微软的目录服务通常在企业内部用作最基本的身份验证,很多其它系统也依赖于Windows提供的LDAP服务,这些三方系统的兼容性需要得到足够的测试。建议先在某些域控上启用策略,完成测试验证。

先来看一下当前默认情况下的域环境的LDAP连接情况。在客户端输入ldp来尝试手动连接。当然,如果你的计算机上显示没有ldp.exe这个程序的话,是因为没有安装AD部分的RSAT。需要在添加删除Windows功能中手动添加。如果看不到图,请点我

添加完毕后,就可以运行ldp.exe了。在这里,我们输入域控的计算机名,并使用默认的389进行连接。

连接成功后,点击Bind,选择Simple bind,并输入用户名和密码。

可以看到,目前是可以正常连接到域控的。接下去我们就要进行安全加固了。

首先,需要在域控制器上启用策略。我一直推荐不要修改Default Domain Policy和Default Domain Controllers Policy这2条默认策略,可以在域级别新建一条LDAP的策略进行修改。然后把同样的这条策略应用到Domain Controllers这个OU上,并且确保优先级高于默认策略。因为Default Domain Controllers Policy中可能已经将Domain controller: LDAP server signing requirements定义为了None。至少在我的测试环境中是这样的,为此我还花费了不少时间来解决这个问题。

策略的位于Computer Configuration--Policies--Windows Settings--Security Settings--Local Policies--Security Options。找到Domain controller: LDAP server signing requirements。将其从Not Defined改成Require signing。

然后,修改域控上的注册表键值。HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\ldapserverintegrity

将ldapserverintegrity从1修改为2。需要注意的是如果不修改组策略而直接修改注册表键值,这个值会被修改回1。我就遇到了在添加的LDAP策略中修改后这个键值仍然会被改回1。这是由于我的环境中默认域控器策略中定义了这条策略,但是它被设置为None。

接下去就是客户端策略的修改了。同样在客户端所在OU上新建一条策略,然后修改其中的Computer Configuration--Policies--Windows Settings--Security Settings--Local Policies--Security Options下的Network security:LDAP client signing requirements,将其改为Require signing。建议同样在域控的LDAP策略中将它也设置一下,因为域控也可以作为LDAP客户端。

同样的需要修改注册表键值,HKLM\SYSTEM\CurrentControlSet\Services\ldap下的ldapclientintegrity。将它改成2。

然后,采用同样的方式用ldp连接域控。会发现使用simple bind的连接失败了,需要更强的验证方式。更强的LDAP验证方式包括SSL。如果采用SSL按微软的说法是仍然可以使用simple bind的。详细请参考这里:

https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/domain-controller-ldap-server-signing-requirements

如果服务器上启用了LDAP的基本日志,就能看到相应信息。启用方法是将注册表中的HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics下的16 LDAP Interface Events从1修改为2。日志启用的详细信息请参考这篇文章:

https://support.microsoft.com/en-us/help/314980/how-to-configure-active-directory-and-lds-diagnostic-event-logging

服务器的Directory Service中会记录2889的事件,说明有人试图使用非签名的方式明文连接LDAP服务。

参考文章:

https://support.microsoft.com/en-us/help/935834/how-to-enable-ldap-signing-in-windows-server-2008

Windows LDAP加固之LDAP签名的更多相关文章

  1. Windows LDAP加固之LDAP over SSL和通道绑定

    很多网络通信都可以用SSL来加密的,LDAP也不列外,同样可以用SSL加密. LDAPS使用的证书必须满足以下几个条件: 1.证书的增强性密钥用法中必须有服务器身份验证Server Authentic ...

  2. 乐固加固后windows下实现给apk签名

    遇到了这样一个问题:我们已经在centos下签名生成好的apk,拿到腾讯乐固上加固以后,签名没有了,就需要重新签名,我乐滋滋的想,既然原来是在centos下签名的,那再去centos上签名一次就好了, ...

  3. LDAP简介及LDAP服务器的安装与配置

    一.LDAP简介 全称:Lightweight Directory Access Protocol,目录服务是一种特殊的数据库系统,其专门针对读取. LDAP目录中的信息是按照树型结构组织,具体信息存 ...

  4. Windows安全加固

    Windows安全加固 # 账户管理和认证授权 # 1.1 账户 # 默认账户安全 # 禁用Guest账户. 禁用或删除其他无用账户(建议先禁用账户三个月,待确认没有问题后删除.) 操作步骤 本地用户 ...

  5. Windows LDAP加固之替换LDAP加密证书

    之前两篇文章介绍了LDAP的安全加固,其中提到了TLS加密LDAP通信.对于通常的网页加密,RDP加密都可以在对应的管理界面中选择使用哪个证书来加密.那么对于LDAP服务,怎么确定当前使用的是哪张证书 ...

  6. 利用WINDOWS活动目录提供LDAP的方案

    Windows Server 2008 R2 活动目录服务安装 http://blog.sina.com.cn/s/blog_622de9390100kgv3.html WINDOWS 2008 域控 ...

  7. ldap部署相关,ldap双机\LAM配置管理\ldap备份还原

    前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 就单点登录实现过程进行详细记录,ldap是一切的基础,可以把它理解成一个读强写弱的文件类型数据库,统一认证我们通过 ...

  8. Windows安全加固手册

    1      身份鉴别 1.1         密码安全策略 要求:操作系统和数据库系统管理用户身份鉴别信息应具有不易被冒用的特点,口令应有复杂度要求并定期更换. 目的:设置有效的密码策略,防止攻击者 ...

  9. 【应急响应】Windows 安全加固

    一.补丁管理 运行cmd,输入systeminfo查看目前补丁信息 二.账户管理 gpedit.msc —>Windows设置—>安全设置—>本地设置—>账户设置 密码策略: ...

随机推荐

  1. python——进行年龄和性别检测

    年龄和性别检测 使用Python编程语言带你完成使用机器学习进行年龄和性别检测的任务. 首先需要编写用于检测人脸的代码,因为如果没有人脸检测,我们将无法进一步完成年龄和性别预测的任务. 下一步是预测图 ...

  2. 一网打尽异步神器CompletableFuture

    最近一直畅游在RocketMQ的源码中,发现在RocketMQ中很多地方都使用到了CompletableFuture,所以今天就跟大家来聊一聊JDK1.8提供的异步神器CompletableFutur ...

  3. OneOS下调试支持的几种方式

    方法论 当我们遇到问题,应该怎么办?这不仅应用于程序开发,也是我们在生活中遇到问题的时候,应该想的事儿,怎么办!趁着此次机会,我好好想了七秒钟. 先问是不是问题,如果不是就不用解决了 如果确实是问题, ...

  4. github碰到的问题

    下载问题 自己编译一下 mvn clear mvn compile mvn package 自己编译之后的文件,然后解压即可,第一次自己傻傻的,直接用源码跑,少报错! 项目预览问题 添加1s即可 下载 ...

  5. gdb调试器在windows下的相关内容

    1.gdb调试器在visual studio或dev c++中也有类似的调试图形化可视界面,但是gdb不同的是它是由命令行组成,他的界面对于习惯图形化可视界面的用户来说一时间会不知所措 2.通过gcc ...

  6. Vue 样式绑定 && 条件渲染

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  7. Apache DolphinScheduler新一代分布式工作流任务调度平台实战-中

    @ 目录 架构设计 总体架构 启动流程图 架构设计思想简述 负载均衡 缓存 实战使用 参数 参数优先级 内置参数 基础内置参数 衍生内置参数 本地参数和全局参数 工作流传参 数据源管理 支持数据源 创 ...

  8. Eplan创建符号

    1.打开Eplan P8 ,新建一个名为"新项目"的项目,然后选择菜单"工具"----"主数据"-----"符号库"-- ...

  9. Apache DolphinScheduler 使用文档(6/8):任务节点类型与任务参数设置

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 6. 任务节点类型和参数设置 6.1 Shell节点 ...

  10. MyBatis 04 实战

    增删改查实现 在实际使用中,MyBatis 的使用遵从一定的规范. 常用的增删改查的 MyBatis 实现如下: Mapper.xml <?xml version="1.0" ...