fail2ban - зависит от виртуального хоста

Можно ли настроить fail2ban для запрета IP-адресов только для определенного виртуального хоста? Например, у меня есть фильтр, который обнаруживает различные попытки запустить файл * .php внутри структуры сайта. Которые я бы хотел запретить. У меня есть несколько веб-сайтов на сервере.

0
задан 24 May 2016 в 12:27
2 ответа

Нет. Fail2ban запрещает IP-адреса на брандмауэре. Виртуальные хосты определены на уровне HTTP / SSL в стеке протоколов, тогда как брандмауэр Linux работает только на уровне IP / TCP.

Таким образом, брандмауэр ничего не знает о виртуальных хостах и ​​о том, разрешать ли трафик или нет.

0
ответ дан 4 December 2019 в 16:36

Вы можете разделить свои файлы журналов в определении apache viritualhosts. Затем вы можете указать fail2ban учитывать только эти конкретные файлы журнала:

например,

1) Отредактируйте определение виртуального хоста apache2 Пути к журналу:

<VirtualHost *:80>
  ServerName www.foo.com

  # if you want this vhost to listen to extra names, uncomment the next line
  # ServerAlias foo.com www.bar.com bar.com

  DocumentRoot /var/www/www.foo.com/htdocs

  CustomLog /var/log/apache/www.foo.com-access.log combined
  ErrorLog /var/log/apache/www.foo.com-error.log
</VirtualHost>

2) Отредактируйте настройки Fail2ban jail.local:

Настройте Fail2ban как вам нравится. Вот несколько хороших примеров: https://www.digitalocean.com/community/tutorials/how-to-protect-an-apache-server-with-fail2ban-on-ubuntu-14-04

Для пример Virtualhost над вашим путем к журналу в jail.local должен выглядеть так:

logpath  = /var/log/apache/www.foo.com-*.log
1
ответ дан 4 December 2019 в 16:36

Теги

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