Habilitando LDAPs com CA Auth Local

Olá Pessoal,

Neste post irei mostrar como habilitar o LDAP over SSL(LDAPs), sem instalar a role do Active Directory Certificate Services e utilizando openssl para gerar os certificados necessários para seu funcionamento.

Com isso aumentando a segurança da comunicação do nosso domain controller com aplicações externas.



Primeiramente, vamos começar falando sobre os pré-requisitos para começar a configuração

– OpenSSL: Neste tópico, você pode fazer isso de duas maneiras. Instalando o OpenSSL no Linux e rodar os comandos abaixo, ou você pode baixar a versão portátil e rodar os comandos abaixo diretamente no controlador de domínio.
Versão portátil: https://sourceforge.net/projects/openssl-for-windows/ ( Para essa versão, salve os arquivos no caminho : C:\OpenSSL\SSL\ )
– Usuario como perfil administrativo nos controladores de dominio.
– Este procedimento tera que ser feito para cada controlador de dominio, voce pode compartilhar a mesma Autoridade Certificadora (CA), se você quiser.
– A porta 636, sera utilizada pelo LDAP over SSL, tenha certeza que os servidor externos pode alcancar essa porta no servidor.

1- Criando um certificado de Autoridade Certificadora (CA), no primeiro comando vamos criar a chave privada e no segundo comando vamos criar o certificado, com 10 anos de validade.


openssl.exe genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt


Apos rodar o segundo comando, ira aparecer um serie de perguntas referentes a certificado, vou colocar um exemplo abaixo, mas você pode alterar as respostas, quando a resposta estive em branco, voce pode apertar enter para passar para proxima.

Country Name (2 letter code) [AU]:  BR
State or Province Name (full name) [Some-State]: Bahia
Locality Name (eg, city) []: Salvador
Organization Name (eg, company) [Internet Widgits Pty Ltd]: LSS
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

2- Instalando o certificado CA no Windows Server

Importe o certificado gerado no passo anterior para a pasta Certificates, dentro de Trusted Root Certification Authorities., no caminho, conforme a imagem abaixo:



3- Criando arquivo .inf, para solicitar um Certificate Signing Request (CSR). este passo ‘e obrigatório para criação do certificado, salve o conteúdo abaixo com nome: request.inf
Lembre-se de colocar o nome completo do domain controller no campo subject. teremos que gerar um certificado deste para cada domain controler na sua rede.


;—————– request.inf —————–

[Version]

Signature=”$Windows NT$”

[NewRequest]

Subject = “CN=entre aqui no nome completo do DC”
;
KeySpec = 1
KeyLength = 2048
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 ; this is for Server Authentication


4- Use o comando abaixo, para gerar o arquivo CSR, que sera utilizado no comando subsequente.


certreq -new request.inf ldaps.csr


5- Use o comando abaixo, para gerar o certificado usando a CA crianda no passo 1 para validar issso.


openssl x509 -req -days 3650 -in ldaps.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out ldaps.crt


6- Use o comando abaixo,  validar o certificado criado no processo anteior.


certreq -accept ldaps.crt


7- Instalando o certificado LDAPs no Windows Server

Importe o certificado gerado no passo anterior para a pasta Certificates, dentro de Personal, no caminho conforme a imagem abaixo:

 

8- Como esse certificado foi criado usando OpenSSL, ‘e necessario rodar o comando abaixo para associar o chave privada com o certificado recentimente criado.
No passo 5 nos criando o certificado com o valor do serial 01, vamos usar esta identificaco para rodar o comando abaixo.


certutil -repairstore my “01”



Para testar a conexao, voce pode usar o ldp.exe, que ja vem nativo no windows server, e testar usando nome do servidor, porta 636 e marcar a opcap SSL, conforme a image abaixo.

Para abaixo o  aplicativo mencionado acima, abra um novo commd prompt e escreva ldp.exe

Fontes:
https://www.javaxt.com/tutorials/windows/how_to_enable_ldaps_in_active_directory
https://docs.microsoft.com/en-US/troubleshoot/iis/assign-certificate-private-key
https://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspx

Valeu pessoal, até a próxima.