Программы

Как защитить 1С-Битрикс от хакеров и ботов: разворачиваем полноценный WAF за 5 минут

Встроенный модуль безопасности в 1С-Битрикс часто преподносится как панацея. Но давайте смотреть правде в глаза: встроенный в саму CMS веб-фильтр (WAF) — это скорее иллюзия защиты. Правила там абсолютно непрозрачные, гибко настроить их под себя невозможно, а сама концепция фильтрации вредоносных запросов внутри работающего php-приложения выглядит как минимум странно. Защита должна стоять перед сайтом, перехватывая угрозы до того, как они попадут на  веб-сервер.

Чтобы решить эту проблему раз и навсегда, я собрал готовый образ виртуальной машины VMWare (на базе Debian) с полноценным связующим звеном безопасности: Nginx + ModSecurity + Fail2Ban.

Главная фишка этого образа — в него уже встроен удобный локальный графический веб-интерфейс (Дашборд) и множество готовых правил для защиты от атак именно на 1С-Битрикс. Вам больше не придется ковырять логи через консоль и редактировать правила в терминале. Вы получаете наглядную админку для управления безопасностью вашего сайта.


Что внутри защитного контура?

Архитектура решения выглядит классически и максимально надежно:
[Клиент] --> [WAF: Nginx + ModSecurity] --> [Бэкенд: ваш сайт на Bitrix]

Внутри готового образа на Debian (с легким окружением XFCE) развернут мощный стек:

  1. Nginx с модулем ModSecurity — полноценный сетевой экран веб-приложений.
  2. Базовый набор правил OWASP CRS — защита от топ-10 уязвимостей (SQL-инъекции, XSS, RCE и др.).
  3. Личный набор правил, который отправляет пентестеров и скрипт-кидди в суточный бан с первых запросов.
  4. Экспериментальные правила для защиты от эксплуатации конкретных уязвимостей в 1С-Битрикс.
  5. Fail2Ban — автоматическая блокировка атакующих IP-адресов на уровне файрвола.
  6. Умный Honeytoken — ловушка для обнаружения и блокировки автоматизированных сканеров и зловредных ботов.

Убийственная фишка: Бан за поиск чужих CMS

Если ваш сайт работает на 1С-Битрикс, на нем физически отсутствуют директории от WordPress, Joomla или Drupal. Любой бот или сканер, который пытается запросить условный wp-admin.php на вашем сайте — гарантированный злоумышленник.

Я разработал кастомные правила, которые мгновенно вычисляют таких сканеров и отправляют их IP в жесткий бан на сутки. Одно это простое действие начисто срезает более 90% автоматизированных атак и снижает паразитную нагрузку на ваш сервер.

Когда они улетают в бан за попытку проверить наличие админки WP, то начинают думать, что у вас WordPress. Они очень редко открывают сайт через браузер, поэтому явные признаки Битрикса чаще всего не замечают и потом уже с других IP пытаются проверять разные уязвимости WP, что вам только помогает отправлять их всех в бан навсегда! Что вам нужно? Просто периодически отправлять в вечный бан такие IP, а еще лучше целые диапазоны!


Графический интерфейс управления WAF (Вместо терминала!)

Моя гордость в этом образе — локальный интерфейс, который я написал специально для удобного администрирования. Забудьте про серые простыни логов в консоли.

Логи ModSecurity

В дашборде доступны:

  • Интерактивный журнал логов 403 ответов: Вы сразу видите, какой запрос был заблокирован, с какого IP и — главное — номер конкретного правила ModSecurity, которое сработало. Прямо из интерфейса можно в один клик перейти к детальному аудит-логу.
  • Встроенный редактор правил: Изменяйте, отключайте или добавляйте правила прямо в окне браузера. Для вашего удобства я добавил контекстное меню и полноценную подсветку синтаксиса.
  • Фильтры и поиск в каждой вкладке: Удобные фильтры и поиск позволяют быстро отсеять трафик и тонко настроить WAF под специфику вашего проекта.
  • Статистика Fail2Ban и системный журнал: Наглядный мониторинг заблокированных IP-адресов и действий в системе.

