LDAPTrustedClientCert не допускается здесь
Я пытаюсь настроить аутентификацию ldaps на сервере CentOS 6.x под управлением Apache 2.2. Я успешно использую аутентификацию ldap в течение пары лет, но мне нужно, чтобы она работала через SSL. Я загрузил ldap_module и authnz_ldap_module. Моя проблема в том, что независимо от того, где в стеке я пытаюсь включить какие-либо директивы, такие как LDAPTrustedClientCert или LDAPTrustedGlobalCert, я получаю сообщения "директива здесь не разрешена". Я пробовал в корневой конфигурации, я пытался в блоке в конфигурации vhost, я пытался разрешить все переопределения и поместить его в файл.htaccess... все безрезультатно.
Я бы приветствовал любые предложения.
3 ответа
Если по какой-либо причине вам необходимо предоставить клиентский сертификат при установлении соединения ldap, вы должны предоставить эти директивы в том же месте, что и ваш AuthType
директивы.
<Location /secure-ldap-basic>
AuthType basic
AuthName "LDAP signin required"
AuthBasicProvider ldap
AuthLDAPUrl ldaps://ldap.example.com/ SSL
LDAPTrustedClientCert KEY_BASE64 /etc/pki/tls/private/www.example.com.key
LDAPTrustedClientCert CERT_BASE64 /etc/pki/tls/certs/www.example.com.cert
Require valid-user
</Location>
<Location /secure-ldap-form>
AuthType form
AuthName realm
AuthFormProvider ldap
AuthLDAPUrl ldap://ldap.example.com/ STARTTLS
LDAPTrustedClientCert KEY_BASE64 /etc/pki/tls/private/www.example.com.key
LDAPTrustedClientCert CERT_BASE64 /etc/pki/tls/certs/www.example.com.cert
Require valid-user
AuthFormLoginRequiredLocation /login?%{REQUEST_URI}
Session On
SessionCookieName session path=/
SessionCryptoPassphrase <passphrase>
</Location>
LDAPTrustedClientCert
а также LDAPTrustedGlobalCert
для клиентских сертификатов. Как таковые, они обычно не нужны для защиты связи LDAP от веб-сервера.
Эта директива безопасна почти так же, как и большинство соединений https:
AuthLDAPUrl ldaps://ldap.example.com/ SSL
Согласно документации apache 2.2:
https://httpd.apache.org/docs/2.2/mod/mod_ldap.html
это должно идти в пределах параметра каталога.
<directory /the/directory/of/stuff>
LDAPTrustedClientCert type directory-path/filename/nickname [password]
</directory>
Кроме того, поскольку вы имеете дело с сертификатами, вы должны быть в виртуальном хосте SSL.