Ваш логин:
Ваш пароль:
 
 
Вы смотрите: Блог разработчика » Заметки сисадмина » Защита SSH от подбора пароля.
3-06-2010, 09:52, прочитали: 3829 раз, раздел: Заметки сисадмина, FreeBSD
Как-то проснувшись утром наблюдаю на почте такую картину:

login failures:
Jun 2 07:07:55 4dle sshd[45556]: Failed password for invalid user webadmin from 163.21.230.20 port 35758 ssh2
Jun 2 07:07:58 4dle sshd[45560]: Failed password for invalid user ftp from 163.21.230.20 port 35844 ssh2
Jun 2 07:08:01 4dle sshd[45569]: Failed password for invalid user test from 163.21.230.20 port 35933 ssh2
Jun 2 07:08:07 4dle sshd[45620]: Failed password for invalid user admin from 163.21.230.20 port 36102 ssh2
Jun 2 07:08:10 4dle sshd[45625]: Failed password for invalid user guest from 163.21.230.20 port 36183 ssh2
Jun 2 07:08:13 4dle sshd[45630]: Failed password for invalid user master from 163.21.230.20 port 36273 ssh2
Jun 2 07:08:16 4dle sshd[45652]: Failed password for invalid user apache from 163.21.230.20 port 36360 ssh2


Явно подбирают логин\пароль к ssh. Бороться с данным видом атак вручную, явно бесполезное занятие, наличие IP адреса атакующего ничего не дает, так как, в подавляющем большинстве случаев, являются "левыми" и периодически меняются.

Было решено поставить програмку sshguard.

Принцип работы программы программы следующий: sshguard парсит лог файл регистраций в системе, если обнаруживает аномальное количество неудачных подключений с определенного IP, помечает адрес как нарушителя и добавляет в IPFW блокирующее правило на определенный промежуток времени, по умолчанию, время блокировки, 7 минут. Если в дальнейшем, данный IP вновь обратит на себя внимание sshguard своим неадекватным поведением, снова будет создано блокирующее правило в IPFW, но срок будет 2*7. Схема расчета времени блокировки следующая: 7 минут, 2*7 минут, 2*2*7 минут ..... 2^(n-1)*7 минут. В дальнейшем, после определенного количества рецидивов, указанного в опции -b, IP может будет помещен с черный список на постоянной основе.

Итак, ставим её из портов
# cd /usr/ports/security/sshguard-ipfw
# make install clean


Открываем /etc/syslog.conf и добавляем в конец файла сл. строчку:
(зта строчка определяет основные настройки программы, в самом низу я перечислю описание параметров)

auth.info;authpriv.info     |exec /usr/local/sbin/sshguard -a 3 -b 10:/var/db/sshguard/blacklist -w /var/db/sshguard/whitelist


Перезапускаем syslogd

/etc/rc.d/syslogd restart


Всё, можно пользоваться :)

PS: Основные опции:

-a Количество неудачных попыток ввода пароля, после которых адрес блокируется, в нашем случае 3.

-b номер:/path/to/blacklist. Задает файл черного списка адресов и количество блокировок, после которого IP адрес будет помещен в этот список.

-w адрес/хост/блок/файл
Данная опция определяет белый список адресов. Может принимать IP адрес IP4 или IP6, доменное имя хоста или блок IP адресов в формате
10.20.30.0/24. Кроме того можно прописать путь до файла, содержащего все вышеперечисленное в виде списка. Что-бы указать несколько адресов,
хостов или блоков, данную нужно использовать повторно, то есть -w 1.2.3.4 -w 5.6.7.8 -w microsoft.com. Мы прописали путь до файла.

-p секунды
Время блокировки адреса атакующего. По умолчанию 420 секунд ( 7 минут )

-s секунд
Реабилитировать адрес после указанного количества секунд. По умолчанию 20*60 ( 20 минут). Грубо говоря, если попытки атаки с одного IP
предпринимаются раз в 20 минут, в черный список он не попадет никогда.

 (голосов: 4)
Добавил: nickon,
Эта новость по темам:
Это может вас заинтересовать:
Комментариев оставленно: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
© 2008-2010 nick-on.name
Любая перепечатка материалов без разрешения редакции запрещена!

Обратная связь