Управление cookie
Мы используем cookie-файлы для обеспечения корректной работы сайта, персонализации контента и улучшения пользовательского опыта.
Управление cookie
Настройки cookie
Обязательные cookie включены всегда. Вы можете изменить настройки других файлов в любой момент.
Обязательные cookie
Всегда включены. Эти cookie необходимы для работы сайта и выполнения его функций. Они не могут быть отключены. Обычно устанавливаются в ответ на действия, совершённые вами, например, при выборе настроек конфиденциальности, входе в систему или заполнении форм.
Аналитические cookie
Disabled
Эти cookie собирают информацию, которая помогает нам понять, как используется наш сайт и насколько эффективны маркетинговые кампании. Также они позволяют адаптировать сайт под ваши предпочтения. Список используемых аналитических cookie вы можете посмотреть здесь.
Рекламные cookie
Disabled
Эти cookie передают рекламным компаниям данные о вашей активности в интернете, чтобы показывать вам более релевантную рекламу или ограничивать её частоту. Эта информация может быть передана другим рекламным партнёрам. Список рекламных cookie вы можете посмотреть здесь.

Этот сайт переведен на несколько языков с помощью Multify

Ресурсы

Разбор атаки: сканер уязвимостей против прокси Multify

В этой статье: разбор реальной атаки сканера уязвимостей на прокси-инфраструктуру Multify — что ищут боты, как их блокируют на подходе и почему сайт клиента об этом даже не узнаёт.
29 мая 2026 года, 17:04. К прокси-серверу Multify подключились два IP-адреса из Кот-д'Ивуара. За следующие 90 секунд они перебрали почти 100 URL и получили 100 отказов.
Это типичная работа сканера уязвимостей. Не целенаправленный взлом, а автоматическая разведка. Такие сканеры работают непрерывно, обходя миллионы сайтов в поисках одного: открытого файла с ключами, паролями или конфигурацией, либо известной уязвимости в CMS. Неважно на чём стоит сайт — WordPress, Drupal, Joomla или самописный движок. Сканер проверяет всё подряд по стандартному словарю.
Multify как обратный прокси принимает весь входящий трафик на себя. Сканер стучится в инфраструктуру Multify, а не напрямую к сайту клиента. Защита прокси — это и есть защита клиентских сайтов.

Что ищет сканер

Вот список из реального лога:
`` /.env /.env.production /.env.local /.env.bak /wp-config.php /config/database.php /config/secrets.yml /azure-credentials.json /gcp-credentials.json /private.key /database.sql /dump.sql ``
Это не случайный набор, а стандартный словарь, составленный из реальных утечек. Каждый файл в этом списке когда-то нашли в открытом доступе на чьём-то продакшн-сервере.

Что именно ищут

Переменные окружения — файлы .env и их варианты. В них разработчики хранят ключи API, пароли к базам данных, токены платёжных систем. Один такой файл даёт атакующему полный доступ к инфраструктуре без каких-либо следов взлома. По данным GitGuardian, в 2024 году секреты в публичных репозиториях обнаруживались более 12 миллионов раз, .env в тройке самых частых. Разработчик добавляет файл в .gitignore, но на сервере после деплоя он остаётся в публичной директории, и никто не проверяет.
Конфиги CMS и фреймворков — wp-config.php (WordPress), конфиги Joomla, Drupal, файлы Laravel, Symfony, Rails. Сканер не знает, на чём написан сайт, поэтому проверяет все популярные варианты подряд.
Облачные ключи — gcp-credentials.json, azure-credentials.json, service-account.json, terraform.tfvars. Попадание означает доступ к облачному аккаунту со всеми данными и потенциальными счетами на десятки тысяч долларов.
Ключи шифрования — private.key, server.key, rails/master.key. Открытый приватный ключ позволяет расшифровать весь трафик или подделать подписи.
Логи и дампы — error.log, debug.log, database.sql, dump.sql. Логи часто содержат данные пользователей, пути к файлам, иногда пароли в открытом виде.
Конфиги инфраструктуры — nginx.conf, docker-compose.yml, web.config. Из них можно узнать внутреннюю топологию сети и найти следующую точку входа.
Уязвимости CMS — отдельная категория. Как только публикуется новый CVE, сканеры начинают проверять все сайты подряд, часто в течение нескольких часов. По данным Google Project Zero, медиана от публикации CVE до первых атак — 15 дней, но для уязвимостей с публичным PoC это время сократилось до нескольких часов. Пример, который сейчас в активной эксплуатации: CVE-2026-9082, SQL-инъекция в Drupal Core на PostgreSQL (версии 8.0 до 11.3.9). Уязвимость в том, как Drupal строит SQL-запросы через JSON:API: атакующий передаёт в параметре фильтра ключ массива с вложенным SQL, Drupal вставляет его в запрос без санитизации. Без авторизации, через обычный HTTP-запрос. Результат: выгрузка базы данных, создание admin-аккаунта, в некоторых конфигурациях выполнение произвольного кода. CVSS 9.8, критическая (для сравнения: Log4Shell, который положил половину интернета в 2021 году, получил 10.0). Патч вышел 20 мая, рабочий PoC появился на GitHub менее чем через час. 22 мая уязвимость добавили в каталог CISA Known Exploited Vulnerabilities. За первые 48 часов зафиксировано более 15 000 попыток эксплуатации на почти 6 000 сайтах в 65 странах.
Атака 29 мая была именно такой. WAF отработал по сигнатурам OWASP CRS, CrowdSec добавил оба IP в список заблокированных. Клиент об этом не узнал.
Сканер прошёлся по всем категориям сразу, за 90 секунд.

