ssl_reject_handshake
Директива `ssl_reject_handshake` используется для управления тем, отклоняется ли SSL-рукопожатие на основании критериев, заданных в конфигурации. — NGINX HTTP Core
Описание
Директива `ssl_reject_handshake` предоставляет механизм управления SSL-рукопожатиями, которые происходят, когда клиенты пытаются установить защищённое соединение с сервером. При включении эта директива влияет на поведение сервера при получении запроса на SSL-рукопожатие, конкретно отвергая попытку рукопожатия на основании заранее заданных правил или условий, установленных в конфигурации сервера. Эта директива может располагаться в контекстах `http` или `server` и принимает параметр-флаг. Флаг может принимать значения `on` или `off`, включая или отключая отказ в приёме SSL-рукопожатий соответственно. Когда директива установлена в `on`, любые клиентские запросы, не удовлетворяющие указанным критериям, будут немедленно прерваны, что предотвратит установление SSL-соединения. Эта функция особенно полезна администраторам сервера, желающим усилить безопасность, контролируя, какие клиенты могут инициировать SSL-рукопожатия на основании их характеристик или поведения. Важно настраивать эту директиву совместно с другими директивами управления доступом, такими как `allow` и `deny`, чтобы в полной мере использовать её возможности. Это обеспечивает прохождение рукопожатия только авторизованными клиентами, тем самым снижая риски, связанные с несанкционированным доступом и потенциальными уязвимостями во время SSL-переговоров.
Пример конфига
server {
listen 443 ssl;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
ssl_reject_handshake on;
}Убедитесь, что SSL/TLS правильно включены в server block, где используется эта директива.
Неправильная конфигурация может привести к тому, что законным клиентам будет отказано в доступе, поэтому тщательно протестируйте настройки перед развертыванием в production.
Учитывайте влияние на функциональность приложения при отклонении SSL-рукопожатий.