Добавляем новый источник пакетов в /etc/apt/sources.list, обновляем apt и ставим:
echo "deb http://www.backports.org/debian lenny-backports main contrib non-free" >> /etc/apt/sources.list
apt-get update
apt-get install sshguard
Разрешим sshguard при выполнении переустанавливать действующий идентификатор пользователя или группы:
chmod +s /usr/sbin/sshguard
Создавим файлы чёрного и белого списков:
mkdir /var/lib/sshguard
touch /var/lib/sshguard/whitelist
touch /var/lib/sshguard/blacklist
Создадим файл с правилами для iptables и сделаем его исполняемым:
touch /etc/network/if-up.d/sshguard
chmod +x /etc/network/if-up.d/sshguard
В файл добавим следующие строки:
#! /bin/sh
iptables -N sshguard
ip6tables -N sshguard
# блокируем SSH, FTP, POP, IMAP
iptables -A INPUT -m multiport -p tcp –destination-ports 21,22,110,143 -j sshguard
ip6tables -A INPUT -m multiport -p tcp –destination-ports 21,22,110,143 -j sshguard
# или конкретный порт:
#iptables -A INPUT -p tcp –dport 22 -j sshguard
#ip6tables -A INPUT -p tcp –dport 22 -j sshguard
Создадим файл запуска sshguard и сделаем его исполняемым:
touch /etc/init.d/sshguard
chmod +x /etc/init.d/sshguard
В файл добавим следующие строчки:
#! /bin/sh
# После 3 неудачных попыток IP будет временно заблокирован, а после 9 блокировок внесён в чёрный список
tail -n 0 -F /var/log/auth.log | sshguard -a 3 -p 420 -s 1200 -b 9:/var/lib/sshguard/blacklist -w /var/lib/sshguard/whitelist &
Включим автозапуск sshguard:
update-rc.d sshguard defaults