Два IP — один сканер

Сканер запустился с двух адресов одновременно. Современные сканеры распределяют нагрузку по нескольким IP, чтобы оставаться ниже порога простых rate-limit правил. Если защита срабатывает на «больше 10 запросов в минуту с одного IP», сканер просто делает по 5 с каждого. При этом сами IP чаще всего не имеют отношения к реальному атакующему — это арендованные VPS, взломанные серверы или ботнет-машины по всему миру. Кот-д'Ивуар здесь случайная география, а не место откуда реально работает человек.
Любопытная деталь из лога: первый запрос второго IP вернул 200 — сканер сначала проверил главную страницу, убедился что сайт живой, и только потом начал перебор. Это признак инструмента, а не случайного трафика.

Как прокси блокирует атаку

WAF

WAF (Web Application Firewall) — файрвол уровня приложения. В отличие от сетевого файрвола, который смотрит на IP и порты, WAF читает содержимое HTTP-запроса: URL, заголовки, тело. Он анализирует каждый запрос до того, как тот доходит до сайта.
Основа правил — OWASP Core Rule Set (CRS), открытый набор сигнатур атак, который поддерживает некоммерческий фонд OWASP. CRS покрывает перебор файлов конфигурации, SQL-инъекции, XSS и другие распространённые векторы. Запросы к .env, .sql, .key, wp-config.php и десяткам других расширений блокируются сразу. WAF не знает, существует ли файл на сервере — он блокирует по имени запроса, и сканер получает отказ до того, как успевает что-либо узнать.

CrowdSec

CrowdSec — открытый движок поведенческого анализа. WAF работает с каждым запросом отдельно, CrowdSec смотрит на последовательность: что именно запрашивает этот IP на протяжении последних минут.
Один запрос к .env может быть ошибкой в ссылке. Десять запросов к .env, .env.production, .env.local, .envrc за 30 секунд — это уже не пользователь. CrowdSec распознаёт этот паттерн по сценариям (поведенческим правилам) и блокирует IP. Заблокированные адреса попадают в общую базу угроз, которой пользуются тысячи серверов по всему миру. Сканер, засечённый на одном сайте, сразу становится нежелательным гостем везде.

Атака в цифрах

Параметр
Значение
Длительность
~90 секунд
URL в переборе
~100 на каждый IP
Категорий целей
8 (env, ключи, БД, логи, инфра, облако, CMS, фреймворки)
Успешных запросов
1 (главная страница, до срабатывания защиты)
Утечек
0
Сканер отработал стандартный словарь за полторы минуты и ушёл ни с чем. Сайт клиента не получил ни одного вредоносного запроса.

Почему это работает именно так

Когда сайт подключается к Multify, весь входящий трафик идёт через прокси. Клиент подключал Multify для локализации, а не для защиты. Но поскольку прокси стоит перед сайтом, вся защита инфраструктуры Multify автоматически распространяется на него.
Утечки через открытые файлы — один из самых частых векторов взлома. Происходят не из-за сложных эксплойтов, а из-за банальных ошибок: разработчик задеплоил проект и забыл убрать .env. Поставил тестовый дамп базы в публичную папку. Оставил конфиг с паролями на сервере. Сканеры находят такие файлы в течение нескольких часов, задолго до того как кто-то из команды заметит ошибку.

Часто задаваемые вопросы

Multify защищает от CVE-2026-9082?
Если сайт клиента работает на Drupal с PostgreSQL — WAF на уровне прокси блокирует характерные паттерны запросов: сложные filter-параметры к /jsonapi, запросы к /user/login?_format=json с нестандартными телами. Сканер не добирается до сайта. Но это не замена патчу: если сайт доступен напрямую в обход прокси, защиты нет.
Почему два IP, а не один?
Современные сканеры распределяют запросы по нескольким адресам, чтобы оставаться ниже порога простых rate-limit правил. CrowdSec смотрит на поведение, а не на количество запросов с одного IP, поэтому такая техника не помогает.
Сканер что-то узнал о сайте клиента?
Нет. WAF блокирует запросы по имени пути до того как они доходят до приложения. Сканер не знает, существует ли файл на сервере — он получает отказ на уровне прокси.
Что если атака не сканер, а целенаправленный взлом?
Целенаправленная атака сложнее: атакующий знает цель, использует нестандартные векторы и работает медленно, чтобы не попасть в поведенческие паттерны. WAF и CrowdSec снижают поверхность атаки, но не дают стопроцентной гарантии. Для критичных сайтов нужен penetration test и мониторинг аномалий.
Кот-д'Ивуар — это важно?
Нет. Геолокация IP сканера — это геолокация машины, которую используют, а не атакующего. Блокировка по стране бессмысленна: следующая атака придёт из Бразилии, Нидерландов или России.
Защита в комплекте с локализацией
WAF и поведенческая блокировка работают на уровне прокси — для каждого сайта под Multify, без дополнительных настроек с вашей стороны.
Попробовать бесплатное демо →