Биллинговая система Nodeny
22 Ноября 2024, 08:55:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: настройка sshguard-pf  (Прочитано 9180 раз)
versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« : 29 Декабря 2009, 11:00:48 »

Всем привет!
Разбудили меня сегодня звонком, что все пропало, кто то взломал сервер.
Зайдя в логи и проведя профилактику, понял что не так страшен черт как его малюют.
Итак имеем большой поток брутфорса на 22 порт. Соотвественно в логе много сообщений вида
error: PAM: authentication error for root from 23.45.67.89
Ну я то например вобще то рекомендую отказыватся от паролей в пользу ключей, но иногда ключей нет под рукой или пароль  для владельца сервера проще запомнить чем возится с ключами.
Итак имеем брутфорс, надо отрубать попытки подобрать пароль.
Быстро просмотрев методы защиты остановился на sshguard, который судя по описанию умеет добавлять в файрвол правила блокировки для брутфорщика. Sshguard умеет работать со многими типами файрволов, поэтому посмотрев настройки, я пришел к выводу, что трогать настроенный ipfw не стану, а добавлю правила в pf

Для тех кому интерсно привожу свои действия:
1. установка
cd /usr/ports/security/sshguard-pf
make install clean
2. включим sshguard в обработчик sysloga
ee /etc/syslog.conf
раскомментируем строку
auth.info;authpriv.info     |exec /usr/local/sbin/sshguard
3. перезапускаем syslogd
/etc/rc.d/syslogd reload
проверяем работает ли ?
# ps ax|grep syslog
  821  ??  Ss     0:00.03 /usr/sbin/syslogd -s
4. Пришла пора занятся файрволом
ee /etc/pf.conf

Прописываем правила на все интерфейсы, в итоге у нас получился файл:

set limit states 128000
set optimization aggressive
nat pass on nfe0 from 10.0.0.0/8 to any -> em0
nat pass on nfe0 from 192.168.0.0/24 to any -> em0
nat pass on tun0 from 192.168.0.0/24 to any -> tun0

table <sshguard> persist

block in quick on em0 proto tcp from <sshguard> to any port 22 label "ssh bruteforce"
block in quick on em1 proto tcp from <sshguard> to any port 22 label "ssh bruteforce"
block in quick on tun0 proto tcp from <sshguard> to any port 22 label "ssh bruteforce"

Сохраняем и перезапускаем
pfctl -f /etc/pf.conf

смотрим syslog и работу sshguard
cat /var/log/messages

sshguard[7908]: Blocking 23.45.67.89: 4 failures over 78 seconds.

Что там в файрволе

pfctl -Tshow -tsshguard

No ALTQ support in kernel
ALTQ related functions disabled
23.45.67.89

Собственно все, блокировка брутфорщика включена.
« Последнее редактирование: 29 Декабря 2009, 11:21:34 от versus » Записан
goletsa
NoDeny
Спец
*

Карма: 21
Offline Offline

Сообщений: 973


Просмотр профиля
« Ответ #1 : 29 Декабря 2009, 16:12:24 »

Есть еще хороший метод - закрывать доступ по ssh снаружи и заходить через промежуточный сервер который в белом списке.
Записан
Aivanzipper
NoDeny
Старожил
*

Карма: 62
Offline Offline

Сообщений: 387


206967443
Просмотр профиля
« Ответ #2 : 29 Декабря 2009, 16:46:49 »

еще можно сменить стандартный 22 порт на любой другой - боты намного меньше ломиться будут, хотя это не панацея
Записан
versus
Администратор
Спец
*****

Карма: 21
Offline Offline

Сообщений: 845


44306843
Просмотр профиля WWW Email
« Ответ #3 : 30 Декабря 2009, 20:54:58 »

еще есть порт кнокинг, все это хорошие и нужные вещи, я просто описал свой опыт как быстро отрубить ботов. То что защиты много не бывает согласен полностью и ваши методы правильные.
Записан
sedo26
Постоялец
***

Карма: 0
Offline Offline

Сообщений: 100


Просмотр профиля Email
« Ответ #4 : 31 Августа 2014, 23:29:45 »

Может кому-то понадобится
для очистки онного
# pfctl -tsshguard -Tflush
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!