Задать вопрос
Kenya-West
@Kenya-West
Обычный Кеня

Как сделать бан IP'шников по известным путям в HTTP-запросах на веб-сервер?

Всем привет! Настроил Fail2Ban, который смотрит за SSH. Работает усердно, банит всех правильно, но это только SSH.

Возьмём, например, NGINX или Caddy. Там творится трэш и угар. Чего только не ищут: /.git/, ../../../root, /Hey! We hire developers at example.com!/$EOF, tvoya_mamka/ и т. д.
Такой микро-DDOS мне не нравится, да и спам в логах мешает.

Вопрос: разве нет такого готового WAF/Fail2Ban с предустановленными обновляемыми известными паттернами (их ведь тысячи!), который развернул - и он просто знай себе работает, обновляет списки паттернов? И, желательно, делится отчётами о работе с Prometheus через exporter.

Погуглил - везде всё с нуля. Наиболее близок проект caddy-waf, но его надо пересобирать под свою сборку, да и WAF там тупо пустой. NGFW - слишком крутые, IPTables - слишком сложные, и не для этого созданы. Fail2Ban нужно наполнять самому и научить читать логи Caddy.

Разве нет чего-то готового для небольшого сервера?
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@dronmaxman
VoIP Administrator
Ответ написан
Комментировать
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
(их ведь тысячи!),

их миллионы, если не больше, и, кроме английского, надо еще учитывать специфику международную: в моем проекте к нам однажды повадились ходить боты из Таиланда, Камбоджи и Вьетнама. Ключевые слова там совершенно другие, и разные, даже несмотря на общую тематику казино
Чем бороться с фантазией глобального человечества проще работать вайтлистом - вы же точно знаете какие пути ваше приложение обрабатывает. Остальное - в топку, без всяких размышлений. С кверями правда посложнее.
Кроме того помогает знать своего пользователя и закрыться по геолокации (например через CloudFlare если модуля геолокации в вашем вебсервере\прокси нет) от всех стран которые вам не нужны
Ну и (я вот не спец в nginx но вижу что подобный функционал есть в nginx plus который вроде платный) в вебсерверах и прокси есть различные механизмы rate limiting и dynamic acl (на примере haproxy): например считать error rate для ip и блокировать его на определенное время автоматически (вплоть до неразрешения устанавливать TCP сессию) или устроить подобие ханипота: все кто является например на ../.git автоматом попадают в динамический ACL которому запрещен доступ к приложению в принципе
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы