Настройка безопасности SSH. Защита от брута

Что такое Брут? Это метод полного перебора. В нашем случае паролей. То есть злоумышленник пытается получить доступ к серверу банально перебирая все варианты паролей. Учитывая мощности современных вычислительных систем это занимает на так много времени.

Для защиты от брута существует несколько программ. Для CentOS в репозиториях я нашел замечательную вещицу Fail2Ban. Которая работает по вышеописанному алгоритму. И сводит все попытки брута на нет.

Установка:

#yum install fail2ban

При желании правим файл конфигурации /etc/fail2ban/jail.conf

Однако и на параметрах по-умолчанию, все замечательно работает.

Добавляем в автозагрузку:

#chkconfig fail2ban on

Запускаем:

#service fail2ban start

Посмотреть все блокировки:

#iptables -L

Если Вы думаете, что никто не ломится к Вам на сервер по SSH дабы им завладеть, то Вы сильно ошибаетесь.

Выполните команду:

#cat /var/log/secure* | grep 'Failed password' | grep sshd | awk '{print $1,$2}' | 
sort -k 1,1M -k 2n | uniq -c

И получите примерно следующее, где первая колонка — количество «неудачных» подключений, иными словами попыток подобрать пароль:

277 Feb 14 / День запуска сервера
524 Feb 15
318 Feb 16
374 Feb 17
308 Feb 18
777 Feb 19
241 Feb 20 / День установки Fail2Ban
 24 Feb 21
 27 Feb 22
 19 Feb 23
 21 Feb 24

Как видите, на мой сервер, который не представляет из себя ничего ценного, в течении недели пытались подобрать пароль по 300 раз в день, а то и более. После установки fail2ban число попыток упало в разы.

Можно изменить порт по SSH

#vi /etc/ssh/sshd_config

например на 123456 вместо 22

Добавить комментарий