我正在寻求保护我的服务器。 最初我的第一个想法是使用iptables,但后来我也了解了Fail2ban 。 据我所知,Fail2ban是基于iptables的,但它具有能够在多次尝试后禁止IP的优点。 假设我想完全阻止FTP: 我应该编写一个单独的IPtable规则来阻止FTP,并使用Fail2ban仅用于SSH 或者简单地把所有的规则,甚至FTP阻止规则放在Fail2Banconfiguration中 任何帮助,将不胜感激。 詹姆士
我正在使用iptables-persistent包在启动时重新加载我的iptables。 我一直在想,我应该添加fail2ban规则到加载的configuration文件? 现在我看到他们是重复的。 这是我的防火墙configuration: *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :fail2ban-ssh – [0:0] -A INPUT -p tcp -m multiport –dports 22 -j fail2ban-ssh # Accepts SSH connection -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT # HTTP -A INPUT -p tcp –dport 80 -j ACCEPT # SSH -A INPUT -p tcp […]
我刚刚在我的一台服务器上遇到了pop3-login攻击。 我感到惊讶的是,fail2ban没有阻止他们,然后我意识到这个服务正在监听多个IP地址,攻击者正在喷洒所有的IP地址。 Fail2ban只阻止了我的第一个IP。 fail2ban有一个myip = xyza的设置,但它似乎并没有取多个值。 有没有办法设置这个?
我试图用fail2ban阻止不可用的脚本请求到nginx。 # Noscript filter /etc/fail2ban/filter.d/nginx-noscript.conf: # # Block IPs trying to execute scripts such as .php, .pl, .exe and other funny scripts. # # Matches eg # 192.168.1.1 – – "GET /something.cgi # [Definition] failregex = ^<HOST> -.*GET.*(\.asp|\.exe|\.pl|\.cgi|\scgi) ignoreregex = 但是如果访问日志中的引用者拥有脚本标签,这也会产生一个命中。 例如:(我已经混淆了IP和引用者,并且我截断了多行,在真正的日志中,这四行是在一行上)。 1.2.3.4 – – [16/Dec/2013:18:01:10 +0100] "GET / HTTP/1.1" 301 178 "http://referrer.com/default.aspx" "Mozilla/5.0 (Windows […]
我在Ubuntu服务器上使用directadmin。 我最近安装了Fail2Ban。 但我仍然收到来自directadmin的“暴力攻击”电子邮件。 我的jail.conf(只有auth.log jails!): [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6 [pam-generic] enabled = false filter = pam-generic port = all banaction = iptables-allports port = anyport logpath = /var/log/auth.log maxretry = 6 [ssh-ddos] enabled = false port = ssh filter = sshd-ddos logpath = […]
我正在看到一个类似于最近nginx日志中的以下行的多url模式。 GET / GET /somepath/ GET /otherpath/ GET / GET /somepath/ GET /otherpath/ … 我已经使用fail2ban为某些url,但我找不到这种模式的解决scheme。 像“每秒n次以上的重复请求”这样的规则不适合这种行为,因为bot每秒对同一个url进行0-3次请求,这样的规则也会阻止多个用户共享相同的ip号码。 是否有可能在fail2ban中应用多个url模式的规则?
我试图在rsyslog服务器上运行fail2ban,它从我们其他的服务器收集auth日志。 我感兴趣的是获取通知作为第一步。 我的问题是,fail2ban只会触发来自本地机器(名为“sth-admin-log01”的日志服务器)的auth.log行,而不是远程服务器。 例如,此行出现3次足以触发fail2ban操作: Mar 27 10:21:28 sth-admin-log01 sshd[18516]: Failed password for root from 192.168.1.3 port 34234 ssh2 这条线不会触发任何东西,不pipe它出现多less次: Mar 27 11:20:19 test-vm sshd[9772]: Failed password for root from 192.168.1.3 port 34631 ssh2 我试图validation使用fail2ban-regex(默认)sshd.conf筛选器,它匹配两个日志行就好了。 我在Ubuntu 64bit 14.0.4.1上使用fail2ban 0.8.11-1。 有任何想法吗?
基本问题。 如何在我的Ubuntu 12.04.5 LTS(精确穿山甲)上安装Fail2Ban的升级版本,这样我就可以设置一个recidivefilter。 Ubuntu 12.04.5 LTS安装Fail2Ban 0.8.6,我需要Fail2Ban 0.8.7来使用recidivefilter。 更多细节。 我pipe理了一批Ubuntu 12.04.5 LTS(精确的穿山甲)服务器,并安装了Fail2Ban专门用于阻止重复的SSHpowershell尝试。 这些攻击是针对root用户的, root用户在所有这些系统上都是禁用的,但我只是想为自己的混合添加另一层保护,并减less不得不筛选失败login尝试的额外“噪音”在我的SSH auth.log 。 无论如何,从默认存储库为Ubuntu 12.04.5 LTS安装的Fail2Ban-version 0.8.6版本大部分function非常强大。 但似乎缺less阻止屡犯的支持。 而这些服务器肯定会得到很多持续的暴力尝试。 所以我想确保这些小丑被阻塞了更长的时间。 我检查了这个博客文章,标题为“永久禁止使用fail2ban recidive (更新)” ,它build议使用recidivefilter。 recidive文章的其余部分展示了如何build立一个自定义的recidive等价物,但是如果存在recidive这样的内置解决scheme,我不需要使用自定义的解决scheme。 但是,当我尝试在Fail2Ban 0.8.6中设置recidivefilter并重新启动服务时,它会失败,说明filterrecidive不存在。 当我检查GitHub上的Fail2Ban更新日志时,我可以看到在版本0.8.7中添加了recidive支持: Tom Hendrikx * [f94a121..] 'recidive' filter/jail to monitor fail2ban.conf to ban repeated offenders. Close gh-19 那么,不是那么特别。 我使用的是0.8.6,版本0.8.7支持这个。 那么我怎样才能在Ubuntu 12.04.5 LTS上轻松安装比Fail2Ban 0.8.6更新的东西呢? 我试图通过克隆GitHub库来安装0.9.3版本,切换到Debian分支(因为Ubuntu是基于Debian的),它似乎工作。 但启动服务不起作用,似乎0.9.3不会与我已经在Ubuntu […]
我从同一个IP地址获得不同的SSH攻击,他们被禁止。 但他们正在使用不同的港口,他们所要做的就是改变港口绕过禁令。 Dec 28 23:16:57 Nixie sshd[30706]: Failed password for root from 40.127.178.38 port 3424 ssh2 Dec 28 23:16:54 Nixie sshd[30704]: Failed password for root from 40.127.178.38 port 1112 ssh2 Dec 28 23:16:51 Nixie sshd[30702]: Failed password for root from 40.127.178.38 port 1116 ssh2 Dec 28 23:16:47 Nixie sshd[30700]: Failed password for root from 40.127.178.38 […]
Heyo, 我使用Ubuntu 15.10和fail2ban 0.9.3。 Apache设置了一堆Apache虚拟主机。 我有我的Apache2日志文件位于子目录中,每个本地主机,例如'/var/log/apache2/vwww_example_vhost_com/和日志文件作为error.log或access.log (或ssl_error.log和ssl_access.log )。 主要的apache2日志文件(localhost和default)位于/var/log/apache2 。 理想情况下,我希望能够通配该子目录,并在该子目录下的任何日志文件中读取fail2ban。 jail.local联机帮助页指出,为了指定多个日志文件,必须在每个日志文件之间放置换行符和空格。 这似乎不适用于通配目录。 以下是其中一个jail的默认configuration: [apache-auth] port = http,https logpath = %(apache_error_log)s enabled = true 目前我已经尝试过: [apache-auth] port = http,https logpath = %(apache_error_log)s /var/log/apache2/*/*error.log enabled = true 带有前导空格的换行符上的辅助日志文件path。 此错误和service fail2ban restart失败,出现一个神秘的(和无用的)错误消息。 这失败了: [apache-auth] port = http,https logpath = /var/log/apache2/*/*error.log enabled = true 试图覆盖%(apache_error_log)s的%(apache_error_log)svariables也失败: [DEFAULT] apache_error_log = […]