Защита modSecurity
Модуль ModSecurity в vsDesk помогает быстро создавать и применять правила защиты на основе событий из логов. Основной сценарий работы: взять подозрительный запрос из логов, создать правило в интерфейсе и применить конфиг в Apache. Такие запросы будут отсекаться на уровне веб-сервера не нагружая систему и не будут плодить логи. Вы сможете создавать правила блокировки по URL атаки в запросе, а так же блокировать по IP из лога. Для блокировки будет использоваться модуль Apache mod_security2.
1. Назначение модуля
- Создание правил блокировки через интерфейс vsDesk.
- Автоматическая генерация
SecRuleпо тексту атаки из лога. - Применение конфигурации ModSecurity из GUI.
- Откат к резервной конфигурации и просмотр аудита применений.
- Интеграция с анализатором логов через действие «В ModSecurity».
2. Права доступа
- Защита ModSecurity (
securitySettings) — доступ к модулю ModSecurity и операциям управления правилами.
3. Подготовка сервера
3.1 Ubuntu / Debian
sudo apt update
sudo apt install -y apache2 libapache2-mod-security2
sudo a2enmod security2
sudo systemctl restart apache2
apachectl -M | grep security23.2 RedOS / RHEL-like
sudo dnf makecache
sudo dnf install -y httpd mod_security
sudo systemctl enable --now httpd
sudo systemctl restart httpd
sudo httpd -M | grep security23.3 Astra Linux
sudo apt update
sudo apt install -y apache2 libapache2-mod-security2
sudo a2enmod security2
sudo systemctl enable --now apache2
sudo systemctl restart apache2
apachectl -M | grep security23.4 Include-файл правил
Создайте файл, в который vsDesk будет записывать сгенерированные правила:
Debian-like (apache2):
sudo mkdir -p /etc/apache2/modsecurity.d
sudo touch /etc/apache2/modsecurity.d/vsdesk-modsecurity.conf
sudo chown -R www-data:www-data /etc/apache2/modsecurity.d
sudo chmod -R 775 /etc/apache2/modsecurity.dRedOS (httpd):
sudo mkdir -p /etc/httpd/modsecurity.d
sudo touch /etc/httpd/modsecurity.d/vsdesk-modsecurity.conf
sudo chown -R apache:apache /etc/httpd/modsecurity.d
sudo chmod -R 775 /etc/httpd/modsecurity.dДобавьте include в конфигурацию Apache:
IncludeOptional /etc/apache2/modsecurity.d/vsdesk-modsecurity.confили для RedOS:
IncludeOptional /etc/httpd/modsecurity.d/vsdesk-modsecurity.conf3.5 Проверка reload/configtest из UI (sudoers)
Чтобы кнопка «Применить конфиг» работала из интерфейса, web-пользователь должен иметь право на reload и configtest Apache.
Ubuntu / Debian (web-user: www-data):
echo 'www-data ALL=(root) NOPASSWD: /bin/systemctl reload apache2, /usr/bin/systemctl reload apache2, /usr/sbin/service apache2 reload, /usr/sbin/apachectl -t, /usr/bin/apachectl -t' | sudo tee /etc/sudoers.d/vsdesk-modsecurity >/dev/null
sudo chmod 440 /etc/sudoers.d/vsdesk-modsecurity
sudo visudo -cf /etc/sudoers.d/vsdesk-modsecurityRedOS (web-user: apache):
echo 'apache ALL=(root) NOPASSWD: /bin/systemctl reload httpd, /usr/bin/systemctl reload httpd, /usr/sbin/service httpd reload, /usr/sbin/httpd -t, /usr/bin/httpd -t' | sudo tee /etc/sudoers.d/vsdesk-modsecurity >/dev/null
sudo chmod 440 /etc/sudoers.d/vsdesk-modsecurity
sudo visudo -cf /etc/sudoers.d/vsdesk-modsecurity4. Как открыть модуль в vsDesk
- Основной URL:
/security/modsecurity. - Из анализатора логов: в Анализаторе логов используйте кнопку «В ModSecurity» у нужной записи.
5. Поля формы правила
- Имя правила — имя правила в интерфейсе.
- Описание — комментарий администратора.
- Блокировать по IP из лога — вместо правила по шаблону запроса создается правило блокировки по IP-адресу источника атаки (если IP корректно извлечен из текста лога).
- Текст лога для автогенерации правила — текст атаки для автоматической генерации.
- Тело правила — готовое тело правила ModSecurity (
SecRule ...). - Режим:
Только обнаружениеилиБлокировка. - Статус:
Черновик,Активна,Не активна. - Активна:
ДаилиНет.
В итоговый конфиг попадают только правила со статусом «Активна» и флагом «Активна = Да».
При включенной опции «Блокировать по IP из лога» система формирует правило вида SecRule REMOTE_ADDR "@ipMatch ...". Если IP не распознан в тексте лога, используется стандартная генерация правила по признакам запроса.
6. Что делает каждая кнопка
- Сохранить правило — сохранить или обновить правило.
- Применить конфиг — запустить встроенный Preflight (права на запись + синтаксическая проверка), затем собрать и применить конфиг и выполнить reload Apache.
- Откатить конфиг — вернуть предыдущую резервную версию конфига и перезагрузить Apache.
- Очистить аудит — очистить журнал применений конфигурации.
- Редактировать — загрузить правило в форму для редактирования.
- Удалить — удалить правило.
7. Базовый сценарий использования
- Откройте Анализатор логов и выберите подозрительный запрос.
- Нажмите «Создать правило ModSecurity из этой записи лога».
- Проверьте текст в поле «Тело правила» (или оставьте автогенерацию по логу).
- Если нужно быстро отсечь источник атаки целиком, включите «Блокировать по IP из лога».
- Установите:
- Режим = Блокировка
- Статус = Активна
- Активна = Да
- Нажмите «Сохранить правило».
- Нажмите «Применить конфиг».
- Проверьте, что правило блокирует атаку (ожидаемый ответ —
403 Forbidden).
8. Действия после обновления vsDesk (обязательно)
После обновления системы необходимо убедиться, что ModSecurity и интеграция с Apache продолжают корректно работать.
8.1 Проверка сервера (Linux)
- Проверьте, что модуль ModSecurity загружен:
apachectl -M | grep security2
Для RedOS используйте:httpd -M | grep security2. - Проверьте синтаксис Apache-конфига:
sudo apachectl -t
Для RedOS:sudo httpd -t. - Проверьте наличие include-файла правил:
sudo ls -l /etc/apache2/modsecurity.d/vsdesk-modsecurity.conf
Для RedOS:sudo ls -l /etc/httpd/modsecurity.d/vsdesk-modsecurity.conf. - Откройте
/security/modsecurityи выполните «Применить конфиг». - Убедитесь, что операция завершилась успешно и запись появилась в аудите.
8.2 Проверка в интерфейсе vsDesk
- Откройте модуль
/security/modsecurityпод пользователем с правом «Защита ModSecurity». - Проверьте, что существующие правила отображаются в списке.
- Создайте тестовое правило (или откройте существующее) и нажмите «Применить конфиг».
- При необходимости выполните «Откатить конфиг» и проверьте успешный откат.
8.3 Минимальный чек-лист после обновления
- Модуль Apache
security2загружен. - Include-файл
vsdesk-modsecurity.confсуществует и доступен для записи. - Команда проверки конфига Apache проходит без ошибок.
- В vsDesk успешно отрабатывает кнопка «Применить конфиг».
- Операции Apply/Rollback фиксируются в аудите модуля.
9. Типовые проблемы
- Preflight не пройден: директория недоступна для записи — это актуальная встроенная проверка перед применением; проверьте права на каталог include-файла.
- Interactive authentication required — проверьте настройки
sudoersдля web-пользователя. - После применения в конфиге только базовые строки — проверьте, есть ли активные правила (Статус = Активна + Активна = Да).
- Нет доступа к модулю — проверьте право «Защита ModSecurity».

