WAF на ModSecurity для корпоративного сайта — АйТи Фреш
Москва, Щёлковское шоссе, д. 92, корп. 7 · Пн–Пт 9:00–19:00 · +7 903 729-62-41
· 13 мин чтения

WAF на ModSecurity для корпоративного сайта: как мы спасли интернет-магазин от утечки 14 000 email клиентов

WAF на ModSecurity для корпоративного сайта: как мы спасли интернет-магазин от утечки 14 000 email клиентов

Большинство утечек клиентских баз, которые мы разбирали, происходили из-за одной и той же уязвимости — незащищённой веб-формы на сайте. На конкретном примере: что такое WAF (Web Application Firewall), почему открытый ModSecurity — оптимальный вариант для большинства российских компаний, и как мы внедряли его клиенту в сфере e-commerce.

Почему обычный сайт оказывается беззащитным

Когда руководитель заявляет «у нас же SSL-сертификат стоит, мы защищены», я обычно молча открываю логи Nginx и показываю, сколько запросов вида ?id=1 UNION SELECT прилетает на их сайт ежедневно. У среднего корпоративного сайта это от тысячи до десятка тысяч подозрительных обращений в сутки. SSL шифрует канал — но он никак не фильтрует, что именно по этому каналу передаётся.

Большинство атак на веб-ресурсы российских компаний сегодня — дело автоматики: боты прочёсывают интернет в поисках типовых лазеек — форм обратной связи без защиты от инъекций, забытых файлов .env в корне сайта, админок phpMyAdmin, устаревших плагинов WordPress. Ручные атаки тоже случаются, но обычно бьют по уже известным брендам с богатой клиентской базой. WAF — базовая кибергигиена для любой компании, чей сайт живёт и постоянно меняется, а не только инструмент для крупных игроков.

Так что же такое WAF, или Web Application Firewall? Представьте его как "умного" привратника, который стоит на страже между интернетом и вашим веб-сервером. Он скрупулёзно изучает каждый входящий HTTP-запрос: куда он направляется, что в себе несёт, выглядит ли он как обычный пользовательский трафик или как попытка взломать систему. Если запрос вызывает подозрения — WAF тут же его блокирует, не давая ему пройти дальше.

Кейс: интернет-магазин, который подвергся утечке клиентской базы

В феврале 2026 года к нам обратился руководитель одного интернет-магазина. Для удобства назовём его «МагазинОнлайн». Это довольно крепкий средний бизнес: у них ежедневно бывает по 15 000 уникальных посетителей, ассортимент насчитывает около 2 миллионов SKU, а в штате работает 28 человек. Но за месяц до того, как они пришли к нам, у них произошла настоящая катастрофа: кто-то через SQL-инъекцию в форме поиска товаров сумел вытянуть дамп таблицы с email-адресами 14 000 клиентов. Эти базы потом всплыли в спам-рассылках, клиенты были в ярости, звонили и возмущались, а репутация компании сильно пошатнулась.

Вот что мы увидели на аудите:

Задача, на первый взгляд, казалась простой: нужно было внедрить защиту, которая эффективно отсекает все атаки, но при этом ни капельки не мешает живым покупателям. Бюджет был строго минимальный, а срок — всего две недели, потому что на носу была старт весенней распродажи. Идеальное решение напрашивалось само собой: ModSecurity в паре с набором правил OWASP Core Rule Set.

Почему именно ModSecurity, а не Cloudflare или AWS WAF

Когда речь о WAF, у бизнеса три класса решений: облачные (Cloudflare, AWS WAF, Imperva), коммерческие on-premise (FortiWeb, F5, ПТ AF от Positive Technologies) и open-source (ModSecurity, NAXSI). У каждого свои сильные стороны:

РешениеСтоимость в годКому подходит
Cloudflare WAFот 240 000 ₽ (Pro+)Сайты без чувствительных данных, готовые пускать трафик через зарубежный CDN
Positive Technologies AFот 850 000 ₽Госкомпании и крупный бизнес с требованиями ФСТЭК
ModSecurity + OWASP CRS0 ₽ (плюс работа инженера)Корпоративные сайты, интернет-магазины, личные кабинеты — почти всё
NAXSI0 ₽Высоконагруженные проекты с простыми API

