Назад | Перейти на главную страницу

LDAPTrustedClientCert здесь не разрешен

Я пытаюсь настроить аутентификацию ldaps на сервере CentOS 6.x с Apache 2.2. Я успешно использую аутентификацию ldap в течение пары лет, но мне нужно заставить ее работать через SSL. У меня загружены ldap_module и authnz_ldap_module. Моя проблема заключается в том, что независимо от того, где в стеке я пытаюсь включить любые директивы, такие как LDAPTrustedClientCert или LDAPTrustedGlobalCert, я получаю сообщения «директива не разрешена здесь». Я пробовал использовать корневую конфигурацию, я пробовал внутри блока в конфигурации vhost, я пробовал разрешить все переопределения и поместить их в файл .htaccess ... все безрезультатно.

Буду рад любым предложениям.

Если по какой-то причине вам необходимо предоставить сертификат клиента при подключении к 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#ldaptrustedclientcert

это должно быть в настройках каталога.

<directory /the/directory/of/stuff>
    LDAPTrustedClientCert type directory-path/filename/nickname [password]
</directory>

Кроме того, поскольку вы имеете дело с сертификатами, вы должны находиться на виртуальном хосте SSL.