Я немного заблудился с ldapsearch ... Мне нужно настроить облако с аутентификацией AD.
это хорошо работает
ldapsearch -h server -p 389 -x -D 'admin.test' -w 'xxx' -b 'cn=admin.test,cn=users,dc=domain,dc=com'
Но я хочу немного обезопасить себя, поэтому пробую ldaps.
Это работает:
> ldapsearch -H ldaps://server -x -D 'admin.test' -w 'xxx' -b 'cn=admin.test,cn=users,dc=domain,dc=com'
И это тоже:
> ldapsearch -H ldaps://server:636 -x -D 'admin.test' -w 'xxx' -b 'cn=admin.test,cn=users,dc=domain,dc=com'
Но это не работает.
ldapsearch -h server -p 636 -x -D 'admin.test' -w 'xxx' -b 'cn=admin.test,cn=users,dc=domain,dc=com' -v
ldap_initialize( ldap://srv-dc01.get.com:636 )
ldap_result: Can't contact LDAP server (-1)
Я не знаю, что происходит. И облаку нужен URL-адрес, а не URI. Другой вопрос, можно ли заблокировать ldap и позволить ldaps работать?
ОС: Linux CentOS 7 с selinux Enformed DC находится на сервере 2008 R2.
Большое спасибо. С уважением, Александр
ОБНОВИТЬ:
Из эта страница кажется, что
Полное доменное имя: всегда требуется с параметром -h. Это предотвращает атаки типа «злоумышленник посередине».
и что:
Хотя протокол ldaps поддерживается, он устарел.
Больше от man ldapsearch
:
-час: Укажите альтернативный хост, на котором запущен сервер ldap. Устарело в пользу -H.
Чтобы разрешить только безопасные соединения, посмотрите Вот, или другое простое решение - правило iptable:
iptables -A OUTPUT -p tcp --dport 389 -j DROP
iptables -A INPUT -p tcp --destination-port 389 -j DROP
Спасибо, я пробовал с -Z и -ZZ.
ldapsearch -h server -p 636 -x -D 'admin.test' -w 'xxx' -b cn=admin.test,cn=users,dc=domain,dc=com' -v -Z
ldap_initialize( ldap://server.domain.com:636 )
ldap_start_tls: Can't contact LDAP server (-1)
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
С -ZZ такое же сообщение об ошибке без ldap_sasl_bind (ПРОСТОЙ): Невозможно связаться с сервером LDAP (-1)
Вы правы, эта команда не запускает хороший протокол. Есть ли способ заставить это?