Форум проекта Pro-LDAP.ru
Общие вопросы по LDAP => Работа с LDAP-клиентами => Тема начата: spite от 27 Декабрь 2012, 20:20:00
-
Здравствуйте!
клиент проверяет соответствие хостнейма сервера и хостнейма, указанного в сертификате сервера (CN)
можно ли такую же проверку делать сервером, то есть проверять хостнеймы клиентов, указанные в их сертификатах?
-
Здравствуйте!
Не приходилось заниматься проверкой сертификатов клиента. В теории, за такую проверку отвечает директива настроек сервера TLSVerifyClient (olcTLSVerifyClient) (http://pro-ldap.ru/tr/zytrax/ch6/#tlsverifyclient), значение которой отличается от дефолтного never (посмотрите описание), на клиенте же в ldap.conf нужно указать директивы TLS_CERT и TLS_KEY (http://pro-ldap.ru/tr/admin24/tls.html#Client%20Configuration). Будет ли при этом проверяться хостнейм из сертификата - не знаю, надо проверять.
Егор
-
увы, не проверяет. TLSVerifyClient на уровнях try и demand только требует валидный сертификат, но хостнейм не проверяет :(
хотелось сделать авторизацию клиентов полностью на sasl external, чтоб сразу биндились в лдап по своему dn из сертификата, но отсутствие проверки по хостнейму весь хитрый план обламывает :(
Здравствуйте!
Не приходилось заниматься проверкой сертификатов клиента. В теории, за такую проверку отвечает директива настроек сервера TLSVerifyClient (olcTLSVerifyClient) (http://pro-ldap.ru/tr/zytrax/ch6/#tlsverifyclient), значение которой отличается от дефолтного never (посмотрите описание), на клиенте же в ldap.conf нужно указать директивы TLS_CERT и TLS_KEY (http://pro-ldap.ru/tr/admin24/tls.html#Client%20Configuration). Будет ли при этом проверяться хостнейм из сертификата - не знаю, надо проверять.
Егор
-
Здравствуйте!
Посмотрите статью Андрея Коновалова (http://sysadminblog.ru/ldap/2011/02/05/besparolnaya-avtorizaciya-na-servere-openldap-s-ispolzovaniem-sasl.html (http://sysadminblog.ru/ldap/2011/02/05/besparolnaya-avtorizaciya-na-servere-openldap-s-ispolzovaniem-sasl.html)) -- он как раз пишет об авторизации через SASL EXTERNAL. Поподробнее об отображении сущностей SASL в LDAP-записи можно почитать в OLAG (http://pro-ldap.ru/tr/admin24/sasl.html#Mapping%20Authentication%20Identities). Если вам нужно авторизоваться из-под DN в поле Subject сертификата клиента -- этого должно хватить.
Егор
-
Да, я так уже и сделал. Подумав :) , стало понятно, что сертификат и не должен проверяться на соответствие хостнейма в CN хостнейму, откуда пришел коннект, т.к. в cn может быть любая информация, и лдап не может знать, что там. Поэтому, как вариант хоть какой-то проверки, сделал в конфиге
reverse-lookup on
и
by dn.regex='^cn=([^,]+),ou=servers,o=company'
by domain.expand="$1" read
это поможет от хождения клиентов те туда, куда надо
Здравствуйте!
Посмотрите статью Андрея Коновалова (http://sysadminblog.ru/ldap/2011/02/05/besparolnaya-avtorizaciya-na-servere-openldap-s-ispolzovaniem-sasl.html (http://sysadminblog.ru/ldap/2011/02/05/besparolnaya-avtorizaciya-na-servere-openldap-s-ispolzovaniem-sasl.html)) -- он как раз пишет об авторизации через SASL EXTERNAL. Поподробнее об отображении сущностей SASL в LDAP-записи можно почитать в OLAG (http://pro-ldap.ru/tr/admin24/sasl.html#Mapping%20Authentication%20Identities). Если вам нужно авторизоваться из-под DN в поле Subject сертификата клиента -- этого должно хватить.
Егор