В каждой статье / с практическими рекомендациями / блоге по openldap говорится о помещении сертификата ldap для ldaps в каталог / etc / openldap / cacerts.
Мне интересно, почему бы просто не поместить сертификат (ы) в / etc / pki / tls / certs и не создать символическую ссылку между / etc / openldap / cacerts -> / etc / pki / tls / certs? Таким образом, все сертификаты находятся в одном месте в системе, а не в разных каталогах.
Не специфично для openldap, это обычно делается из соображений безопасности:
рассматриваемый программный пакет может chroot
в свой каталог внутри /etc
, и тогда он не сможет переходить по символическим ссылкам за пределами измененного корня
программное обеспечение может быть запрограммировано таким образом, чтобы в первую очередь специально запрещать ему переходить по любым символическим ссылкам
Все это делается для того, чтобы гарантировать, что любой вид эксплойтов будет ограничен и изолирован для одной части программного обеспечения, и злоумышленнику будет труднее получить доступ к произвольным файлам в файловой системе.
На самом деле не имеет значения, куда вы помещаете обычные сертификаты, сертификаты CA и закрытые ключи, если рассматриваемое приложение и криптографическая библиотека, которую оно использует, могут читать и понимать файлы. В зависимости от того, связано ли ваше приложение (OpenLDAP / slapd в вашем случае) с OpenSSL или GnuTLS, могут существовать различные ограничения. Также могут быть искусственные ограничения в самом приложении или наложенные фреймворками безопасности, такими как AppArmor или SELinux.
Например, на Ubuntu 12.04 LTS (сервер) демон libvirt, который ищет свои сертификаты CA в /etc/pki/CA/cacerts.pem
, похоже, не терпит, когда размер этого файла превышает несколько килобайт. Таким образом, невозможно просто передать ему общесистемный список доверенных сертификатов CA, найденных в /etc/ssl/certs/ca-certificates.crt
(в CentOS эквивалент /etc/pki/tls/certs/ca-bundle.crt
, как вы упомянули). Я думаю, что это ограничение GnuTLS (одно из многих).
Как я уже сказал: это зависит от рассматриваемого приложения, используемой криптографической библиотеки и возможных структур безопасности. Вы можете только попробовать и посмотреть, что работает, а что нет.