您的位置:首页 > 编程语言 > Python开发

Python 修改AD账号密码(一)- 启用域控LDAPS

2017-07-16 15:04 696 查看

启用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows python