Почему ложные срабатывания Sucuri WAF продолжали блокировать веб-перехватчики Stripe и точное исправление белого списка IP-адресов, которое остановило это

Опубликовано: 2025-11-13

Компании, полагающиеся на Stripe для онлайн-транзакций, знают о важности бесперебойной связи через веб-перехватчик. Но когда Sucuri, популярный брандмауэр веб-приложений (WAF), начинает ошибочно идентифицировать законные веб-перехватчики Stripe как угрозы, результатом могут стать сбои в оплате, неудачные транзакции и ненужные затраты на поддержку клиентов. Если вы столкнулись с этим неприятным сценарием, вы не одиноки — и, к счастью, есть точное решение.

ТЛ;ДР

Если ваши веб-перехватчики Stripe блокируются Sucuri WAF из-за ложных срабатываний, проблема часто возникает из-за неправильного внесения в белый список IP-адресов или чрезмерного соблюдения правил WAF. Серверы Stripe чередуются с различными IP-адресами, которые должны быть явно разрешены в настройках WAF. Обновив брандмауэр Sucuri официальными IP-адресами Stripe и отключив определенные эвристические правила, вы можете мгновенно решить проблему и восстановить бесперебойную работу веб-перехватчика.

Понимание проблемы: Sucuri WAF и ложные срабатывания

Sucuri обеспечивает надежную защиту от DDoS-атак, взломов веб-сайтов и других вредоносных действий. Он работает, проверяя входящие HTTP-запросы и блокируя все, что выглядит подозрительно. Хотя это отлично подходит для блокировки злоумышленников, это может иметь неприятные последствия, когда законные сервисы, такие как Stripe, отправляют вызовы веб-перехватчика.

Stripe использует веб-перехватчики для уведомления вашего сервера о важных событиях, таких как успешные платежи, неудачные транзакции, возврат средств и изменение подписки. Они необходимы для автоматизации таких процессов, как обновление записей о клиентах, управление запасами и отслеживание доходов.

Проблема возникает, когда правила Sucuri — особенно эвристические фильтры, пытающиеся обнаружить SQL-инъекцию или внедрение кода — ошибочно классифицируют полезные данные веб-перехватчиков Stripe как вредоносные.

Общие симптомы этой проблемы включают в себя:

  • Панель управления Stripe показывает повторяющиеся сбои доставки веб-перехватчиков.
  • Входящие POST-запросы от Stripe не отображаются в журналах сервера.
  • Stripe повторяет запросы несколько раз из-за ошибки 403 Forbidden или тайм-аута.
  • Уведомления по электронной почте от Stripe, предупреждающие о сбое веб-перехватчика.

Несмотря на то, что Sucuri защищает ваш сайт, в конечном итоге он может действовать слишком агрессивно — блокировать то, что не следует.

Определение основной причины: ложные срабатывания, вызванные Stripe

Когда мы углубились в журналы сервера и панель управления Sucuri, проблема стала яснее. Каждый вебхук Stripe получал ответ 403 Forbidden или был полностью заблокирован для доступа к серверу. При просмотре журналов инцидентов в Sucuri неоднократно срабатывали следующие флаги:

  • Эвристический шаблон SQLi
  • Размер тела запроса превысил порог
  • POST-запрос заблокирован из-за неправильного формата JSON(даже если JSON действителен)

Sucuri использует развивающийся алгоритм обнаружения, и иногда полезные данные JSON Stripe включают символы или шаблоны (например, кавычки, скобки или определенные ключевые слова), которые эти эвристические механизмы алгоритмически ошибочно интерпретируют как подозрительную активность. Это приводит к тому, что Sucuri помечает и отбрасывает запрос, никогда не позволяя ему достичь вашего приложения.

Это было особенно проблематично во время рекламных кампаний, когда большие объемы транзакций создавали поток веб-перехватчиков, многие из которых ни к чему не привели.

Правильное решение: точный белый список IP-адресов

Хотя соблазн просто временно отключить брандмауэр или внести весь мир в белый список для URL-адресов веб-перехватчиков, это кошмар безопасности. Правильное и безопасное решение включает в себя несколько стратегических шагов:

