Разрешение войти пользователям от IP-адреса без аутентификации клиента сертификата

Да, скалы Perl для этого и вот являются целым сценарием с этой целью.

5
задан 27 July 2012 в 17:58
3 ответа

Вот как я это реализовал (xxx.xxx.xxx.xxx - разрешить доступ для этого адреса без сертификата):

  SSLVerifyClient optional
  SSLOptions -FakeBasicAuth +StrictRequire -StdEnvVars -ExportCertData
  SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128

  RewriteEngine on
  RewriteCond %{SSL:SSL_CLIENT_VERIFY} !^SUCCESS$
  RewriteCond %{REMOTE_ADDR} !^xxx.xxx.xxx.xxx$
  RewriteRule   ^  -  [F]

Обратите внимание, что SSLVerifyClient НЕ должен находиться в контексте каталога:

В контексте каталога он вызывает повторное согласование SSL с перенастроен уровень проверки клиента после чтения HTTP-запроса но до отправки ответа HTTP.

10
ответ дан 3 December 2019 в 01:07

Предположительно, внутри вашей сети сервер имеет другой (внутренний, частный) IP-адрес, чем при доступе извне.

В этом случае было бы проще всего настроить два vhosts - один на in.ter.nal.ip: 443 и один на ex.ter.nal.ip: 443.

Требовать сертификаты клиентов только на внешнем виртуальном хосте.

1
ответ дан 3 December 2019 в 01:07

Я был удивлен, обнаружив, что это работает в Apache 2.4:

<LocationMatch "^/some/secure/place">
    <If "! -R 'xxx.xxx.xxx.xxx/32'">
            SSLRequireSSL
            SSLVerifyClient require
            ...etc
    </If>
</LocationMatch>
0
ответ дан 3 December 2019 в 01:07

Теги

Похожие вопросы