====== Configuração de Certificados SSL/TLS para OpenLDAP usando certutil ======
===== Introdução =====
Esta documentação fornece um guia detalhado sobre como configurar certificados SSL/TLS para um servidor OpenLDAP utilizando a ferramenta `certutil`, que faz parte do Network Security Services (NSS). Antes de prosseguir com os procedimentos técnicos, é importante entender o que são certificados SSL/TLS e sua importância.
**O que são Certificados SSL/TLS?**
SSL (Secure Sockets Layer) e TLS (Transport Layer Security) são protocolos fundamentais para a segurança na internet, proporcionando comunicações seguras ao criptografar a transferência de dados entre sistemas. Os certificados SSL/TLS atuam como identificações digitais que autenticam a identidade de um site ou servidor e criptografam a conexão entre o servidor e o cliente.
**Por que são importantes?**
* **Autenticação**: Os certificados asseguram que a comunicação é feita com o servidor correto e não com um impostor.
* **Criptografia**: Protegem a privacidade e segurança da informação transmitida entre o servidor e o cliente, prevenindo que dados sensíveis sejam interceptados.
* **Integridade de Dados**: Asseguram que os dados não sejam alterados ou corrompidos durante a transmissão.
**Visão Geral do certutil:**
* **certutil** é uma ferramenta de linha de comando usada para gerenciar certificados, chaves e outros dados relacionados à segurança em repositórios de certificados NSS.
* Possui funcionalidades para criar, listar, modificar e deletar certificados, além de gerenciar e manipular chaves privadas e públicas.
* É essencial para configurar ambientes seguros, como servidores que necessitam de autenticação e criptografia de comunicações.
Agora que você entende a importância dos certificados SSL/TLS e como eles funcionam, vamos detalhar como você pode usar `certutil` para configurar esses certificados em um servidor OpenLDAP, começando com a preparação inicial e seguindo até a implementação e verificação final.
===== Preparação Inicial =====
Antes de começar, certifique-se de que todas as ferramentas necessárias estão instaladas. Isso inclui o `certutil`, parte do pacote `nss-tools` em muitas distribuições Linux.
* Debian/Ubuntu:
sudo apt-get install libnss3-tools
* RedHat/CentOS:
sudo yum install nss-tools
A seguir, crie um diretório onde os certificados e chaves serão armazenados:
mkdir /etc/openldap/certs
chmod 700 /etc/openldap/certs
===== Criação de Banco de Dados de Certificados =====
Inicialize um banco de dados de certificados NSS no diretório criado:
certutil -N -d /etc/openldap/certs
Você será solicitado a criar uma senha para o banco de dados de certificados. Escolha uma senha segura e guarde-a, pois será necessária para acessar o banco de dados posteriormente.
===== Criação e Gerenciamento de Chaves e Certificados =====
=== Chave Privada e Certificado da CA ===
certutil -G -d /etc/openldap/certs -z /dev/urandom -f /etc/openldap/certs/password -n "CA key" -g 4096 -t "CTu,CTu,CTu"
certutil -S -d /etc/openldap/certs -n "LDAP CA" -s "CN=LDAP CA,O=YourOrg,C=US" -x -t "CT,C,C" -m 1000 -v 120 -k rsa -g 4096 -z /dev/urandom -f /etc/openldap/certs/password
=== Chave Privada e CSR para o Servidor OpenLDAP ===
certutil -G -d /etc/openldap/certs -z /dev/urandom -f /etc/openldap/certs/password -n "Server key" -g 4096 -t "u,u,u"
certutil -R -d /etc/openldap/certs -a -o server.csr -n "Server key" -s "CN=yourserver.yourdomain.com,O=YourOrg,C=US" -v 12 -k rsa -g 4096 -z /dev/urandom -f /etc/openldap/certs/password
=== Assinatura do CSR com a CA ===
certutil -C -d /etc/openldap/certs -c "LDAP CA" -a -i server.csr -o server.crt -m 1001 -v 12 -f /etc/openldap/certs/password
===== Configuração do OpenLDAP =====
Configure o OpenLDAP para usar os certificados e a chave gerados, adicionando as seguintes linhas ao arquivo slapd.conf:
TLSCACertificateFile /etc/openldap/certs/ca.crt
TLSCertificateFile /etc/openldap/certs/server.crt
TLSCertificateKeyFile /etc/openldap/certs/server.key
===== Verificação e Listagem dos Certificados =====
Liste todos os certificados e verifique os detalhes específicos de cada um:
certutil -L -d /etc/openldap/certs
certutil -L -d /etc/openldap/certs -n "LDAP CA"
certutil -V -u V -d /etc/openldap/certs -n "Nome do Certificado"
===== Testes e Manutenção =====
Teste a configuração realizando uma conexão segura:
ldapsearch -ZZ -x -LLL
Assegure-se de que os arquivos de chave e certificado estão seguros, ajustando as permissões de arquivo apropriadamente e realizando backups regulares.
===== Conclusão =====
Esta documentação cobre todos os aspectos necessários para configurar e verificar certificados SSL/TLS para um servidor OpenLDAP usando **certutil**. Certifique-se de manter as práticas de segurança ao manusear chaves privadas e informações sensíveis.