1. Получите официальные IP-адреса Stripe.

Stripe публикует список диапазонов IP-адресов, из которых происходят их веб-перехватчики. Этот список доступен в их официальной документации и регулярно обновляется.

На момент написания вот примеры IP-адресов (ПРИМЕЧАНИЕ: они меняются, всегда проверяйте официальный источник):

3.18.12.63
3.130.192.231
13.235.14.237
13.235.122.149
18.211.135.69
35.154.171.200
52.15.183.38

2. Войдите в личный кабинет Sucuri.

Перейдите в настройки брандмауэра Sucuri и найдите раздел «Белый список» в разделе «Контроль доступа». Здесь вы можете вручную ввести точные IP-адреса, которые хотите разрешить, минуя все проверки WAF.

3. Добавьте все IP-адреса Stripe в белый список.

Убедитесь, что каждый блок IP-адресов, предоставленный Stripe, добавлен в белый список. Sucuri выполняет сложное сопоставление, поэтому отсутствие хотя бы одного IP-адреса может привести к периодическому сбою случайных событий веб-перехватчика.

4. Отключите заблокированные действия для конечной точки веб-перехватчика.

Вконфигурации URL-путейSucuri вы можете добавить конечную точку прослушивателя веб-перехватчика (например, /stripe/webhook) и отключить определенные правила WAF только для этого пути. Это позволяет избежать глобального отключения брандмауэра и гарантирует, что запросы Stripe не будут заблокированы без необходимости. Наиболее полезными настройками здесь являются:

  • Отключите эвристическую фильтрацию для этого конкретного пути.
  • Разрешите больший размер тела POST, если ваши события Stripe содержат полезные данные с большим количеством метаданных.

Это гарантирует, что конечная точка без помех примет сложные полезные данные JSON.

Бонусный совет: используйте секрет подписи Stripe

Даже после внесения IP-адресов Stripe в белый список все равно разумно проверять подлинность каждого полученного запроса веб-перехватчика. Stripe предоставляет секрет подписи, который позволяет вашему серверу криптографически проверять полезную нагрузку веб-перехватчика.

Это помогает гарантировать, что даже если какой-либо другой источник подделал IP-адреса Stripe и перейдет к URL-адресу вашего веб-перехватчика (маловероятно, но возможно), их запросы не смогут пройти проверку подписи. Следуйте руководству Stripe здесь, чтобы реализовать это.

Влияние: что решает правильный белый список

После настройки всех IP-адресов Stripe в брандмауэре Sucuri и настройки поведения правил WAF для конечной точки веб-перехватчика проблема полностью исчезла. Вебхуки начали мгновенно распознаваться, механизм повторных попыток Stripe больше не работал, и никакие события не терялись.

С точки зрения рабочего процесса и пользовательского опыта —

  • Клиенты перестали видеть подтверждения отсрочки платежа.
  • Запросы поддержки о неудачных подписках удалены.
  • Серверная автоматизация, такая как создание новых учетных записей пользователей, снова работала надежно.

Примечание об автоматизации

Поскольку список IP-адресов Stripe может меняться, рекомендуется установить ежеквартальное напоминание в календаре для проверки обновлений. К сожалению, Sucuri не предлагает автоматизацию белых списков на основе API, поэтому процесс остается ручным. Проявлять упреждение в этом случае жизненно важно, если вы хотите избежать еще одного раунда неудачной доставки веб-перехватчика.

Заключительные мысли

Sucuri WAF — мощный инструмент для обеспечения безопасности ваших веб-ресурсов, но ни одна система безопасности не является надежной. Ложные срабатывания, особенно на законных сервисах, таких как Stripe, могут вызвать реальные деловые разногласия. Вооружившись правильными IP-адресами и некоторой настройкой правил WAF, вы сможете обеспечить упрощенную и безопасную обработку платежей.

Помните:безопасность не обязательно должна обеспечиваться в ущерб функциональности. При тщательной настройке вы сможете сохранить гармонию обоих.