The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настраиваем OpenLDAP сервер и клиент с поддержкой SSL (freebsd ldap ssl auth)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: freebsd, ldap, ssl, auth,  (найти похожие документы)
Date: Tue, 19 Apr 2005 17:31:23 +0600 (YEKST) From: Григорьев Михаил <neo@ucsnet.ru.>, <neo@chel.skbkontur.ru.> Subject: Настраиваем 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 поддержкой. Составил: Григорьев Михаил (<neo@ucsnet.ru.>, <neo@chel.skbkontur.ru.>)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним (1), 10:25, 21/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ужас просто ужас............ неужели автор думает что люди не читают манов? несовсем понятен смысл статьи... в очередной раз сказать всему миру как делать self signed ssl сертификаты? и что маны вредны...
     
  • 1.2, Zlobec (?), 11:23, 21/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    и где это в man'e написано?
     
  • 1.3, Григорьев Михаил (?), 20:06, 21/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    to Аноним

    Конечно, умеют, НО не все, к моему великому сожалению :(

    Тем более в статье описаны маленькие нюансы без знания которых SSL на OpenLDAP вы не заведёте, уж поверьте.

     
  • 1.4, cryptosonbian (??), 02:31, 22/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я вот не умею. Я поднял PDC во FreeBSD 5.3 просто, а когда захотел все на LDAP перетащить  - капец. Вся дока только под линух, в манах инфа разрозненная, к тому же инглиш я знаю далеко не идеально а настройка во фришке отличается от таковой в линухе в таких нюансах что сразу и не дойдет где подвох. Короче, хорошая заметка, но хотса баальшую статью типа "Централизованная схема управления сетью с использованием OpenLDAP в FreeBSD 5.x" (ну, говорят мечтать не воедно ;)  
     
     
  • 2.8, Loky (?), 11:04, 10/05/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Централизованное управление сетью на openLDAP...
    цирк да и только. действительно, разве что помечтать.
    OpenLDAP даже до AD далеко, я уж молчу про масштабируемые промышленные системы.
    При всем уважении к автору, написал действительно мало полезную статью.
     
     
  • 3.9, Василий (??), 10:52, 30/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Напишите более полезную. А про глобальности не интересно.
     
     
  • 4.10, Василий (??), 10:54, 30/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    to Loku
    Напишите более полезную. А про глобальности не интересно.


     

  • 1.5, Григорьев Михаил (?), 18:44, 22/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Небольшое исправление в статье, относительно прав на каталог с сертификатами как на клиенте, так и на сервере.

    Права должны быть такие:

    # chmod -R 750 /usr/local/etc/openldap/ssl
    # chown ldap:ldap /usr/local/etc/openldap/ssl

    Иначе OpenLDAP Server не запустится при старте системы.

     
  • 1.6, Григорьев Михаил (?), 18:47, 22/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На клиенте права на чтение нужно дать для всех:

    # chmod -R 755 /usr/local/etc/openldap/ssl
    # chown ldap:ldap /usr/local/etc/openldap/ssl

     
  • 1.7, Аноним (1), 16:10, 26/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вот опция -x  в тесте, она влияет только на подтверждение подлинности? И соединение всё-таки будет защищённым?
     
  • 1.11, c0re (??), 15:44, 13/09/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо, статья самодостаточная.
    Как раз то, что искал - добавление ssl к лдапу.
     
  • 1.12, Denis (??), 11:39, 21/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Привет всем,
    Можно получить обьяснение почему без TLS_REQCERT never , хэндшейк не проходит
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру