Jump to content
Калькуляторы

Вопрос по SSL-сайтам выборочное требование клиентского сертификата

Есть SSL-сайт, допустим https://site.ru.'>https://site.ru.

В нем есть два основных раздела, https://site.ru/zone1'>https://site.ru/zone1 и https://site.ru/zone2.'>https://site.ru/zone2. При входе на корневую страницу (https://site.ru или http://site.ru) перекидывает на zone2.

На zone2 может зайти любой посетитель. На zone1 может зайти пользователь, имеющий сертификат из списка.

Сервер Apache 1.3.

 

По информации из интернета получается примерно такое:

Конфигурация httpd или .htaccess

 

 

SSLEngine on
SSLOptions +StdEnvVars +ExportCertData
SSLCertificateFile site.crt
SSLCertificateKeyFile site.key
SSLCACertificateFile staff.crt
SSLCARevocationFile staff.crl
<Location /zone1>
   SSLVerifyClient require
   SSLRequire %{SSL_CLIENT_I_DN_Email} in {"ca@site.ru", "staff@site.ru"}
   SSLOptions +FakeBasicAuth
   AuthName "Secured Area"
   AuthType Basic
   AuthUserFile whitelist.lst
   require valid-user
</Location>

 

 

 

whitelist.lst

 

 

/emailAddress=admin@site.ru:xxj31ZMTZzkVA
/emailAddress=user1@site.ru:xxj31ZMTZzkVA
/emailAddress=user2@site.ru:xxj31ZMTZzkVA

 

 

 

Но отдельно проверить не на чем, а делать на боевом сервере боязно.

Просьба проверить, все ли правильно.

Share this post


Link to post
Share on other sites

И еще вопрос.

Когда сервер запрашивает клиентский сертификат, у посетителя браузер выдает диалоговое окно для выбора сертификата.

А можно сделать так, чтобы диалоговое окно не выдавалось? Если у клиента есть нужный сертификат (например сервер отправляет список сертификатов, которые он может принять, либо клиент отправляет на сервер все имеющиеся сертификаты), то ресурс открывается, если нужного сертификата нет, то ошибка.

Share this post


Link to post
Share on other sites

Насколько помню, то в whitelist.lst должна быть полностью вся строка DN. Ну и в параметре SSLRequire перечислены e-mails, которые не совпадают с whitelist.lst. Хотя, там мыло issuer'а.

 

PS Проверить можно на отдельном каталоге, вставив в .htaccess конфиг вместо части Location.

 

Да, еще забыл. Что бы в whitelist.lst можно было добавлять только e-mails, надо добавить опцию

 

SSLUserName SSL_CLIENT_S_DN_Email

Edited by vop

Share this post


Link to post
Share on other sites

Незабываем.

А это для чего?

У меня сервер один и IP-адрес один.

zone1 и zone2 это разделы на одном сайте.

Share this post


Link to post
Share on other sites

Незабываем.

А это для чего?

У меня сервер один и IP-адрес один.

zone1 и zone2 это разделы на одном сайте.

 

Я так понял, чел для расширения кругозора читателей это написал. :)

Edited by vop

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this