У «МагазинОнлайн» была своя специфика: они хранили данные банковских карт, работая через интеграцию с эквайрингом, и категорически не хотели пускать трафик через зарубежные CDN. К тому же, бюджета на дорогой ПТ AF у них просто не было. Вот почему ModSecurity подошёл идеально: это абсолютно бесплатное ПО, которое можно установить прямо на тот же сервер, где уже крутится Nginx, и самое главное — оно не требует перенаправлять трафик куда-либо на сторону.

Как мы разворачивали защиту: семь шагов вместо длинной портянки команд

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

  1. Поставили модуль ModSecurity на тот же сервер, где работал Nginx. Это безопаснее, чем выносить WAF на отдельный сервер: меньше точек отказа.
  2. Подключили набор правил OWASP CRS. Это коллекция из примерно 200 правил против самых частых атак: SQL-инъекции, XSS, попытки прочитать /etc/passwd, обращения к админкам.
  3. Включили режим наблюдения, а не блокировки. Первые семь дней WAF только записывал в лог подозрительные запросы, но ничего не блокировал. Мы посмотрели, какие правила срабатывают на легитимный трафик магазина.
  4. Нашли и отключили ложные срабатывания. Например, в каталоге товаров была категория «etcetera» — правило WAF принимало это за попытку прочитать системные файлы. Создали исключение под URL каталога.
  5. Включили блокировку. После того, как ложных срабатываний не осталось, перевели WAF из режима наблюдения в режим активной защиты.
  6. Подружили с fail2ban. Если один IP-адрес делает больше десяти заблокированных запросов за пять минут — бан на час через iptables. Это разгружает WAF: повторные запросы атакующего не доходят даже до анализа.
  7. Настроили уведомления в Telegram. Каждый бан и каждое срабатывание критичного правила приходит в чат службы безопасности.

На все работы у нас ушло ровно двенадцать рабочих дней. Установкой занимался наш старший инженер, средний инженер настраивал и тюнинговал правила под уникальные особенности магазина, а я, как директор, провёл финальный аудит и лично подписал акт приёмки.

Что получилось через месяц после запуска

Самая наглядная статистика — сравнение «было/стало» за тридцать дней работы:

ПоказательДо WAFПосле WAF
Заблокировано атак в сутки0 (защиты не было)≈ 2 800
Успешных SQL-инъекций1 (та самая утечка)0
Уникальных IP в бане за неделю0≈ 850
Прирост задержки страниц—+ 8 мс (95-й перцентиль)
Жалоб клиентов на «не работает»—3 за месяц (все ложные блокировки, исправлены)

За первые тридцать дней WAF успешно заблокировал около 84 000 атак и забанил больше трёх тысяч уникальных IP-адресов. Что важно, скорость загрузки сайта при этом совершенно не изменилась — покупатели вообще ничего не заметили! И самое главное: за прошедшие после этого два месяца не было ни одной успешной утечки, ни одного компрометирующего инцидента.

Подводные камни, о которых редко пишут

Но хочу сразу сказать: WAF — это не та штука, которую можно "поставить и забыть". За свои пятнадцать лет в этой сфере я видел десятки примеров, когда инженер настраивал систему, отчитывался, уходил, а уже через полгода вся эта защита превращалась в чистую декорацию. Вот ключевые моменты, на которых обычно спотыкаются:

Все эти потенциальные проблемы мы полностью закрываем нашей подпиской на абонентское обслуживание. Говоря простым языком: раз в неделю наш инженер внимательно просматривает дашборд WAF, своевременно обновляет правила, разбирается со всеми странными срабатываниями и отправляет клиенту короткий, но ёмкий отчёт.

Сколько стоит WAF под ключ для среднего бизнеса

На вопрос «сколько это стоит» в общем виде отвечать бессмысленно — разберу на примере конкретного кейса «МагазинОнлайн». Все суммы актуальны на апрель 2026 года и указаны с НДС:

