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.

Другие вопросы по тегам