Защита SSH с помощью Fail2Ban
Что такое Fail2Ban
Программа fail2ban следит за журналами сервера, чтобы обнаружить попытки несанкционированного доступа или другие подозрительные действия. Когда количество таких попыток достигает определенного уровня, fail2ban автоматически блокирует IP-адрес хоста на некоторое время.
Как установить Fail2Ban
Для установки Fail2Ban на сервере, сначала мы войдем на сервер и обновим программное обеспечение, а затем выполним команду для установки Fail2Ban.
apt update
apt install fail2ban
После установки, не забудьте запустить и активировать службу.
systemctl enable fail2ban && systemctl start fail2ban
Чтобы узнать, работает ли служба, выполните эту команду:
systemctl status fail2ban
Вам должен показаться следующий результат:
Как настроить Fail2Ban
Файлы настройки Fail2ban находятся в папке /etc/fail2ban/ на вашем сервере.
Все настройки конфигурации хранятся в файле jail.conf, но редактировать его напрямую не рекомендуется. Вместо этого, вы можете указать настройки в файле jail.local или в отдельных файлах .conf в папке jail.d/. Изменение jail.conf может привести к перезаписи значений при обновлении системы. Мы собираемся сделать копию исходного файла jail.conf с новым именем jail.local.
cp jail.conf jail.local
Теперь мы можем приступить к внесению некоторых изменений для обеспечения безопасности SSH.
Если вы хотите применить какое-либо правило ко всем сервисам, которые поддерживает Fail2Ban, вам нужно внести изменения в раздел [DEFAULT] в начале файла. Например, время блокировки по умолчанию установлено на 10 минут, но вы можете увеличить его, скажем, до 60 минут.
bantime = 60m
Другие важные настройки — это findtime и maxretry, которые всегда взаимодействуют. Мы установим maxretry на 3 и findtime на 5 минут.
findtime = 5m maxretry = 3
Это означает, что если клиент совершит 3 неудачные попытки входа на сервер в течение 5 минут, то его IP-адрес будет заблокирован.
Другие полезные параметры — это настройки для отправки электронных писем. Они позволяют нам получать уведомления по электронной почте, когда fail2ban принимает меры и блокирует пользователей. Эти параметры включают destemail (адрес получателя), sender (адрес отправителя) и mta (агент передачи почты).
Когда кто-то блокируется, уведомления о блокировке отправляются на адрес, указанный в destemail. Адрес отправителя будет указан в поле FROM письма, а mta определяет почтовую службу. По умолчанию для fail2ban используется sendmail, но вы можете настроить любую другую почтовую службу по своему усмотрению. Это будет функционировать.
Давайте проверим конфигурацию Fail2Ban, чтобы убедиться, что предыдущие изменения были применены, и посмотрим, будет ли он блокировать нас или нет.
Давайте сначала перезагрузим fail2ban, используя эту команду, а затем проверим вход на сервер.
service fail2ban restart
root@IP’s password: Permission denied, please try again. root@IP’s password: Permission denied, please try again. root@IP’s password: root@IP: Permission denied (publickey,password). ssh: connect to host IP port 22: Connection refused
Как можно заметить, после трех неудачных попыток входа Fail2Ban автоматически закрыл SSH-соединение. Пользователь будет заблокирован на 5 минут. Если вы попытаетесь повторно войти в систему в течение этого времени, ваша попытка будет отклонена.
Заключение
Готово! Теперь ваш SSH-сервер успешно защищен с помощью Fail2Ban в Ubuntu. Но также вы можете применить этот метод для защиты всех остальных служб на вашем сервере.
Стабильные.
В рублях.
Не зависят от $ и €.
Мы ♥ !
Скидка при оплате за год!
Договор и полный комплект бухгалтерских документов по почте.