Hello! On Mon, Jul 18, 2016 at 12:03:07PM +0300, Evgeniy Berdnikov wrote:
> On Mon, Jul 18, 2016 at 11:05:12AM +0300, Vladislav Shabanov wrote: > > Пусть есть сайт ABC, на котором внедрили клиентские SSL-сертификаты > > для сотрудников. Такой сайт любому зашедшему браузеру сообщает, что > > принимает сертификаты, выданные организацией ZZZ. Если это > > сотрудник, то он сможет передать сертификат, сайт сможет его > > проверить, принять решение и т. д. Если нет, то будет выдана > > какая-то страница ??в доступе отказано??. > > Мне кажется, что запрос сертификата в SSL/TLS делается передачей клиенту > какого-то флага (бита), там нет места для указания развесистых условий > вроде "в DN сертификата поле OU должно быть непустым и совпадать со > сторокой ZZZ". То есть сказать браузеру "я принимаю сертификаты для > организации ZZZ" сервер не имеет технической возможности. Вам кажется. Запрос сертификата предусматривает список DN'ов корневых сертификатов, которым доверяет запрашивающий сертификат сервер. Цитата из спецификации TLS 1.2, https://tools.ietf.org/html/rfc5246#section-7.4.4: certificate_authorities A list of the distinguished names [X501] of acceptable certificate_authorities, represented in DER-encoded format. These distinguished names may specify a desired distinguished name for a root CA or for a subordinate CA; thus, this message can be used to describe known roots as well as a desired authorization space. If the certificate_authorities list is empty, then the client MAY send any certificate of the appropriate ClientCertificateType, unless there is some external arrangement to the contrary. Собственно, директивы ssl_client_certificate и ssl_trusted_certificate отличаются именно тем, будет ли сертификат включён в список certificate_authorities, отсылаемых клиенту, или нет. > > Вопрос вот в чём: нехороший человек это заметил и настроил свой сайт > > DEF так, чтобы во время SSL handshake тот тоже сообщал всем > > браузерам, что принимает сертификаты организации с названием > > ZZZ. Правильно ли я понимаю, что сотрудники компании ZZZ после этого > > уже никогда не смогут посещать сайт DEF анонимно? Браузер ведь будет > > тупо выдавать единственный установленный сертификат, у которого имя > > организации совпало? > > Соответственно, сайт может лишь попросить сертификат. А что ему вернут > зависит от того, как ведёт себя браузер. У браузера есть много вариантов > для выбора, прежде всего спросить юзера, хочет ли он передавать > клиентский сертификат. Всё так. Но стоит учитывать, что список authorities легко делает выбор браузера однозначным даже в случае наличия у браузера нескольких клиентских сертификатов. Пошлёт ли браузер единственный подходящий сертификат автоматически - зависит только от него. Из имеющихся у меня под рукой бразеров (Chrome, Safari, Firefox) - ни один не посылает. Но скажем тот же Firefox - оборудован опцией "посылать автоматически", которую можно включить. Так что стоит учитывать возможность небезопасного поведения браузера и следить за тем, чем пользуешься. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
