Как защитить SSH сервер с помощью Fail2Ban
Когда у вас есть 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! Вперёд к безопасности!