У меня есть сервер каталогов 389, работающий на RHEL 5 с группами, пользователями, posix и т. Д. Клиенты RHEL аутентифицируют пользователей с помощью LDAP - никаких проблем, все работает отлично, но пароли отправляются в виде открытого текста и видны с помощью сетевого сниффера. Итак, решили запустить с SSL:
Не работает.
Как? Как лучше всего безопасно интегрироваться?
Первое, что вы можете сделать, это проверить, правильно ли ваш сервер представляет сертификаты. Вы можете сделать это, попытавшись подключиться к вашему серверу с помощью OpenSSL. На клиентской машине с доступом запустите:
openssl s_client –connect target_server_fqdn:636
Это должно вернуть красивую распечатку сертификата сервера. Ключевым моментом здесь является проверка напечатанного в конце «Проверить код возврата». Вы можете получить разные коды, но, вообще говоря, вы должны получить 0 для действующего сертификата и, возможно, 19, если вы сами подписываете.
Если это не удается, вернитесь и убедитесь, что вы правильно импортировали сертификаты на стороне сервера.
Если вы прошли этот тест, переходите к тестированию своих TLS-соединений на стороне клиента.
На клиентской машине запустите
ldapsearch -z -ZZ '(uid=<testusername>)'
Это вызовет поиск LDAP через зашифрованное соединение. В случае успеха вы должны вернуть некоторую информацию о пользователе, а проверка журналов DS должна дать следующее:
[23 / сен / 2011: 07: 48: 57 -0500] conn = 1631 op = 0 EXT oid = "XXXXXX.X.XX" name = "startTLS" [23 / сен / 2011: 07: 48: 57 - 0500] conn = 1631 op = 0 RESULT err = 0 tag = 120 nentries = 0 etime = 0 [23 / Sep / 2011: 07: 48: 57 -0500] conn = 1631 SSL 256-бит AES
Если это не удается, вам нужно убедиться, что сертификаты были правильно импортированы на стороне клиента.
При поиске и устранении неисправностей я часто обращаю внимание на следующие общие области:
1.) На клиентах в некоторых случаях (которые кто-то здесь может лучше объяснить) вы можете попытаться потребовать подписи, отредактировав ldap.conf и включив строку
TLS_REQCERT allow
2.) Если графический интерфейс аутентификации вызывает у вас проблемы, вы можете попробовать просто явно включить TLS для LDAP с помощью
authconfig --enableldaptls --update
У меня раньше были проблемы с графическим интерфейсом, поэтому я предпочитаю использовать команды CLI.
3.) И последнее, что вы можете попробовать (опять же, просто для тестирования), это вызов
cacertdir_rehash <dir where certs are stored>
Если вам нужна дополнительная помощь в создании самозаверяющих сертификатов, попробуйте следующее:
1.) Создайте свой собственный самозаверяющий сертификат CA:
certutil -S -n "<CA Certificate Name Here>" -s "cn=<CN Name Here>, dc=<Your DC's FQDN>" -2 -x -t "CT,," -m 1000 -v 120 -d . -k rsa
2.) Создайте сертификат сервера для сервера каталогов.
certutil -S -n "Cert-Name" -s "cn=<Server FQDN>" -c "<Name of CA Certificate>" -t "u,u,u" -m 1001 -v 120 -d . -k rsa
3.) Импортируйте оба этих сертификата на сервер каталогов в разделе «Управление сертификатами», выбранном в разделе «Задачи».
4.) Включите шифрование TLS.
5.) Создайте экспортируемый сертификат для клиентов и выведите его в файл .pem.
certutil -d . -L -n "<CA Certificate Name>" -a > cacert.pem
6.) По вашему выбору - загрузите сертификат клиента на каждого клиента.
7.) Перехешируйте сертификаты, используя ранее упомянутую команду
cacertdir_rehash <dir where certs are stored>
Мне не повезло с настройкой SSL для 389 серверов каталогов или административных серверов, следуя найденным мною howtos (я решил, что это потому, что я использовал Centos 6, и большинство howtos были нацелены именно на Redhat).
Что в конечном итоге сработало для меня, так это инициировать запросы сертификатов из интерфейсов сервера 389-console (admin | dir), подписать эти запросы с помощью установки tinyCA (просто интерфейс для openssl, я ленив), экспортировать подписанные сертификаты PEM и CA сертификаты и импортируйте их обратно с помощью 389-console.
389 консоль -> Группа серверов -> (администратор / каталог) сервер -> Открыть -> Управление сертификатами
Надеюсь это поможет...
Не могли бы вы использовать ссылку ниже для настройки RHDS / 389-ds на SSL.
http://lists.fedoraproject.org/pipermail/389-users/2012-March/014200.html
Надеюсь, это поможет.