user gravatar

Предотвращение брутофорс атак на сервер

Предотвращение брутофорс атак на сервер

Брутофорс атаки могут причинить большой ущерб вашей системе. А самое смешное в том, что их нетрудно предотвратить (тут конечно стоит уточнить, что запросы к серверу все равно будут поступать, вы просто не будете тратить ресурсов сервера на их обработку).

Брутофорс атаки - это типы атак, где злоумышленник пытается подобрать пароль или ключ к вашей системе методом перебора. Иными словами, злоумышленник будет пробовать разные пароли, пока один из них не подойдет.

Как предотвратить перебор паролей

Для решения этой задачи существуют несколько утилит, которые позволяют блокировать или предотвратить брутофорс атаки. Самые популярные из них:

  1. SSHGuard;
  2. Fail2Ban

Для защиты вашего сервера, выберите один из них.

1. SSHGuard

Давайте сперва разберем утилиту SSHGuard. Это небольшая утилита, написанная на языке программирования C.

Его задача - мониторинг и защита сервера от брутофорс атак. Принцип очень прост: утилита логит запросы к серверу и если кто-то попытался подключиться к серверу через SSH много раз, то она блокирует IP с которого совершались эти запросы.

Помимо SSH, утилита может защищать sendmail, exim, dovecot, vsftpd, proftpd и т.д.

Установка

Так-как SSHGuard существует в официальных репозиториях Ubuntu/Debian, установка не составит особого труда:

sudo apt-get install sshguard

Конфигурация SSHGuard с помощью Iptables

По-умолчанию SSHGuard не создает конфигурационные файлы. Для того, чтобы создать его, вам нужно настроить Iptables.

Для этого выполните следующие команды:

iptables -N sshguard
ip6tables -N sshguard

Следующей командой вы блокируете весь трафик от атакующих:

iptables -A INPUT -j sshguard
iptables -A INPUT -j sshguard

После этого, разрешите запросы к ssh, dns, http, https:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

Все остальное скорее всего смело можно блокировать по-умолчанию:

iptables -P INPUT DROP

После выполнения предыдущих команд, сохраните новые правила Iptables:

service iptables save

2. Fail2Ban

Fail2Ban - это еще одна утилита для предотвращения брутофорс атак. Как и SSHGuard, Fail2Ban сканирует логи и блокирует подозрительные IP.

Про установку и настройку Fail2Ban я уже писал в посте "Как обезопасить SSH сервер"