IskWaf - Простой Web Application Firewall для MODX



IskWaf — Простой Web Application Firewall для MODX 3 и компонент iskwaf2x для MODX2

IskWaf — это компонент для MODX Revolution, представляющий собой простой, но гибкий межсетевой экран уровня веб-приложения (WAF). Он предназначен для обеспечения базовой защиты вашего сайта от некоторых распространенных угроз, нежелательных ботов и подозрительной активности путем применения набора настраиваемых правил. Компонент также включает подробное логирование и систему отчетов.

Основные возможности
Многоуровневые правила безопасности:
  • Правила по IP-адресу/CIDR: Блокировка, разрешение или показ CAPTCHA для конкретных IP-адресов или целых подсетей. Реализован приоритет точного совпадения IP над подсетью.
  • Правила по User-Agent: Применение действий на основе паттернов в строке User-Agent (типы паттернов: «содержит», «точное совпадение», «регулярное выражение»).
  • Правила по Referrer: Фильтрация запросов на основе HTTP Referrer с использованием различных типов паттернов.
  • Правила по Request URI: Блокировка или другие действия на основе запрашиваемого URI (пути или полного URI со строкой запроса), с поддержкой паттернов «содержит», «точное совпадение», «регулярное выражение» и «начинается с».
Гибкие действия по правилам:
  • Block: Полная блокировка запроса с выдачей страницы 403 Forbidden.
  • CAPTCHA: Показ локальной числовой CAPTCHA для проверки пользователя.
  • Allow: Явное разрешение запроса, обходящее другие правила более низкого приоритета (в текущей реализации — обход правил того же типа или последующих типов).
Локальная CAPTCHA:
  • Простая и настраиваемая CAPTCHA, генерирующая изображение с цифрами.
  • Задание для пользователя: ввести первые три или последние три цифры из отображаемого набора (например, из 6 цифр). Задание выбирается случайно.
Использует сессии для запоминания успешного прохождения, чтобы не беспокоить пользователя на каждой странице.

Система логирования:
Подробное логирование всех срабатываний WAF с указанием времени, IP, User-Agent, Referrer, URI, типа сработавшего правила, ID правила и предпринятого действия.

Настраиваемые режимы логирования:
  • full: Логируются все запросы к сайту (если ни одно правило WAF не сработало, запрос логируется как 'VISIT').
  • triggered: Логируются только те запросы, которые привели к срабатыванию одного из правил WAF. (Это поведение по умолчанию, если настройка пуста).
  • off: Логирование событий WAF отключено (но сами правила продолжают работать).
  • Автоматическая очистка старых логов с помощью CRON-скрипта (период хранения настраивается).
Ежедневные отчеты:
  • Автоматическая генерация ежедневных сводных отчетов по активности WAF (через CRON).
  • Статистика включает: общее количество событий, количество блокировок, показов CAPTCHA, разрешений по правилам, срабатываний по каждому типу правил (IP, User-Agent, Referrer, URI).
  • Подсчет хитов от основных поисковых систем (Googlebot, Bingbot, YandexBot, DuckDuckBot, Baiduspider, Applebot).
  • Сохранение топ-N заблокированных IP-адресов и топ-N сработавших правил в формате JSON.
Интерфейс управления (CMP):
  • Удобная страница в менеджере MODX для управления всеми аспектами IskWaf.
  • Отдельные вкладки с гридами для:
  • Просмотра логов WAF (с поиском и фильтрацией).
  • Управления правилами IP.
  • Управления правилами User-Agent.
  • Управления правилами Referrer.
  • Управления правилами Request URI.
  • Просмотра ежедневных отчетов.
  • Возможность создавать, редактировать, включать/отключать и удалять правила.
Геолокация:
Компонент использует базы данных IP2Location LITE для определения геолокации, ASN и другой информации по IP-адресам.
Сами файлы баз данных не входят в установочный пакет компонента, а скачиваются с помощью специального CRON-скрипта.

Ссылка на компонент IskWaf для MODX3
Ссылка на компонент iskwaf2x для MODX2

http://iskwaf.ru/ — Документация на русском языке для IskWaf (MODX3)
http://iskwaf.ru/iskwaf2x — Документация на русском языке для iskwaf2x (MODX2)
Ivan K.
29 мая 2025, 07:15
modx.pro
2
3 792
+11
Поблагодарить автора Отправить деньги

Комментарии: 3

Артур Шевченко
29 мая 2025, 07:59
+2
Ну вот, а говорят Modx умер, заметок новых нет, компонентов новых нет. А я же знаю, что врут. Modx жил, Modx жив, Modx будет жить!

Теперь по делу. Судя по описанию мощный инструмент защиты, а хорошая защита сайта это всегда актуально. Отдельное спасибо за поддержку второй версии Modx.
    Дима Касаткин
    29 мая 2025, 14:25
    0
    Респект автору за подход: описание, документация (в части и полноты и оформления)!
    Будем пробовать!

    И хотел уточнить, это opensource? Для своих клиентов я бы допилил поддержку sxgeo, т.к. он уже используется на проекте, чтобы не тащить дополнительную базу GeoIP и по ней не искать 2 раза.

    P.S. Открой приём донатов в профиле на modx.pro!
      Ivan K.
      29 мая 2025, 16:19
      0
      Данная версия будет бесплатной всегда, задумывал ее как базовую версию. Я скоро выпушу платный вариант с расширенным функционалом, где будет возможность использовать другие базы ip.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3