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

Настроить SSL в Apache 2.2

Нужно настроить SSL на одном публичном сервере, чтобы он требовал клиентский сертификат (и предоставлял доступ на основе этого сертификата).

Когда-то давно у меня была такая рабочая конфигурация:

   SSLEngine on
   SSLCertificateFile    "cert/site.crt"
   SSLCertificateKeyFile "cert/site.key"
   SSLCACertificateFile  "cert/ca.crt"
#   SSLCARevocationFile   "cert/ca.crl"
   <Location />
       SSLRequireSSL
#        SSLVerifyClient require
#        SSLVerifyDepth 4
#        SSLRequire %{SSL_CLIENT_I_DN_Email} in {"ca@site.local", "staff@site.local"}
#        SSLOptions +ExportCertData +FakeBasicAuth
#        SSLUserName SSL_CLIENT_S_DN_Email
#        AuthName "Service Area"
#        AuthType Basic
#        AuthUserFile "cert/site.usr"
#        Require valid-user
   </Location>

Разумеется в ней все строки был раскомментированы.

ca.crt и ca.crl это сертификат собственного (самоподписанного) CA, site.crt и site.key это сертификат и ключ на сайт, подписанный собственным CA, site.usr это список email (в клиентском сертификате), которым разрешен доступ на сайт. Причем клиентские сертификаты должны были быть выданы либо корневым CA (ca@site.local), либо промежуточным CA (staff@site.local).

 

Ранее это все работало нормально.

Теперь в таком виде (с закомментированными строками) работает, но разумеется клиентский сертификат не проверяется.

Как только раскомментирую SSLVerifyClient require, работать сразу же перестает, на клиенте ошибка "Сайт не отправил данных", на сервере в логах "Re-negotiation handshake failed".

 

Не подскажите, куда копать?

Share this post


Link to post
Share on other sites

Блин, разобрался.

Все было правильно.

Просто у меня на ПК был установлен Касперский, который считал себя слишком умным и подменял CA на свой сертификат, для MITM.

Share this post


Link to post
Share on other sites

Я и сам впечатлился.

Подается под соусом благих намерений (проверять вирусы и трояны на https-страницах), однако при двухсторонней проверке (клиента сервером) это разумеется вылезло.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.