Что такое Брут? Это метод полного перебора. В нашем случае паролей. То есть злоумышленник пытается получить доступ к серверу банально перебирая все варианты паролей. Учитывая мощности современных вычислительных систем это занимает на так много времени.
Для защиты от брута существует несколько программ. Для 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