Versão avaliada: Debian12
Da mesma forma quando instalamos um Active Directory ou um SAMBA4 é necessário algumas premissas iniciais estarem configuradas, são elas:
IP Fixo: 192.168.10.115/24
Hostname: hl115
Domain Name: local.domain
# hostnamectl set-hostname hl115.local.domain --static
# reboot
Gerando a chave privada.
# cd /etc/ldap/sasl2/
# openssl genrsa -aes256 -out hl115.local.domain.key 4096
Enter PEM pass phrase: Insira um password
Verifying - Enter PEM pass phrase: Insira novamente o password
# openssl rsa -in hl115.local.domain.key -out hl115.local.domain.key
Enter pass phrase for hl115.local.domain.key: Insira o password
writing RSA key
Gerando o certificado.
# openssl req -new -key hl115.local.domain.key -out hl115.local.domain.csr
...
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:PARANA
Locality Name (eg, city) []:CURITIBA
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Domain
Organizational Unit Name (eg, section) []:TI
Common Name (e.g. server FQDN or YOUR name) []:<hl115.local.domain ou 192.168.1.115>
Email Address []:sem@email.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Certificado autoassinado e definindo período de vigência.
# openssl x509 -days 3650 -in hl115.local.domain.csr -out hl115.local.domain.crt -req -signkey hl115.local.domain.key
Signature ok
subject=C = BR, ST = PARANA, L = CURITIBA, O = Domain, OU = TI, CN = hl115.local.domain, emailAddress = sem@email.com
Getting Private key
Nota: Para renovar o certificado é necessário executar o comando acima e importar o .crt para o LAM novamente.
Ajustando as permissões.
# chown openldap:openldap /etc/ldap/sasl2/*
Altere as configurações do slapd para aceitar o certificado criado.
# vi SSL_ldap.ldif
dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/ca-certificates.crt
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/sasl2/hl115.local.domain.crt
-
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/sasl2/hl115.local.domain.key
Execute o comando para alterar o parametro config do slapd.
# ldapmodify -Y EXTERNAL -H ldapi:/// -f SSL_ldap.ldif
Acesse as configurações do slapd e adicione.
# vi /etc/default/slapd
SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
Altere a configuração do ldap.
# vi /etc/ldap/ldap.conf
TLS_CACERT /etc/ssl/certs/ca-certificates.crt <- Já existe
TLS_REQCERT allow <- Adicione
Reinicie o serviço.
# systemctl restart slapd.service
Testar.
# ldapsearch -x -H ldaps://hl115.local.domain:636 -b "dc=local,dc=domain"
Acesse LAM configuration > Edit general settings > Security settings
Busque pelo arquivo hl115.local.domain.crt, clique em Upload
Clique no botão Save
Acesse LAM configuration > Edit server profiles > Server settings
Altere o acesso para ldaps://<hl115.local.domain ou 192.168.1.115>:636
E Activate TLS deixe como "no"
Reinicie o serviço webserver.
# systemctl restart nginx.service php7.4-fpm.service
Acesse novamente o serviço do LAM.
Nota: O método descrito acima é uma forma de encriptação no servidor para o serviço OpenLDAP, para o browser é possível associar um certificado no webserver para encriptar a conexão web.
############ cp /etc/ssl/certs/ca-certificates.crt /etc/ldap/sasl2/