如何在我的Ubuntu 12.04.5 LTS(精确穿山甲)上安装Fail2Ban的升级版本,这样我就可以设置一个recidive
filter。 Ubuntu 12.04.5 LTS安装Fail2Ban 0.8.6,我需要Fail2Ban 0.8.7来使用recidive
filter。
我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议使用recidive
filter。 recidive
文章的其余部分展示了如何build立一个自定义的recidive
等价物,但是如果存在recidive
这样的内置解决scheme,我不需要使用自定义的解决scheme。
但是,当我尝试在Fail2Ban 0.8.6中设置recidive
filter并重新启动服务时,它会失败,说明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,我现在可以添加一个recidive
filter到/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任何日志文件”错误)