Настройка защиты Linux-сервера: 5 обязательных шагов (с командами)
Если ты арендовал VPS и просто зашел на него под root - ты уже в зоне риска. Боты начинают брутфорсить стандартный 22-й порт спустя пару минут после появления IP в сети.
Давай закроем дыры. Все команды актуальны для Ubuntu/Debian, но подойдут и для других дистрибутивов с минимальными правками.
1. Переход на SSH-ключи (Bye-bye, Passwords)
Пароли - это слабое звено. Ключ практически невозможно подобрать.
На своем локальном ПК (Linux/Mac или PowerShell в Windows) генерируем ключ:
ssh-keygen -t ed25519 -C "[email protected]"
Копируем ключ на сервер:
ssh-copy-id -p 22 root@IP_ТВОЕГО_СЕРВЕРА
Теперь заходим на сервер и отключаем вход по паролю:
nano /etc/ssh/sshd_config
Найди и измени параметры на следующие:
PasswordAuthentication noPubkeyAuthentication yesPermitRootLogin prohibit-password
Перезагружаем SSH:
systemctl restart ssh
2. Меняем стандартный порт SSH
Это «защита от дурака», которая отсекает 90% автоматических сканеров.
В том же файле /etc/ssh/sshd_config найди строку #Port 22. Удали решетку и впиши свой порт:
Port 49122
Важно: перед перезагрузкой SSH убедись, что файервол пропустит тебя по новому порту! (см. пункт 4).
3. Установка и настройка Fail2Ban
Эта штука мониторит логи и банит IP-адреса, которые слишком часто ошибаются.
Установка:
apt update && apt install fail2ban -y
Создаем конфиг для защиты SSH:
nano /etc/fail2ban/jail.local
Вставь туда этот кусок:
[sshd]
enabled = true
port = 49122
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h
Запускаем:
systemctl enable fail2ban --now
4. Настройка файервола (UFW)
Разрешаем только то, что реально нужно.
# Разрешаем наш кастомный SSH порт
ufw allow 49122/tcp
# Разрешаем веб-трафик (HTTP и HTTPS)
ufw allow 80/tcp
ufw allow 443/tcp
# Включаем защиту
ufw enable
Проверить статус можно командой ufw status.
5. Автоматические обновления безопасности
В 2026 году уязвимости находят каждый день. Пусть сервер обновляет ядро и важные патчи сам.
Установка:
apt install unattended-upgrades -y
Активация:
dpkg-reconfigure -plow unattended-upgrades
Выбирай «Yes» в появившемся окне. Теперь критические патчи будут прилетать без твоего участия.
Итог
Теперь твой сервер - это не «проходной двор», а защищенная крепость. Ты отключил пароли, сменил порт, настроил бан за подбор и включил файервол.
Совет от админа: Всегда держи одну открытую сессию в терминале, когда меняешь настройки SSH. Если что-то пойдет не так - ты сможешь поправить конфиг до того, как тебя окончательно «выкинет» из системы.