Выделенные виртуальные и физические серверы для игр круглосуточно подвергаются сканированию автоматизированными ботнетами. Тысячи ботов безостановочно перебирают стандартные пароли к порту 22 по протоколу SSH, пытаясь получить доступ к учетным записям root, admin, steam или minecraft. Успешная компрометация сервера приводит к установке майнеров, использованию ноды в DDoS-атаках и полному уничтожению игровых миров.
В этом практическом руководстве мы пошагово разберём перевод аутентификации на криптографические ключи Ed25519, отключение парольного доступа, перенос SSH на нестандартный порт и настройку утилиты fail2ban для автоматической блокировки атакующих IP-адресов.
Генерация стойких ключей Ed25519#
Аутентификация по паролям уязвима к словарным атакам и перехвату. Современный криптографический стандарт Ed25519 обеспечивает максимальную скорость подтверждения подлинности и устойчивость к взлому.
Сгенерируйте ключевую пару на вашем локальном компьютере:
ssh-keygen -t ed25519 -C "gamehost-admin"
Скопируйте публичный ключ на целевой игровой сервер с помощью утилиты ssh-copy-id или вручную добавьте строку в файл ~/.ssh/authorized_keys.
Аудит конфигурации демона OpenSSH#
Перед внесением изменений проверьте текущие настройки демона SSH:
sudo grep -E "Port|PermitRootLogin|PasswordAuthentication" /etc/ssh/sshd_config
Если директива PasswordAuthentication имеет значение yes, любой злоумышленник в сети может пытаться подобрать пароль к вашей учетной записи.
Настройка изолированного конфигурационного файла SSH#
Чтобы избежать конфликтов при системных обновлениях пакета openssh-server, создайте отдельный конфигурационный файл /etc/ssh/sshd_config.d/99-hardened.conf:
Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
X11Forwarding no
MaxAuthTries 3
Port 2222— перенос службы с порта 22 отсекает до 99% фонового паразитного трафика и журнального мусора.PermitRootLogin no— запрещает прямой вход суперпользователяroot, заставляя использовать непривилегированного пользователя сsudo.PasswordAuthentication no— полностью отключает приём текстовых паролей.
Проверка синтаксиса и перезапуск службы#
Критически важно проверить конфигурацию перед перезапуском, чтобы не заблокировать собственный доступ к серверу:
sudo sshd -t && sudo systemctl restart ssh
Если команда не вернула ошибок, не закрывайте текущую SSH-сессию. Откройте второе окно терминала и проверьте успешность подключения: ssh -p 2222 user@server_ip.
Установка и конфигурирование fail2ban#
Утилита fail2ban отслеживает журнал аутентификации системы и автоматически добавляет правила блокировки в фаервол при превышении лимита неудачных попыток входа.
Установите пакет в Ubuntu/Debian:
sudo apt update && sudo apt install -y fail2ban
Создайте локальный конфигурационный файл правил /etc/fail2ban/jail.local:
[DEFAULT]
bantime = 86400
findtime = 600
maxretry = 3
banaction = ufw
[sshd]
enabled = true
port = 2222
mode = aggressive
При 3 неудачных попытках ввода в течение 10 минут атакующий IP-адрес блокируется на 24 часа (bantime = 86400).
Активация службы и проверка заблокированных адресов#
Включите службу fail2ban в автозапуск и проверьте статус изолятора:
sudo systemctl enable --now fail2ban && sudo fail2ban-client status sshd
Команда выведет текущее количество отслеживаемых неудачных попыток и список адресов, находящихся в бане.
Если вам требуется производительный игровой хостинг с предустановленной защитой операционной системы, выделенным фаерволом и автоматической фильтрацией DDoS-трафика, облачная платформа берёт на себя базовое администрирование безопасности узлов.




