У меня в NGINX есть две настройки:
ssl_stapling on;
ssl_stapling_verify on;
Раньше это работало, но перестало работать после переустановки ОС. Интересно, в чем может быть проблема. Кроме того, в сценарии типа MITM, от какого типа атаки защищают ssl_stapling и ssl_stapling_verify? Если есть атака, от которой он защищает от чего-то, что я могу сделать, чтобы снизить эффективность атаки?
решение1
Сшивание SSL означает, что информация об отзыве сертификата сервера (т. е. ответ OCSP) включается в рукопожатие TLS вместе с сертификатом сервера. В настоящее время это скорее оптимизация трафика, поскольку дополнительный запрос OCSP не требуется (чего браузеры обычно не делают).
Это будет функцией безопасности, если браузер настаивает на том, чтобы ответ OCSP был скреплен. В этом случае это не позволит некоторым MITM использовать отозванный сертификат для домена, чтобы перехватить трафик и просто заблокировать запрос/ответ OCSP. Браузеры часто просто сдаются, если запрос OCSP не удается, и поэтому эта атака может сработать. Но опять же — большинство браузеров на самом деле больше не используют OCSP, а вместо этого используют альтернативный (и даже менее надежный) механизм — см.Как браузеры обрабатывают отозванные сертификаты SSL/TLS?.
Требование использования сшивания OCSP может быть свойством самого сертификата (расширение OCSP-must-staple), т. е. это может привести к сбою, если у вас есть такой сертификат, но вы не сшили ответ OCSP.
решение2
Сертификаты имеют списки CRL, которые показывают, что они были отозваны. Сшивание — альтернативный способ сделать это. Если вы включите это, я думаю, ваш издатель сертификата также должен поддерживать эту функцию. Я прикрепил ссылку ниже, которая описывает настройку на nginx.
https://www.digicert.com/kb/ssl-support/nginx-enable-ocsp-stapling-on-server.htm
Из того, что я читал об этом до сих пор, не похоже, что сшивание предотвращает MITM. Оно просто меняет способ проверки сертификата на предмет его действительности, не истек ли срок его действия или он не отозван.