UnixDoc.RU :: Статьи :: Настраиваем OpenLDAP сервер и клиент с поддержкой SSL

Настраиваем OpenLDAP сервер и клиент с поддержкой SSL


В организации существует несколько серверов FreeBSD 5.3, на одном из них
установлен OpenLDAP Server, на других используется OpenLDAP Client.
Имеем внутренний настроенный DNS с доменом domain.ru
OpenLDAP сервер назавём ldap.domain.ru

Задача: Организовать безопасное соединение с OpenLDAP-сервером с использованием SSL/TLS.

В системе установлен пакет:

        openldap-server-2.2.24


Вся настройка проводилась именно для ветки 2.2 OpenLDAP.


Создание сертификата организации:

С помощью этого сертификата, будем в дальнейшем подписывать все
остальные сертификаты пользователей, и сертификаты системных служб

Генерируем приватный ключ:

        # openssl genrsa -des3 -out ca.key 2048


Создание сертификата:

        # openssl req -new -x509 -days 1825 -utf8 -key ca.key -out ca.cert


Отвечаем на вопросы, не забываем про самый главный ответ (в моей системе было так):

        Common Name (eg, YOUR name) []: ldap.domain.ru


Создание пользовательского подписанного сертификата:

Генерируем приватный ключ:

        # openssl genrsa -out user.key 1024


Генерируем запрос для подписания сертификата:

        # openssl req -new -key user.key -out user.csr -utf8


Подписываем сертификат:

        # openssl x509 -req -in user.csr -out user.cert \
            -CA ca.cert -CAkey ca.key -CAcreateserial -days 1095


Приватный ключ ca.key надежно сохраняем, а публичный ключ ca.cert в
дальнейшем распространим по серверам - клиентам.

Создаём на серверной машине директорию для хранения сертификатов:

        # mkdir /usr/local/etc/openldap/ssl


Копируем сертификаты:

        # cp user.cert /usr/local/etc/openldap/ssl
        # cp user.key /usr/local/etc/openldap/ssl
        # cp ca.cert /usr/local/etc/openldap/ssl


Устанавливаем права: 

        # chmod 440 /usr/local/etc/openldap/ssl/*
        # chown root:wheel /usr/local/etc/openldap/ssl/*


Настройка серверной части OpenLDAP:

Редактируем Файл конфигурации (по умолчанию):

        # vi /usr/local/etc/openldap/slapd.conf


Из опций добавлено:

        disallow tls_authc
        TLSCertificateFile    /usr/local/etc/openldap/ssl/user.cert
        TLSCertificateKeyFile /usr/local/etc/openldap/ssl/user.key
        TLSCACertificateFile  /usr/local/etc/openldap/ssl/ca.cert


Внимание !!! Опцию disallow рекомендую добавить до определения database

Запускаем OpenLDAP Server:

        # /usr/local/libexec/slapd -h 'ldap://0.0.0.0/ ldaps://0.0.0.0/'


Проверяем:

        # netstat -atn | grep LISTEN
        tcp4       0      0  *.636                  *.*                    LISTEN
        tcp4       0      0  *.389                  *.*                    LISTEN


Отлично !!!


Настройка клиентской части OpenLDAP:

Создаём на клиентской машине директорию для хранения сертификата:

        # mkdir /usr/local/etc/openldap/ssl


Копируем сертификат:

        # cp ca.cert /usr/local/etc/openldap/ssl


Устанавливаем права: 

        # chmod 440 /usr/local/etc/openldap/ssl/ca.cert
        # chown root:wheel /usr/local/etc/openldap/ssl/ca.cert


Редактируем Файл конфигурации (по умолчанию):

        # vi /usr/local/etc/openldap/ldap.conf


Из опций добавлено:

        BASE        o=MyORG,c=RU
        URI         ldaps://ldap.domain.ru
        TLS_CACERT  /usr/local/etc/openldap/ssl/ca.cert
        TLS_REQCERT never


Проверка работоспособности LDAP-клиента:

        # ldapsearch -LL -H ldaps://ldap.domain.ru \
          -b "o=MyORG,c=RU" -W -x -D "cn=Manager,o=MyORG,c=RU"


Таким образом имеем работающие OpenLDAP сервер и клиент с SSL поддержкой.

ВЕРСИЯ ДЛЯ ПЕЧАТИ


Автор|Источник|Перевод: Григорьев Михаил

Найти похожие документы: freebsd ldap ssl auth

Обсудить эту статью и задать вопросы Вы можете в нашем форуме. Рейтинг@Mail.ru