Аудит-лог позволяет смотреть абсолютно все запросы вместе с заголовками!

Аудит-лог

Редактор правил это просто космос!

Просмотр списка правил

И непосредственно сам редактор правил с подсветкой синтаксиса!

Редактор правил ModSecurity с подсветкой синтаксиса

И непосредственно мои экспериментальные правила для защиты от эксплуатации конкретных уязвимостей 1С-Битрикс!

Экспериментальные правила 1С-Битрикс

Самое смешное в том, что НИКТО не пишет правила WAF для защиты конкретных CMS от конкретных уязвимостей! Этого даже во встроенном в 1С-Битрикс WAF нет! Везде только общие правила от SQL инъекций и XSS с обходом путей! Правила были протестированы на реальном сайте!


Быстрый старт и шпаргалка по настройке

Образ полностью готов к работе по HTTP-протоколу. Все, что вам нужно сделать после запуска — изменить IP-адрес на ваш бэкенд.

1. Как запустить Дашборд управления

Откройте терминал в системе и введите команды:

cd /home/user/Рабочий стол/nginx-view-log/
./run.sh

2. Привязка к вашему сайту (Смена IP бэкенда)

Откройте конфигурационный файл:

sudo nano /etc/nginx/sites-available/mysite.lan

  • Найдите строку proxy_pass 192.168.0.98; и замените IP на адрес вашего реального сервера с Битриксом.
  • В строке server_name mysite.lan; укажите ваш домен (например, example.ru).

Перезапустите Nginx:

sudo nginx -t
sudo systemctl reload nginx

3. Важно: Режим тестирования (DetectionOnly)

По умолчанию WAF настроен на жесткую блокировку. Чтобы не закрыть доступ обычным пользователям из-за возможных ложных срабатываний, перед запуском на боевом сайте переведите ModSecurity в режим обучения:

sudo nano /etc/nginx/modsec/modsecurity.conf

Замените SecRuleEngine On на SecRuleEngine DetectionOnly. Поработайте так несколько дней, отследите логи в дашборде, отключите ненужные правила или отредактируйте их и только потом включайте боевой режим On.

Полезные команды для работы:

  • Разбанить IP вручную: sudo fail2ban-client set nginx-modsecurity unbanip [IP_АДРЕС]
  • Управление портами (файрвол nftables): По умолчанию открыт только 80 порт. Настройки живут тут: /etc/nftables.conf. Применить изменения: sudo nft -f /etc/nftables.conf && sudo systemctl restart nftables.


Карта конфигурационных файлов для кастомизации

Файл / Директория Назначение
/etc/nginx/sites-available/mysite.lan Виртуальный хост WAF (проксирование, обработка 403 ошибки)
/etc/nginx/modsecurity/modsecurity.conf Основной конфиг ModSecurity (режимы работы, лимиты)
/etc/nginx/modsecurity/coreruleset/ Базовые правила OWASP CRS (обновляются через git pull)
/etc/nginx/modsecurity/custom_bitrix.conf Кастомные правила (бан за чужие CMS, защита Битрикса)
/etc/fail2ban/jail.local Настройки времени и условий автобана


Как скачать готовый образ VMWare?

🔒 Закрытый канал на Sponsr.ru

Что доступно в канале:

Готовые образы настроенных средств защиты

Условия эксплуатации уязвимостей — анализ, которого нет в открытых источниках

Ссылки на эксплоиты для проверки своих систем

Правила для IDS/WAF там, где их использование рационально

Еженедельная рассылка условий эксплуатации новых уязвимостей

Подпишись на закрытый канал → | Инструкция и ссылка на образ

WAF доступен друзьям с любой подпиской.

Похожие материалы