ЭтапСтоимостьСрок
Базовый аудит сайта и инфраструктуры15 000 ₽1–2 рабочих дня
Установка ModSecurity + OWASP CRS, базовая настройка23 000 ₽2 рабочих дня
Тюнинг правил, исключения, интеграция с fail2ban18 000 ₽5–7 рабочих дней (включая мониторинг)
Документация и передача клиенту5 000 ₽1 рабочий день
Поддержка и обновления (в составе абонентки)от 4 500 ₽/меспостоянно

Итого, первичные работы по полному развёртыванию обошлись примерно в 61 000 руб. Это, по сути, разовые затраты. Дальше — небольшая ежемесячная абонентская плата за поддержание правил в актуальном состоянии. Просто для сравнения: лицензия Cloudflare Pro для сайта со средним трафиком будет стоить где-то 240–360 тыс. руб. в год, а ПТ AF — это уже от 850 тыс. рублей и выше.

Сравнение решений WAF: Cloudflare, Positive Technologies, ModSecurity и NAXSI
ModSecurity — оптимальное решение для корпоративных сайтов и интернет-магазинов.

Когда ModSecurity не подходит

Будем честны — есть сценарии, где ModSecurity не лучший выбор:

Что делать прямо сейчас, если у вас на сайте есть формы

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

  1. Откройте Google Search Console или Яндекс.Вебмастер. Если там есть предупреждения о вредоносном коде или взломе — у вас уже проблема.
  2. Попросите сисадмина или подрядчика показать логи веб-сервера за последние сутки. Если они не могут или говорят «у нас логи не хранятся» — это сигнал бедствия.
  3. Уточните, стоит ли fail2ban или аналог. Если нет — ставьте немедленно, это бесплатная защита от перебора паролей.
  4. Спросите, когда последний раз обновлялись CMS и плагины (WordPress, Bitrix, Tilda). Если ответ «не помню» — высокий риск.
  5. Закажите внешний аудит. У нас в АйТи Фреш он бесплатный для новых клиентов в Москве и в радиусе 50 км от МКАД.

FAQ — частые вопросы перед заказом

Стоит ли ставить ModSecurity, если у меня небольшой корпоративный сайт-визитка?
Если на сайте только статика и контактная форма — нет, достаточно правильной настройки сервера и fail2ban. WAF нужен там, где есть динамика: личный кабинет, оформление заказа, форма поиска по базе, админка. Тогда ModSecurity действительно спасает.
Сколько стоит развернуть WAF под ключ?
В АйТи Фреш базовый аудит и развёртывание ModSecurity с OWASP CRS стоит от 38 000 руб. за один сайт, плюс две недели тюнинга против ложных срабатываний — 12 000 руб. сверху. Дальше — поддержка в рамках обычной абонентки.
WAF сильно тормозит сайт?
При уровне Paranoia 2 средний прирост задержки — 5–10 мс на запрос. Пользователи этого не замечают. Главный ресурс — CPU: при 1000 запросов в секунду уходит примерно 15 % одного ядра.
Зачем ModSecurity, если есть Cloudflare?
Cloudflare — отличное облачное решение, но он терминирует TLS у себя и видит весь ваш трафик. Для интернет-магазинов с платёжными данными или для компаний, которые не готовы пускать персональные данные через зарубежные CDN, ModSecurity на собственном сервере — единственный вариант.
Кто будет следить за WAF после установки?
Это самый важный вопрос. WAF без сопровождения через 3 месяца становится бесполезным: правила устаревают, появляются ложные срабатывания. У нас в АйТи Фреш WAF — часть подписки на абонентское обслуживание, инженер раз в неделю проверяет логи и обновляет CRS.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

📄
Скачайте подробный разбор в PDF Кейсы, статистика, типовые ошибки и чек-лист самопроверки — 12 страниц
Скачать PDF

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Письмо придёт в течение минутыНе нашли его во «Входящих» — загляните в папку «Спам» или «Промоакции» и нажмите «Не спам». Так все следующие выпуски будут приходить прямо в основную почту.
Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.