Настройка SSL/TLS для OpenLDAP (OpenSSL)
Инструкция основана на OpenLDAP OpenSSL.txt.
Важно перед началом
Section titled “Важно перед началом”- Базовая процедура описана для Ubuntu 16.04.
- На Astra Linux шаги
13.3и13.4выполнять не нужно. - Для подключения на этапе проверки используйте фактический IP или корректное имя хоста (FQDN).
1) Подготовка сертификатов и ключей
Section titled “1) Подготовка сертификатов и ключей”- Очистите старые каталоги сертификатов:
sudo rm -rf /etc/ssl/ldaprm -rf ./demoCA
- Создайте структуру
demoCAи служебные файлы:mkdir -p demoCA/{private,certs,newcerts}echo "1001" > demoCA/serialtouch demoCA/index.txt
- Сгенерируйте CA-ключ и удалите парольную фразу:
openssl genrsa -aes256 -out demoCA/private/cakey.pem 4096openssl rsa -in demoCA/private/cakey.pem -out demoCA/private/cakey.pem
- Создайте CA-сертификат (
Common Nameдолжен совпадать с FQDN сервера):openssl req -new -x509 -days 3650 -key demoCA/private/cakey.pem -out demoCA/certs/cacert.pem
- Сгенерируйте ключ LDAP-сервера и CSR:
openssl genrsa -aes256 -out demoCA/private/ldapserver-key.key 4096openssl rsa -in demoCA/private/ldapserver-key.key -out demoCA/private/ldapserver-key.keyopenssl req -new -key demoCA/private/ldapserver-key.key -out demoCA/certs/ldapserver-cert.csr
- Подпишите серверный сертификат CA-ключом:
openssl ca -keyfile demoCA/private/cakey.pem -cert demoCA/certs/cacert.pem -in demoCA/certs/ldapserver-cert.csr -out demoCA/certs/ldapserver-cert.crt -days 3649
- Проверьте сертификат и перенесите каталог:
openssl verify -CAfile demoCA/certs/cacert.pem demoCA/certs/ldapserver-cert.crtsudo mv demoCA /etc/ssl/ldap
Ожидаемые пути:
/etc/ssl/ldap/certs/cacert.pem/etc/ssl/ldap/certs/ldapserver-cert.crt/etc/ssl/ldap/private/ldapserver-key.key
2) Права и применение TLS к OpenLDAP
Section titled “2) Права и применение TLS к OpenLDAP”- Назначьте владельца и права:
sudo chown -R openldap: /etc/ssl/ldap/sudo chmod 0400 /etc/ssl/ldap/private/ldapserver-key.key
- Создайте
openldap-tls.ldif:
dn: cn=configchangetype: modifyadd: olcTLSCACertificateFileolcTLSCACertificateFile: /etc/ssl/ldap/certs/cacert.pem-replace: olcTLSCertificateFileolcTLSCertificateFile: /etc/ssl/ldap/certs/ldapserver-cert.crt-replace: olcTLSCertificateKeyFileolcTLSCertificateKeyFile: /etc/ssl/ldap/private/ldapserver-key.key- Примените изменения:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f openldap-tls.ldif
- Проверьте записи:
sudo slapcat -b "cn=config" | grep -E "olcTLS"
- Проверьте доступ пользователя
openldapк файлам и валидность конфига:sudo -u openldap file /etc/ssl/ldap/certs/cacert.pemsudo -u openldap file /etc/ssl/ldap/certs/ldapserver-cert.crtsudo -u openldap file /etc/ssl/ldap/private/ldapserver-key.keysudo slaptest -u
3) Настройка клиента и сервиса slapd
Section titled “3) Настройка клиента и сервиса slapd”- Настройте CA для клиента в
/etc/ldap/ldap.conf(или добавьтеcacert.pemв системный bundle). - Опционально включите
ldaps://в/etc/default/slapd:
SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///"- Перезапустите сервис:
sudo systemctl restart slapd
4) Проверка подключения
Section titled “4) Проверка подключения”- Проверка StartTLS:
ldapsearch -x -ZZ -LLL -H ldap://host-100.local -b dc=maxcrc,dc=com
- Проверка сертификата:
gnutls-cli --starttls-proto=ldap --print-cert -p 389 host-100.local
- Простая проверка bind:
ldapwhoami -x -D "cn=admin,dc=maxcrc,dc=com" -W
Используйте FQDN, совпадающий с Common Name сертификата, иначе возможны ошибки ldap_start_tls и mismatch по имени хоста.
5) Проверка из SecurityConfigurator
Section titled “5) Проверка из SecurityConfigurator”При подключении из SecurityConfigurator с включенными TLS/SSL сертификат должен быть установлен в “Доверенные лица” в Windows.

6) Усиление безопасности TLS (опционально)
Section titled “6) Усиление безопасности TLS (опционально)”- Создайте
openldap-mod-tls.ldifи задайте ограничения:- минимальная версия TLS (
olcTLSProtocolMin: 3.2), либо - предпочтительный вариант:
olcTLSCipherSuiteс исключением небезопасных наборов.
- минимальная версия TLS (
- Примените:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f openldap-mod-tls.ldif
- Перезапустите
slapdи проверьте шифры:sudo nmap --script ssl-enum-ciphers -p636 localhost