是否有可能设置fail2ban禁止IP地址只为某些虚拟主机? 例如,我有一个filter,检测各种尝试在网站结构内运行* .php文件。 我想要禁止的 我在服务器上有多个网站。
Fail2ban禁止防火墙上的IP地址。 虚拟主机在协议栈的HTTP / SSL级别上定义,而Linux防火墙只在IP / TCP级别上工作。
所以,防火墙不知道什么关于虚拟主机,是否允许stream量。
你可以在apache viritualhosts定义中分离你的日志文件。 那么你可以告诉fail2ban只考虑这些特定的日志文件:
例如
1)编辑apache2虚拟主机定义Logpaths:
<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设置:
configurationFail2ban只要你喜欢它。 这里有一些很好的例子: https : //www.digitalocean.com/community/tutorials/how-to-protect-an-apache-server-with-fail2ban-on-ubuntu-14-04
对于jail.local中logpath上面的示例虚拟主机应该如下所示:
logpath = /var/log/apache/www.foo.com-*.log