Вход по SSH-ключу
Настрой вход по ключу и отключи вход по паролю — это убирает сам смысл перебора. Подробно: SSH-ключи.
Файрвол
Закрой все входящие порты, кроме нужных. Подробно: Файрвол (ufw).
Обновления
Ставь свежие версии пакетов — в них чинят известные уязвимости:Чтобы обновления безопасности ставились сами:
fail2ban
fail2ban смотрит в логи и временно банит IP, который перебирает пароль по SSH: несколько неудачных попыток — и адрес блокируется на время.Установи:jail.local — этот файл не перезаписывается при обновлениях. Создай его:maxretry — сколько неудачных попыток допустимо, findtime — за какое окно в секундах они считаются (600 = 10 минут), bantime — на сколько секунд банить (3600 = 1 час).Запусти и проверь:Не работай под root постоянно
Под root любая ошибка или взлом — сразу полный контроль над сервером. Заведи обычного пользователя с правом повышать привилегии через Дальше заходи под ним, а команды, которым нужны права, запускай через
sudo:sudo.Сменить стандартный порт SSH (опционально)
Перенос SSH с порта 22 на другой убирает основную массу слепого перебора. Это не защита сама по себе, но шума в логах станет меньше. В Затем перезапусти:
/etc/ssh/sshd_config укажи, например, Port 2222, перезапусти systemctl restart ssh.Обнови /etc/fail2ban/jail.local — в секции [sshd] добавь или замени строку:Куда дальше
Бэкапы
Настрой резервные копии — на случай если что-то пойдёт не так.
Файрвол
Детальная настройка ufw и управление правилами.