我如何升级Ubuntu 12.04.5 LTS中的Fail2Ban以安装“recidive”filter?

基本问题。

如何在我的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 12.04.5 LTS中安装的IPTables版本一起工作,除非我调整一些configuration文件或可能升级IPTables本身。

也许有一种方法来调整这一切为Ubuntu 12.04.5 LTS工作,但我没有时间或意志来处理,因为我想要的是recidive支持,不关心别的。 我能做什么?

试图从源代码安装Fail2Ban 0.9.3后,我search了一个自定义的PPA,发现没有。 但后来偶然发现了Fail2Ban的官方Ubuntu软件包页面 ,它给了我一个主意。 Fail2Ban的官方Ubuntu 14.10(Utopic Unicorn)软件包版本为0.8.13。 为什么不安装?

所以我摆脱了这样的Ubuntu 12.04.5安装Fail2Ban:

 sudo aptitude purge fail2ban 

然后,我手动安装了一些Fail2Ban依赖关系:

 sudo aptitude install gamin libgamin0 python-central python-gamin python-support 

完成之后,我抓住了原始的源代码Ubuntu.deb为Fail2Ban 0.8.13存档,如下所示:

 curl -O -L http://old-releases.ubuntu.com/ubuntu/pool/universe/f/fail2ban/fail2ban_0.8.13-1_all.deb 

然后我用这样的dpkg安装它:

 sudo dpkg -i fail2ban_0.8.13-1_all.deb 

完成之后,我检查了安装的东西的版本:

 fail2ban-client --version 

它的工作!

 Fail2Ban v0.8.13 Copyright (c) 2004-2008 Cyril Jaquier, 2008- Fail2Ban Contributors Copyright of modifications held by their respective authors. Licensed under the GNU General Public License v2 (GPL). Written by Cyril Jaquier <[email protected]>. Many contributions by Yaroslav O. Halchenko <[email protected]>. 

使用Fail2Ban 0.8.13,我现在可以添加一个recidivefilter到/etc/fail2ban/jail.local ,一切都按预期工作。

注意:请注意,虽然这一切似乎工作 – 而且这是一个自我回答的问题,如果有人认为或怀疑这种安装到Ubuntu 12.04.5的Ubuntu 14.10包安装是一个问题等待发生,请让我知道。 由于Fail2Ban都是基于Python的,现在看起来像预期的那样工作,所以我怀疑这个包足够轻,不会遇到任何问题。 但让我知道,如果我的假设是不正确的。

我有一个类似的问题。 在Ubu 14.04.05 64位与回购版本Fail2ban v0.8.11。

通告v0.8.14,在主Fail2ban网站上被列为“非常稳定”。

事实certificate,你可以下载更高版本并运行setup.py来覆盖v0.8.11。 没有必要删除 (卸载)v0.8.11,也不需要安装其他依赖项。 不过,下面我会介绍一个问题。

无论如何,这是我的解决scheme:

从回购安装Fail2ban,如果你还没有这样做

 apt-get update && apt-get upgrade -y apt-get install build-essential -y apt-get install fail2ban 

检查Fail2ban版本,然后停止它

 fail2ban-client --version fail2ban-client stop 

从Github下载v0.8.14,解压

 wget https://github.com/fail2ban/fail2ban/archive/0.8.14.tar.gz tar -xzf 0.8.14.* 

重要的是,不要跳过这个 :将当前的fail2ban.conf和jail.conf从/ etc / fail2ban复制到某个安全的地方。 根据需要创build一个新的文件夹。 不要担心jail.local。

 cp /etc/fail2ban/fail2ban.conf SOME_OTHER_FOLDER cp /etc/fail2ban/jail.conf SOME_OTHER_FOLDER 

运行v0.8.14的setup.py

 cd fail2ban-0.8.14 python setup.py install 

将先前复制的两个.conf文件移回到/ etc / fail2ban中,覆盖由v0.8.14设置创build的文件。

 mv SOME_OTHER_FOLDER/fail2ban.conf /etc/fail2ban mv SOME_OTHER_FOLDER/jail.conf /etc/fail2ban 

启动fail2ban,检查版本

 fail2ban-client start fail2ban-client --version 

由于我们没有去掉Fail2ban,所以没有必要混淆init或启动脚本。 Fail2ban仍将在重新启动时启动。

备份.conf文件很重要,因为v0.8.14 setup.py可能会生成无效的.conf文件,这将导致Fail2ban无法运行。 (它可能会退出一个“没有find任何日志文件”错误)