Решил написать короткую заметку о backport обновлении fail2ban под управлением Ubuntu 12.04. Эта статья будет полезна не только для обновления fail2ban, но и любого другого софта (почти любого) используя чудесную фитчу — backport.
В чем суть?!
На момент написания статьи, последняя версия fail2ban в стандартных репозиториях Ubuntu 12.04 это 0.8.6:
root@s01:~# apt-cache madison fail2ban fail2ban | 0.8.6-3wheezy3build0.12.04.1 | http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe amd64 Packages fail2ban | 0.8.6-3wheezy3build0.12.04.1 | http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages fail2ban | 0.8.6-3 | http://us.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages fail2ban | 0.8.6-3 | http://us.archive.ubuntu.com/ubuntu/ precise/universe Sources fail2ban | 0.8.6-3wheezy3build0.12.04.1 | http://us.archive.ubuntu.com/ubuntu/ precise-updates/universe Sources fail2ban | 0.8.6-3wheezy3build0.12.04.1 | http://security.ubuntu.com/ubuntu/ precise-security/universe Sources
На официальном сайте мы видим, что в новых релизах много чего подправлено и добавлено нового. А репозиторий не обновляется уже более года, но вот в Ubuntu 14.04 добавлено 0.8.13. И нам никто не мешает скачать и установить deb пакет и зависимости под Ubuntu 12.04.
Качаем пакет.
root@s01:~# wget http://parallels.bhs.mirrors.ovh.net/mirrors/parallels/PSA_12.0.18/dist-deb-Ubuntu-14.04-i386/opt/fail2ban/fail2ban_0.8.13-ubuntu14.04.14062515_all.deb
Теперь смотрим зависимости.
root@s01:~# dpkg -I fail2ban_0.8.13-ubuntu14.04.14062515_all.deb new debian package, version 2.0. size 200544 bytes: control archive= 7647 bytes. 685 bytes, 19 lines conffiles 620 bytes, 15 lines control 24006 bytes, 267 lines md5sums 619 bytes, 29 lines * prerm #!/bin/sh Package: fail2ban Version: 0.8.13-ubuntu14.04.14062515 Architecture: all Maintainer: Parallels Ltd. <info@parallels.com> Installed-Size: 1268 Depends: python, python-pyinotify Section: Web Priority: extra Description: ban hosts that cause multiple authentication errors Fail2ban monitors log files (e.g. /var/log/auth.log, /var/log/apache/access.log) and temporarily or persistently bans failure-prone addresses by updating existing firewall rules. Fail2ban allows easy specification of different actions to be taken such as to ban an IP using iptables or hostsdeny rules, or simply to send a notification email.
Как видим, нам нужно установить python и python-pyinotify.
root@s01:~# apt-get install python python-pyinotify
Если до этого стояла старая версия fail2ban 0.8.6 нужно удалить bin-арники fail2ban, так как пути в 14.04 и 12.04 отличаются. И сделать бекап /etc/fail2ban.
root@s01:~# rm /usr/local/bin/fail2ban-* root@s01:~# mv /etc/fail2ban /etc/fail2ban_orig
Теперь устанавливаем новую версию
root@s01:~# dpkg –i fail2ban_0.8.13-ubuntu14.04.14062515_all.deb
Ну вот и все.