Перейти к основному содержанию
Сервер с входом по паролю боты начинают перебирать в первые же минуты. Пройди чек-лист по порядку, команды для Ubuntu/Debian под root.

Ключи и файрвол

  • Вход по SSH-ключу – настрой ключ и отключи вход по паролю, тогда перебор теряет смысл: SSH-ключи.
  • Файрвол – закрой все входящие порты, кроме нужных: Файрвол.

Обновления

  1. Свежие пакеты – в них закрыты известные уязвимости:
  2. Автообновления – обновления безопасности будут ставиться сами:

fail2ban

fail2ban следит за логами и на время банит IP, который перебирает пароль SSH.
  1. Установка:
  2. Настройки – в jail.local, его не перезаписывают обновления:
    Впиши:
    • maxretry – сколько неудачных попыток допустимо.
    • findtime – окно в секундах, за которое считаются попытки: 600 = 10 минут.
    • bantime – на сколько секунд банить: 3600 = 1 час.
    • Debian 12 – fail2ban не стартует без /var/log/auth.log: добавь в секцию строку backend = systemd.
  3. Запуск и проверка – вторая команда покажет, сколько адресов сейчас в бане:

Пользователь с sudo

Под root любая ошибка или взлом сразу дают полный контроль над сервером. Заведи обычного пользователя с правом на sudo:
Теперь заходи под ним, а команды с правами запускай через sudo. Вход по паролю уже выключен – скопируй новому пользователю ключ root:
Не закрывай сессию root, пока в отдельном окне не проверишь, что под новым пользователем получается зайти и выполнить sudo. Иначе рискуешь остаться без административного доступа.

Порт SSH

Необязательно. Перенос SSH с порта 22 убирает основную массу слепого перебора: это не защита, но шума в логах станет меньше. Перед экспериментами с доступом сделай бэкап.
  1. Файрвол – если ufw включён, сначала открой новый порт, иначе закроешь себе доступ: ufw allow 2222/tcp.
  2. SSH – в /etc/ssh/sshd_config укажи, например, Port 2222 и перезапусти: systemctl restart ssh. На Ubuntu 24.04 и новее SSH слушает через ssh.socket, там вместо этого выполни systemctl daemon-reload и systemctl restart ssh.socket.
  3. fail2ban – пропиши новый порт, иначе он молча перестанет защищать SSH. В /etc/fail2ban/jail.local в секции [sshd] добавь или замени строку port:
    Перезапусти fail2ban:
Дальше: Бэкапы, Файрвол.