Когда у вас есть SSH-сервер, представляющий собой умный портал в мир вашего Linux-царства, важно защитить его от нежелательных посетителей. Если вы думаете, что неудачники, пытающиеся угадать ваши учетные данные, — это просто невинные шутники, то не забудьте: «не каждая ошибка — это случайность; некоторые ошибки — это незваные гости.» Вот почему мы говорим о Fail2Ban!

Fail2Ban — это ваш личный охранник, который следит за тем, чтобы все злопыхатели оставались за пределами вашего сервера. Он анализирует логи, ищет IP-адреса, которые слишком много раз пытались подключиться к вашему серверу с неправильными паролями или, как еще можно сказать, «умственно-отсталыми» учётными данными, и просто блокирует их. Да, так легко, как закрыть дверь перед носом вашего соседа, который забыл вернуть вам вашу дрель.

Давайте посмотрим, как установить Fail2Ban на ваш Linux-сервер. Открываем терминал и отправляем следующий “приветственный” пакет:

sudo apt-get update
sudo apt-get install fail2ban

После установки Fail2Ban, давайте немного настроим его, чтобы это «дверь с замком» работала как надо. Откроем конфигурационный файл:

sudo nano /etc/fail2ban/jail.local

Если файла jail.local не существует, то Fail2Ban использует дефолтные настройки, которые похожи на старую открытку без подписи, мы же хотим, чтобы почта пришла именно к нам. Добавим следующие строки:

[sshd]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5
 banaction = iptables-multiport
 findtime = 10m
 bantime  = 1h

Что это значит? Подробней:

  • enabled: мы включаем защиту SSH.
  • maxretry: разрешаем 5 попыток подключения, прежде чем наказать злопыхателя.
  • bantime: время блокировки IP — 1 час, так что после такого «массива фейлов» наша жертва должна получить хороший отдых.

Сохраните изменения и выйдите из редактора. Теперь пришло время запустить Fail2Ban и удостовериться, что он не проспит, как ваша кошка на самом интересном месте:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

Теперь, чтобы увидеть, как работает ваша новая охрана, воспользуемся командой:

sudo fail2ban-client status sshd

Если вы увидите, что ваш сервер превратился в замок с карающей рукой, знайте, что вы все сделали правильно. Не забывайте периодически проверять статус и списки заблокированных IP. Ничего не смешнее, чем видеть, как ваши «друзья» навсегда остаются за пределами вашего сервера.

Итак, готовы ли вы поднять уровень безопасности вашего SSH-сервера с помощью Fail2Ban? Помните, что лучший администратор — это тот, кто может без лишних слов отослать злопыхателя подальше от своей системы и всегда держать свои секреты под замком. Защитите свою Linux-империю и веселитесь, когда злоумышленники потирают руки, но не находят ничего, кроме 404! Вперёд к безопасности!