Python 修改AD账号密码(一)- 启用域控LDAPS
·
启用LDAP over SSL
原文地址:https://gist.github.com/magnetikonline/0ccdabfec58eb1929c997d22e7341e45
-
实验环境
- AD域名example.com
- Windows Server 2008 R2 X64 (DC,计算机名dc.example.com )
- OpenSSL (Linux或Windows,选择你熟悉的平台)
创建根证书
生成根证书,按提示输入参数
$ openssl genrsa -des3 -out ca.key 4096
$ openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
此时,应该生成两个文件,根证书ca.crt
,根证书私钥ca.key
导入根证书到域控服务器
- 移动根证书
ca.crt
到DC服务器上 - 打开mmc, 添加证书管理单元,选择计算机账户,本地计算机
- 在受信任的根证书颁发机构,导入根证书
ca.crt
为域控制器颁发证书
接下来使用根证书签发DC服务器证书 - dc.example.com
在DC上执行以下步骤
创建一个新文件
request.inf
填入一下内容,CN=填入你的DC完整计算机名[Version] Signature="$Windows NT$" [NewRequest] Subject = "CN=dc.example.com" KeySpec = 1 KeyLength = 1024 Exportable = TRUE MachineKeySet = TRUE SMIME = FALSE PrivateKeyArchive = FALSE UserProtected = FALSE UseExistingKeySet = FALSE ProviderName = "Microsoft RSA SChannel Cryptographic Provider" ProviderType = 12 RequestType = PKCS10 KeyUsage = 0xa0 [EnhancedKeyUsageExtension] OID = 1.3.6.1.5.5.7.3.1 ; Server Authentication
运行一下命令生成请求证书文件
C:\> certreq -new request.inf client.csr
复制client.csr
到OpenSSl环境下
- 创建一个文件 v3ext.txt
填入以下内容:
```
keyUsage=digitalSignature,keyEncipherment
extendedKeyUsage=serverAuth
subjectKeyIdentifier=hash
```
- 根据client.csr
使用根证书签发DC的计算机证书 client.crt
:
```sh
$ openssl x509 -req -days 3650 -in client.csr -CA ca.crt -CAkey ca.key -extfile v3ext.txt -set_serial 01 -out client.crt
```
- 输入以下命令查看生成的dc.example.com
证书:
```sh
$ openssl x509 -in client.crt -text
```
- 确保以下字段 X509v3 extensions
全部包含:
- X509v3 Key Usage: Digital Signature, Key Encipherment
- X509v3 Extended Key Usage: TLS Web Server Authentication
- X509v3 Subject Key Identifier
导入域控服务器证书
复制
client.crt
到dc服务器上,执行以下命令:C:\> certreq -accept client.crt
- 打开证书管理控制台,在个人证书下,确保有以下内容:
- 你有一个与该证书对应的私钥
- 这个证书的目的如下:保护远程计算机的身份
- 颁发给 dc.example.com
重启AD服务加载证书
你可以选择重启计算机来加载LDAPS,或者用以下命令启用LDAPS:
创建一个文件
ldap-renewservercert.txt
包含以下内容:dn: changetype: modify add: renewServerCertificate renewServerCertificate: 1 -
运行一下命令:
C:\> ldifde -i -f ldap-renewservercert.txt
测试LDAPS是否生效
- 从另外一台在域中的计算机,安装第一步生成的根证书
ca.crt
到受信任的根证书颁发机构 打开工具:
C:\> ldp.exe
按下图连接到dc.example.com
返回正常信息,说明ok.
参考
- Enable LDAP over SSL with a third-party certification authority: https://support.microsoft.com/en-us/kb/321051
- LDAP renewServerCertificate: https://msdn.microsoft.com/en-us/library/cc223311.aspx
- How to Enable LDAPS in Active Directory (similar outcome to above): http://www.javaxt.com/tutorials/windows/how_to_enable_ldaps_in_active_directory
- DigiCert LDAPS certificate install guide: https://www.digicert.com/ssl-certificate-installation-microsoft-active-directory-ldap-2012.htm
更多推荐
已为社区贡献3条内容
所有评论(0)