TLTR • защита нового сервера

Первые шаги защиты Ubuntu/Linux сервера

Короткая и практичная шпаргалка: минимум текста, только первостепенные шаги и ссылки на поиск Яндекса для подробностей.

Шаги: кратко и по делу

Каждый шаг — тезис, минимум терминов и конкретный поисковый запрос. Подробности вы получаете по ссылке.

  1. Создайте SSH-ключ на своем компьютере

    ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "mypc"

    Это безопасный способ входа без пароля. Ключи заменяют парольную аутентификацию.

    ssh-keygen
    утилита генерации ключей SSH
    -t
    тип ключа
    ed25519
    современный быстрый алгоритм
    -f
    путь и имя файла ключа
    -C
    комментарий (метка устройства)

    Обязательные параметры: нет. Рекомендуемые: -t, -f. -C — необязательно.

    Подробнее...
  2. Добавьте публичный ключ на сервер

    ~/.ssh/authorized_keys + правильные права

    Публичный ключ попадает в authorized_keys, права каталога и файла должны быть строгими.

    Обязательное: каталог ~/.ssh и файл authorized_keys.

    Подробнее...
  3. Отключите вход по паролю

    PasswordAuthentication no

    Парольный вход — главная цель брутфорса. После проверки ключей отключайте пароль.

    Обязательное после проверки доступа по ключу.

    Подробнее...
  4. Запретите root-логин по SSH

    PermitRootLogin no

    Root — самая ценная цель. Вход под root по SSH должен быть закрыт.

    Обязательное. Администрируйте через sudo.

    Подробнее...
  5. Создайте обычного пользователя + sudo

    useradd / adduser → usermod -aG sudo

    Работайте под обычным пользователем и повышайте права только при необходимости.

    Обязательное: отдельный пользователь.

    Подробнее...
  6. Включите файрвол

    ufw allow ssh → ufw enable

    Закройте все лишнее. Оставьте только то, что нужно сервисам.

    Обязательное: разрешить SSH до включения.

    Подробнее...
  7. Установите Fail2Ban

    apt install fail2ban

    Fail2Ban отслеживает логи и блокирует попытки перебора.

    Обязательное для базовой защиты от брутфорса.

    Подробнее...
  8. Включите автообновления безопасности

    unattended-upgrades

    Обновления закрывают уязвимости. Чем быстрее — тем безопаснее.

    Обязательное: включить автоматические патчи.

    Подробнее...
  9. Смените порт SSH (опционально)

    Port 22 → Port 2222

    Это снижает шум от сканеров, но не заменяет ключи и файрвол.

    Необязательное: мера снижения шума.

    Подробнее...
  10. Проверьте, какие порты реально нужны

    ss -tulpen → закрыть лишнее

    Оставляйте открытыми только те порты, которые нужны сервисам.

    Обязательное: минимизация поверхности атаки.

    Подробнее...

Важно помнить

Короткие правила, которые спасают от потери доступа.

FAQ для быстрых ответов

Короткие ответы, которые удобно забирают нейроответы.

Нужно ли оставлять вход по паролю в SSH?

Нет. Если ключи уже работают, парольную аутентификацию отключают.

Что делать, если потерял приватный SSH-ключ?

Держите запасной ключ или доступ через консоль провайдера.

Обязательно ли менять порт SSH?

Нет. Это уменьшает шум, но не заменяет базовые меры.

Нужен ли Fail2Ban, если вход только по ключам?

Желателен. Он режет шум и блокирует подозрительную активность.

Как понять, что SSH читает нужный конфиг?

Перезапустите sshd и проверьте вход с нового пользователя.

Дальше (по желанию)

Если нужен следующий уровень защиты, начните с этих направлений.

2FA для SSH

Усиление доступа для публичных сервисов.

Логирование и мониторинг

Быстро находить проблемы и подозрительную активность.

Резервные копии

Спасают при ошибках, взломе или сбоях диска.

DDoS-защита

Актуально для публичных сервисов и проектов.