sshguard, или как избавиться от лишних ссобщений в auth.log [2009]
Думаю, если не у всех, то у очень многих, у кого есть "белый" IP адрес
встречались с ситауцией, когда роботы пытаются брутить ssh. Есть различные
решения чтобы избежать этого - кто-то перевешивает ssh на верхний диапазо
портов, кто-то включает аутентификацию по ключу.
Но что делать тогда,
когда перевешивать порт не хочется, а флешка с ключами не всегда под рукой? Для
этого есть замечательная утилита, которая называется sshguard, которая есть в
портах FreeBSD и замечательно умеет работать с наиболее популярными файрволами в
этой системе.
Из файрволов автор предпочитает pf, поетому именно на его
примере покажем как организовать работу sshguard. Данная статья
предполагает, что читатель имеет базовые знания о системе FreeBSD и знаком с
файрволом pf.
Для начала поставим этот самый sshguard:
# cd /usr/ports/security/sshguard-pf/
#
make install clean
В своём любимом редакторе
редактируем файл конфигурации pf (по умолчанию - /etc/pf.conf)
и добавляем в него следующие строки:
table persist
block in log quick on
$ext_if from to anyport ssh
Далее, в
файле /etc/syslog.conf раскомментируем (или добавим, если нет)
строчку
Перезапускаем syslogd и
pf, дожидаемя наших "любимых" роботов, смотрим в auth.log:
Jun 16 00:32:07 sshd[80978]: Did not receive identification
string from 61.40.120.3 Jun 16 00:34:44 sshd[81018]: Invalid user fluffy from
61.40.120.3 Jun 16 00:34:47 sshd[81020]: Invalid user admin from
61.40.120.3 Jun 16 00:34:50 sshd[81022]: Invalid user test from
61.40.120.3 Jun 16 00:34:50 sshguard[80833]: Blocking 61.40.120.3: 4 failures
over 163 seconds. Jun 16 00:42:30 sshguard[80833]: Releasing 61.40.120.3
after 460 seconds. Jun 16 07:40:52 sshd[83868]: Did not receive
identification string from 217.168.83.150 Jun 16 07:47:21 sshd[83912]:
Invalid user unknown from 217.168.83.150 Jun 16 07:47:21 sshd[83914]: Invalid
user live from 217.168.83.150 Jun 16 07:47:22 sshd[83916]: Invalid user cisco
from 217.168.83.150 Jun 16 07:47:22 sshguard[80833]: Blocking 217.168.83.150:
4 failures over 390 seconds. Jun 16 07:54:51 sshguard[80833]: Releasing
217.168.83.150 after 449 seconds.
Как видно из лог-файла,
sshguard по умолчанию блокирует попытки соединения после 4й неудачной попытки
аутентификации. Будьте отсорожны, не попадидесь на этом!
Более подробную
информацю можно узнать из man-страницы sshguard.