Налаштування WAF (веб-антивірус) 1С-Бітрікс
WAF у Бітрікс — це надбудова над проактивним фільтром із сигнатурним аналізом запитів. Розташований у Безпека → Проактивний захист → Веб-антивірус. При правильному налаштуванні закриває OWASP Top 10 на рівні застосунку, не потребуючи зовнішнього WAF-рішення.
Принцип роботи та відмінність від проактивного фільтра
Проактивний фільтр — простий аналіз паттернів (регулярні вирази по GET/POST). Веб-антивірус (WAF) — глибший аналіз із наборами правил, аналогічними ModSecurity Core Rule Set. Він перевіряє заголовки запиту, User-Agent, Cookie, тіло запиту.
Архітектурно: запит → \Bitrix\Security\Waf\Engine → набір правил → блокування/пропуск.
Конфігурація наборів правил
Безпека → Веб-антивірус → Набори правил:
Бітрікс постачається з кількома попередньо встановленими наборами:
-
Базовий — XSS, SQL-ін'єкції, обхід шляхів (
../) - Розширений — додаткові сигнатури, вища ймовірність хибних спрацювань
- Користувацький — власні правила у форматі регулярних виразів
Для кожного правила задається: зона перевірки (URI, параметри, заголовки), дія (блок/лог), пріоритет.
Налаштування білого списку
Найважливіший крок при розгортанні WAF — правильно налаштувати виключення до увімкнення в бойовий режим.
Типові виключення:
-
/bitrix/admin/— адміністративний розділ зі складними формами -
/bitrix/tools/upload.php— завантаження файлів через редактор - REST API-ендпоінти (
/rest/,/api/) - Шляхи до ваших кастомних AJAX-обробників
Додати виключення: Веб-антивірус → Виключення → Додати правило — вказується URI-маска та список правил, які не застосовуються.
Випадок із практики
Портал B2B із кастомною формою завантаження прайс-листів у форматі CSV. Після увімкнення WAF в активний режим форма перестала працювати — WAF блокував запити з вмістом CSV (символи ;, ", специфічні рядки, схожі на SQL). Рішення: додавання URI форми (/upload/import/price/) до виключень для правил групи SQL_INJECTION. Форма знову запрацювала, решта правил залишилася активною.
Моніторинг спрацювань
Логи WAF — у b_security_log з полем MODULE = 'security' та EVENT_TYPE = 'WAF'. Для аналізу використовуйте запит:
SELECT IP, REQUEST_URI, COUNT(*) as cnt
FROM b_security_log
WHERE EVENT_TYPE = 'WAF'
AND DATE_CREATE > NOW() - INTERVAL '24 hours'
GROUP BY IP, REQUEST_URI
ORDER BY cnt DESC
LIMIT 20;
Терміни виконання
Налаштування WAF із підбором правил і тестуванням на робочому трафіку — від 6 до 12 годин залежно від кількості кастомних компонентів і API-ендпоінтів.







