Entre na pasta de certificados do sistema, e se existir o certificado
ldap-server.pem, remova-o para que possamos criar um novo. Coloque as devidas permissões no certificado e crie um link simbólico para o diretório
cacerts/ do
OpenLDAP.
Obs.: Se não existir o diretório
cacerts/, copie o diretório
certs/ e troque o nome para: cacerts
# cp -r /etc/openldap/certs/ /etc/openldap/cacerts
# chown -R :ldap /etc/openldap/certs/
# chown -R :ldap /etc/openldap/cacerts/
# cd /etc/pki/tls/certs
# rm ldap-server.pem
# make ldap-server.pem
# chmod 640 ldap-server.pem
# chown :ldap ldap-server.pem
# ln -s /etc/pki/tls/certs/ldap-server.pem /etc/openldap/cacerts/ldap-server.pem
Edite o arquivo
ldap alterando a linha:
SLAPD_LDAPS=no
Para:
# nano /etc/sysconfig/ldap
SLAPD_LDAPS=yes
Agora editaremos o arquivo
slapd.conf para configurar o caminho do certificado:
TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/ldap-server.pem
TLSCertificateKeyFile /etc/pki/tls/certs/ldap-server.pem
No arquivo
ldap.conf, adicione o seguinte conteúdo:
TLS_CACERTDIR /etc/openldap/cacerts
TLS_REQCERT never
Realizaremos os ajustes finais e testaremos a configuração do certificado:
# rm -rf /etc/openldap/slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
# chown -R ldap:ldap /etc/openldap/slapd.d
# service slapd restart
# ldapsearch -x -ZZ -h localhost # Consulta TLS
# ldapsearch -x -H ldaps://localhost # Consulta SSL
# openssl s_client -connect localhost:636 -showcerts
Edite o arquivo
nsswitch.conf alterando a entrada de "hosts":
# nano /etc/nsswitch.conf
hosts: ldap files dns
Adicione as seguintes regras no firewall do
CentOS, alterando "192.168.255.0/24" para o endereço de rede da sua LAN:
# nano /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.255.0/24 --dport 389 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.255.0/24 --dport 636 -j ACCEPT
Reinicie o firewall:
# service iptables restart