Я пытался найти способ еще больше заблокировать наш сайт разработчиков, и пришла идея, что вместо использования IP-ориентированной + защиты паролем использовать что-то более похожее на ключ PEM, как я бы использовал для ssh ' в сервер. Мне любопытно, насколько это жизнеспособно, и как это будет сделано. Я просмотрел документы Apache AuthType и увидел, что он поддерживает несколько вещей, помимо Basic, таких как Digest и Form, мне любопытно, могу ли я использовать что-то из них или, возможно, что-то еще, чтобы порты наших серверов 80 а 443 можно просмотреть только при предъявлении сертификата?
Вы просите возможно. Однако сделать из-за отсутствия starttls
/stls
командовать в http
, это доступно только для https
. SSH-ключи без сертификата не подойдут для этой цели.
Клиенту потребуется установить его сертификат (и закрытый ключ) в браузере.
Сервер должен будет включать следующие директивы в дополнение к другим стандартным для прослушивателя https.
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile path/to/a/trusted/CA.crt
Если ваш сайт использует SSL, есть возможность использовать клиентские сертификаты для авторизации пользователя.
Метод работает так:
Вы настраиваете Apache для использования аутентификации сертификата клиента
Создайте центр сертификации для генерации и подписания сертификатов
Создавайте и подписывайте сертификаты для всех ваших пользователей
Настройте каталог для использования директивы SSLVerifyClient
Есть очень хорошее и подробное руководство Вот.