Перейти к содержимому

Защита SSH: fail2ban и смена порта

Любой сервер с публичным IP постоянно сканируется ботами, которые перебирают пароли SSH. Три простых меры резко снижают риск: автоматическая блокировка перебором (fail2ban), смена стандартного порта и вход по ключу вместо пароля.

fail2ban следит за логами и временно банит IP, с которых идут неудачные попытки входа.

Окно терминала
apt update && apt install -y fail2ban

Создайте локальный конфиг /etc/fail2ban/jail.local (файл jail.conf не редактируют напрямую):

[sshd]
enabled = true
port = ssh
maxretry = 5
bantime = 1h
findtime = 10m

Перезапустите службу и проверьте статус:

Окно терминала
systemctl restart fail2ban
fail2ban-client status sshd

В выводе будут видны текущие забаненные адреса и число неудачных попыток.

Перенос SSH с порта 22 на нестандартный резко уменьшает поток автоматических атак. Откройте /etc/ssh/sshd_config и задайте новый порт:

Port 2222

После успешной проверки можно удалить старое правило для порта 22.

Самая надёжная защита — вход по SSH-ключу с полным отключением парольной аутентификации. Сначала настройте ключ по инструкции Подключение по SSH, затем в /etc/ssh/sshd_config:

PasswordAuthentication no
PermitRootLogin prohibit-password

Перезапустите SSH:

Окно терминала
systemctl restart ssh