Почтой прислали
Добавлено: 2007-06-01 18:29:45
почтой прислали. На сатью не тянет, но идея интеерсная писал(а):Недавно (25 май 2007 ) вышла маленькая статья в разделе "Советы" на http://www.opennet.ru/tips/info/1424.shtml
Почитавши её, присмотревшись к ссылке http://www.lissyara.su/?id=1069 решил и себе что то эдакое поставить.
Остановился на sshguard.
Залезаем в порты и делаем make install (без clean)
В окне CONFIG выбираем файрвол ipfw
[ ] PF Use PF as firewall backend
[X] IPFW Use IPFW as firewall backend
Жмём ОК и ждём когда установится.
После установки будет выдан вариант запуска
tail -n 0 -f /var/log/auth.log | /usr/local/sbin/sshguard &
Я запустил и стал ждать первую жертву данной программы. И дождался -). Но программа настроена так, чтобы добавлять в правила ipfw блокирующие правила с 50000 номера по random. Жертва попала в правила - но они не сработали , так как перед этим уже стояли разрешающие правила.
Останавливаем слежение за логами и после недолгих раздумий лезем в папочку /usr/ports/security/sshguard/work/sshguard-0.91/fwalls и правим там файлик ipfw.c
Редактируем строки
#define IPFW_RULERANGE_MIN 1
#define IPFW_RULERANGE_MAX 99
определяя этим номера правил с 1 по 99
и строку
sprintf(command, "ipfw add %u drop ip from %s to me 22 ", ruleno, ip);
чтобы добавить конкретный порт ssh, так как старое правило блокирует ВЕСЬ доступ с "засветившегося" айпишника.
Заходим в /usr/ports/security/sshguard/work/sshguard-0.91 и по старинке делаем давно "забытую" последовательность команд:
./configure --with-firewall=ipfw
make
make install
Запускаем tail -n 0 -f /var/log/auth.log | /usr/local/sbin/sshguard & и смотрим логи auth.log - должна появится следующая строка
May 29 11:00:34 gate sshguard[74268]: Started successfully [(a,p,s)=(4, 420, 1200)], now ready to scan.
При подборе доступа к ssh в логах должно появится следующие строки ( пусть не обижаются владельцы айпишников - логи подлиные )
Jun 1 01:13:03 gate sshd[51879]: Invalid user rfmngr from 201.17.146.59
Jun 1 01:13:09 gate sshd[51882]: Invalid user sales from 201.17.146.59
Jun 1 01:13:18 gate sshd[51884]: Invalid user recruit from 201.17.146.59
Jun 1 01:13:26 gate sshd[51886]: Invalid user alias from 201.17.146.59
Jun 1 01:13:26 gate sshguard[74270]: Blocking 201.17.146.59: 4 failures over 23 seconds.
а в правилах файрвола строка
00020 drop ip from 201.17.146.59 to me dst-port 22
Она исчезает спустя некоторое время - оставляя только в логах запись:
Jun 1 01:22:06 gate sshguard[74270]: Releasing 201.17.146.59 after 520 seconds.
Теперь осталось добавить в /etc/rc.local строку
tail -n 0 -f /var/log/auth.log | /usr/local/sbin/sshguard &
для запуска программы.
PS у меня крутится на машинке несколько систем jail. Для защиты их от подбора доступа по ssh были добавлены строки в /etc/rc.local вот такого содержания:
tail -n 0 -f /share/jails/system1/var/log/auth.log | /usr/local/sbin/sshguard &