LINUX.ORG.RU
решено ФорумAdmin

nginx + modsecurity VS systemd

 , ,


0

1

Доброго времени суток

Пробую подключить modsecurity (libmodsecurity v3) к nginx (через modsecurity-nginx connector)

Ситуация странная

  • libmodsecurity и connector собираются, в принципе добавляются в конфиг nginx
  • и если перевести modsecurity-nginx в режим «SecRuleEngine On», правила работают, и даже пишут в error_log nginx’а
  • но логирование средствами modsecurity (SecAuditLog, SecDebugLog) не работает вообще никак. более того, если включить DebugLog в конфиге monsecurity-nginx, то nginx падает при запуске через systemd
  • НО. если запускать nginx вручную, а не через systemd, то он запускается без ошибок и тем более без падений. И даже начинает вести SecAuditLog ( хотя выглядит так, будто он туда пишет SecDebugLog )

Т.е. более-менее нормально он работает только в двух вариантах

  1. «SecRuleEngine On», дебаг лог отключен: можно запускать через systemd
  2. «SecRuleEngine DetectOnly». только мимо sytemd. Т.к. без дебага этот режим бесполезен

Кто-нибудь знает, что за проблемы у modsecurity-nginx с systemd?

Хотелось бы его пощупать с дебагом, но без костылей с ручным запуском мимо systemd

★★★★★

Последнее исправление: router (всего исправлений: 3)

посмотреть что писано в логах системд. вполне вероятно модуль залезает в те области ядра которые ему не дозволяет системд.

pfg ★★★★★
()

modsecurity это та пакость, которая не даёт отправить post-запрос с «подозрительно» выглядящими последовательностями символов?

Двоякое чувство: с одной стороны, хочется сказать «выкинь ты этот апачевский пережиток легаси, они даже формат конфигов не удосужились нормальный сделать», с другой, круто уже то что ты не пытаешься ещё и апач к нему в комплекте установить.

firkax ★★★★★
()
Ответ на: комментарий от pfg

Этот модуль всего лишь фильтрует http-запросы по сигнатурам. Вроде бы ядро тут ни при чём. Но логи системд на всякий случай и правда можно посмотреть.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

nginx падает при запуске через systemd

Падает как конкретно? Угадывать надо? 🤣 Логи, вывод systemctl status, etc.

Заодно покажи вывод systemctl cat nginx (подставь правильное имя юнита, если оно не nginx.service), чтобы понимать, какие режимы песочницы для него включены.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от pfg

В логах systemd только жалоба nginx на нехватку прав. Которая не подтверждается

А при запуске вручную (от того же рута с теми же параметрами) волшебным образом всё начинает работать

router ★★★★★
() автор топика
Ответ на: комментарий от firkax

Я помню, что ты фанатик. Есть что предложить взамен?

F5 мне plus с waf не продаст из-за санкций

router ★★★★★
() автор топика
Ответ на: комментарий от intelfx

Спасибо, но это моя область в которой я давно работаю. Скрипты для новичка только отнимут время у нас обоих

Тему создавал в надежде, что с этим багом кто-то уже сталкивался

router ★★★★★
() автор топика
Ответ на: комментарий от pfg

Блин, я лошара. На тестовом хосте забыл отключить selinux, и убил целый рабочий день

router ★★★★★
() автор топика
Ответ на: комментарий от router

Да не, я в курсе что всякое бывает. И если ты просто хостишь чьи-то дырявые проекты, то придётся всё это использовать да, посочувствую. Если же они не «чьи-то» то желаю тебе (или твоей фирме) таки исправлять проблемы на уровне приложений, а не костылить подобное уродство.

Но раз проблема решена то наверно это уже не важно.

firkax ★★★★★
()
Ответ на: комментарий от router

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

firkax ★★★★★
()

НО. если запускать nginx вручную, а не через systemd, то он запускается без ошибок и тем более без падений.

Наверняка аналогичная история: Не запускается tor со snowflake

erfea ★★★★★
()
Ответ на: комментарий от router

Нет не все, и что меня должно смущать? И зачем мне к психологу ходить?

firkax ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.