Защита от подмены серверных TLS-сертификатов в результате MITM-атаки провайдером |
[исправить] |
Для предотвращения получения TLS-сертификатов третьими лицами, которые в ходе
MITM-атаки могут контролировать трафик сервера, рекомендовано использовать
DNS-запись CAA, через которую можно указать какой именно удостоверяющий центр и
какая именно учётная запись в этом удостоверяющем центре авторизированы на
выдачу сертификата для домена.
CAA поддерживается в Let's Encrypt и не позволяет запросить сертификат,
используя другой ACME-ключ. Для включения привязки в DNS-зону следует добавить:
для привязки домена example.com к удостоверяющему центру letsencrypt.org:
example.com. IN CAA 0 issue "letsencrypt.org"
для дополнительно привязки к учётной записи acme-v02.api.letsencrypt.org/acme/acct/1234567890
example.com. IN CAA 0 issue "letsencrypt.org; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234567890"
DNS-сервер должен быть размещён на отдельном сервере, не подверженном
MITM-атаке. Для дополнительной защиты от подмены DNS необходимо использовать
протокол DNSSEC, который помешает атакующим подменить DNS-ответы с записью CAA.
Дополнительно рекомендовано через Tor или внешние хосты наладить автоматический
мониторинг отсутствия подмены сертификатов, и подключиться к сервисам
мониторинга CT-логов (Certificate Transparency, отражают выданные
удостоверяющими центрами сертификаты) или вручную отслеживать появление
незапрошенных сертификатов в CT-логах (https://crt.sh/). Также рекомендовано
выбирать размещённых в разных странах операторов хостинга, регистрации домена,
DNS и удостоверяющих центров.
|
|
|
|
Раздел: Корень / Безопасность / Шифрование, PGP |