Автор Тема: верификация клиентов ssl-сертификатом  (Прочитано 17036 раз)

spite

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Здравствуйте!
клиент проверяет соответствие хостнейма сервера и хостнейма, указанного в сертификате сервера (CN)
можно ли такую же проверку делать сервером, то есть проверять хостнеймы клиентов, указанные в их сертификатах?

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 464
    • Просмотр профиля
Re: верификация клиентов ssl-сертификатом
« Ответ #1 : 29 Декабрь 2012, 14:26:11 »
Здравствуйте!
Не приходилось заниматься проверкой сертификатов клиента. В теории, за такую проверку отвечает директива настроек сервера TLSVerifyClient (olcTLSVerifyClient), значение которой отличается от дефолтного never (посмотрите описание), на клиенте же в ldap.conf нужно указать директивы TLS_CERT и TLS_KEY. Будет ли при этом проверяться хостнейм из сертификата - не знаю, надо проверять.

Егор

spite

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: верификация клиентов ssl-сертификатом
« Ответ #2 : 29 Декабрь 2012, 16:18:56 »
увы, не проверяет. TLSVerifyClient на уровнях try и demand только требует валидный сертификат, но хостнейм не проверяет :(
хотелось сделать авторизацию клиентов полностью на sasl external, чтоб сразу биндились в лдап по своему dn из сертификата, но отсутствие проверки по хостнейму весь хитрый план обламывает :(

Здравствуйте!
Не приходилось заниматься проверкой сертификатов клиента. В теории, за такую проверку отвечает директива настроек сервера TLSVerifyClient (olcTLSVerifyClient), значение которой отличается от дефолтного never (посмотрите описание), на клиенте же в ldap.conf нужно указать директивы TLS_CERT и TLS_KEY. Будет ли при этом проверяться хостнейм из сертификата - не знаю, надо проверять.

Егор

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 464
    • Просмотр профиля
Re: верификация клиентов ssl-сертификатом
« Ответ #3 : 23 Январь 2013, 06:41:37 »
Здравствуйте!
Посмотрите статью Андрея Коновалова (http://sysadminblog.ru/ldap/2011/02/05/besparolnaya-avtorizaciya-na-servere-openldap-s-ispolzovaniem-sasl.html) -- он как раз пишет об авторизации через SASL EXTERNAL. Поподробнее об отображении сущностей SASL в LDAP-записи можно почитать в OLAG. Если вам нужно авторизоваться из-под DN в поле Subject сертификата клиента -- этого должно хватить.

Егор

spite

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: верификация клиентов ssl-сертификатом
« Ответ #4 : 23 Январь 2013, 18:24:29 »
 Да, я так уже и сделал. Подумав :) , стало понятно, что сертификат и не должен проверяться на соответствие хостнейма в 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) -- он как раз пишет об авторизации через SASL EXTERNAL. Поподробнее об отображении сущностей SASL в LDAP-записи можно почитать в OLAG. Если вам нужно авторизоваться из-под DN в поле Subject сертификата клиента -- этого должно хватить.

Егор