Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
dn: uid=user_name, ou=People, dc=test, dc=ru
changetype: modify
add: host
host: name_of_host1
host: name_of_host2
host: name_of_hostn
Придётся повторить это для каждого пользователя! Разумнее написать скрипт, но я возложу это на ваши могучие плечи. После этого надо сделать ещё изменения в /etc/ldap.conf. В данном файле необходимо указать, что нужно ещё смотреть атрибут host:
pam_check_host_attr yes
Защита LDAP при помощи SSL
Как я уже говорил, в LDAP существует возможность защиты данных, передаваемых по сети. При этом используется два метода: TLS и SASL. Первый из них не меняет порта, на котором слушает LDAP (336), а просто организует аутентификацию асимметрическим шифрованием, SASL же меняет порт LDAP на ldaps:// и соединение идёт по другому механизму: через туннель SASL. TLS намного проще в настройке, поэтому я расскажу именно о нём. Для начала надо сгенерировать серверную пару ключей асимметрического шифрования. Для этого в Linux удобно воспользоваться единым центром сертификации OpenSSL (об этом я уже писал на страницах январского номера):
n создаем rsa ключ длиной 1024 бита и сохраняем его в файле ldap.key:
$ openssl genrsa -out ldap.key 1024
n создаём запрос на сертификацию:
$ openssl req -new -config .cfg -key ldap.key -out ldap.csr
n создаём сертификат, по которому будем доверять (CACertificate); вначале делаем ключ длиной 2048 бит:
$ openssl genrsa -des3 -out ca.key 2048
n создаём self-signed сертификат сроком действия на год на основе сгенерированного ключа:
$ openssl req -new -x509 -days 365 -key ca.key -out ca.cert
n теперь на основе созданного для LDAP ключа и доверенного сертификата создаём сертификат LDAP:
$ openssl x509 -req -in ldap.csr -out ldap.cert -CA ca.cert -CAkey ca.key -CAcreateserial -days 365 -extfile .cfg
При этом файл конфигурации .cfg должен содержать следующие расширения:
[ v3_req ]
subjectAltName = email:copy
basicConstraints = CA:false
nsComment = "LDAP server certificate"
nsCertType = server
Немного страшновато выглядит, но в ходе всех этих действий создаются два сертификата: доверенный сертификат и подписанный им сертификат сервера. Таким образом, сервер LDAP сможет проверить правильность своего сертификата через доверенный сертификат. Кстати, если у вас уже есть доверенные сертификаты, то можно воспользоваться ими: просто пропустите второй и третий шаг, и на четвертом шаге введите имя своего доверенного сертификата (можно также воспользоваться моим скриптом CA).