Cloudflare и AWS - Intermittent 525 SSL Handshake

Я получаю прерывистый (примерно 0,01% запросов) 525 (сбой SSL-подтверждения) между Cloudflare и нашим AWS EC2 Windows 2016 IIS, с Let's Encrypt CA установлен с использованием win-acme под управлением администратора. Мы ReactJs спереди и .NET Framework 4.7.2 сзади.

Вещи, которые я пробовал

  • Я изучал стандартные источники Cloudflare: Совет сообщества и Отладочные документы
  • Я подал заявку в службу поддержки Cloudflare, сказали они меня "Сброс соединения одноранговым узлом" во время рукопожатия.
  • Я проверил журналы IIS, я вижу, что пользователь успешно взаимодействует, но IIS не регистрирует никаких сбоев.
  • Отслеживание неудачных запросов IIS включено, но ничего не показывает (это не так далеко, как IIS).
  • У меня ведение журнала SCHANNEL переключено на подробный: "HKLM: \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL" Значение 7 - я вижу только 36880 (SSL согласован успешно) статус коды в средстве просмотра событий.
  • 525 возникает независимо от устройства, браузера, ОС, метода или конечной точки (как данные POST, так и GET изображений). Все клиенты находятся в Великобритании.
  • Хотя большинство сбоев связано с API, мы также видели страницу ошибок Cloudflare в нашей автоматизации.
  • My CloudFlare SSL настроен: Полная (Строгая), 1.2 и 1.3 (SSL 3, TLS 1.0 и 1.1 отключены в реестре на сервере).
  • У нас есть все шифры, доступные для TLS 1.2, установленные на сервере, с поддержкой SNI.
  • ЦП сервера, память, дисковый ввод-вывод и сетевой ввод-вывод - все на низком уровне во время 525.
  • У нас нет Elastic Load Balancer, сервер подключается прямо к AWS Gateway.
  • Никаких других процессов в это время не происходит (нет исправлений, обновления сертификатов или выпуска).
  • У нас отключено ограничение скорости.
  • Загрузка запросов очень низкая, последние 525 запросов (сегодня утром) были примерно 50 запросов в минуту.
  • У меня есть второй домен, настроенный без прокси, и я использую AWS Canary для частых посещений сайта. По состоянию на 2021/06/09 у меня нет сбоев (слишком рано говорить)

То, что я не могу легко сделать

  • Используйте сертификат Cloudflare Origin CA - для перехода требуется изрядная сумма изменений в автоматизации инфраструктуры, так как у нас есть большое количество многоуровневых поддоменов, которые нужно будет указывать индивидуально.
  • Добавление IP Cloudflare в белый список на AWS путем добавления IP-адресов Cloudflare в группу безопасности, которая присоединяет экземпляр EC2 к шлюзу. Мне понадобится лямбда-функция , чтобы поддерживать список в актуальном состоянии.

То, что я не могу сделать

  • Удалите прокси (и посмотрите, исчезнет ли оно). CF обеспечивает нашу защиту от DDoS-атак, я не могу отключить ее и сохранить нашу аккредитацию безопасности.
  • Установите Wireshark на сервер - это происходит очень периодически, я бы генерировал огромные журналы. У меня также есть ограничения на управление изменениями, поэтому я не могу установить все, что мне нравится, на производственном сервере.

Что-то мне не хватает? Если я получу решение, я опубликую здесь, чтобы помочь другим.

Сопутствующее сообщение в сообществе Cloudflare

1
задан 9 June 2021 в 11:12
1 ответ

Решение tldr;

Мы используем ESET File Security 7 на наших серверах, и он создавал временный черный список IP-адресов, в который иногда попадали IP-адреса Cloudflare. Я добавил IP-адреса Cloudflare в исключение IDS.

Деталь

Инженер поддержки Cloudflare (Andronicus - спасибо!) обнаружил, что проблема периодически возникает внутри Cloudflare, и предложил поискать что-нибудь, что могло бы осуществлять динамическую блокировку IP-адресов - особенно Cloudflare. Поскольку весь наш трафик проходит через Cloudflare, это может выглядеть как атака, и злоумышленники, атакующие конечную точку домена, также будут иметь IP Cloudflare.

Я взял это на вооружение и стал читать дальше. Мы работаем на AWS EC2, поэтому они используют технологию AWS Shield, которая включена по умолчанию и работает с флудом, а не с нашими низкими уровнями.

Затем я провел полную инвентаризацию сервера. Я подробно проверил все приложения и брандмауэр Windows. У меня большой опыт работы с брандмауэром Windows Firewall, поэтому я мог убедиться, что нет ничего неправильно настроенного.

ESET File Security для Windows Server - довольно хороший антивирус - особенно для обнаружения вторжений ботнетов. У него также есть функция под названием Защита от сетевых атак (IDS) для сканирования подозрительного сетевого трафика. Частью этой функции является "временный черный список IP-адресов". От ESET:

Просмотр списка IP-адресов, которые были обнаружены как источник атак и добавлены в черный список для блокировки соединений на определенный период времени. Показывает IP-адреса, которые были заблокированы.

IP-адреса добавляются в черный список на короткий период времени. Наблюдая за черным списком (он не ведет журналы), я заметил, что в нем появляются некоторые знакомые IP-адреса Cloudflare.

Я добавил IP-адреса Cloudflare в список исключений IDS (он разрешает диапазоны адресов) и поднял тикет в ESET, чтобы спросить, как мне поддерживать этот список в актуальном состоянии, поскольку от Cloudflare нельзя ожидать, что полный список IP-адресов будет статичным.

Если это вам не поможет, ознакомьтесь с моим полным сообщением на Cloudflare Community.

1
ответ дан 28 July 2021 в 13:08

Теги

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