Mist Network
Kanalı takip et
Destek

Чек-лист безопасности VPS: 12 шагов для защиты нового сервера

Новый VPS начинают сканировать боты уже через несколько минут после запуска. Этот чек-лист из 12 шагов показывает, что закрыть в первый час и что делать дальше каждый месяц.

Обновлено: 4 мин чтения
Чек-лист безопасности VPS — защита нового Linux-сервера SSH-ключами, файрволом и обновлениями

Чек-лист безопасности VPS — это набор шагов, которые вы выполняете на каждом новом сервере, прежде чем размещать на нём что-то важное: закрыть SSH, включить файрвол, поддерживать систему в актуальном состоянии, ограничить запущенные службы и убедиться, что сможете восстановиться. Автоматические боты начинают прощупывать новые IP-адреса за считаные минуты, поэтому первый час важнее любой последующей тонкой настройки.

Шаги рассчитаны на Linux-VPS вроде Ubuntu или Debian с root-доступом. Команды приведены для примера — адаптируйте их под свой дистрибутив. Выполняйте по порядку и держите вторую SSH-сессию открытой, пока меняете настройки входа, чтобы ошибка не отрезала вам доступ.

Зачем защищать новый VPS

Виртуальный сервер даёт полный контроль, а значит, и полную ответственность. В отличие от виртуального хостинга, никто не обновляет ваши пакеты и не следит за входами. Большинство реальных взломов — не хитрые эксплойты, а простые промахи: слабые SSH-пароли, устаревшее веб-приложение, открытый порт базы данных или забытый тестовый сервис.

Главное: большинство атак на VPS автоматические и случайные. Закрыв простые двери — пароли, открытые порты, пропущенные обновления, — вы остановите подавляющую их часть.

Первый час: 8 обязательных шагов

  1. Обновите всё — выполните apt update && apt upgrade (или аналог для вашего дистрибутива) и перезагрузитесь, если обновилось ядро.
  2. Создайте пользователя без root — добавьте пользователя с правами sudo и работайте под ним вместо root.
  3. Используйте SSH-ключи — сгенерируйте пару ключей на своём компьютере и скопируйте публичный ключ на сервер через ssh-copy-id.
  4. Отключите вход по паролю и под root — в /etc/ssh/sshd_config укажите PasswordAuthentication no и PermitRootLogin no, затем перезапустите SSH, проверив вход по ключу во второй сессии.
  5. Включите файрвол — с ufw разрешите только необходимое, например ufw allow OpenSSH, ufw allow 80,443/tcp, затем ufw enable.
  6. Включите автоматические обновления безопасности — в Debian/Ubuntu установите и активируйте unattended-upgrades.
  7. Установите fail2ban — он блокирует IP с повторяющимися неудачными входами и замедляет перебор паролей.
  8. Настройте часовой пояс и hostname — корректные метки времени делают логи и сертификаты надёжными.
Совет: не закрывайте текущую SSH-сессию, пока правите настройки, и проверяйте новый вход в отдельном окне. Если что-то пойдёт не так, исправите из сессии, которая ещё подключена.

Постоянная защита: ещё 4 шага

  1. Удалите лишнее — деинсталлируйте ненужные пакеты и остановите неиспользуемые службы. Проверьте открытые порты командой ss -tulpn.
  2. Держите базы данных закрытыми — привязывайте MySQL, PostgreSQL или Redis к 127.0.0.1 или частной сети, никогда к публичному интернету.
  3. Храните бэкапы вне сервера — копируйте резервные копии в другое место и проверяйте восстановление. Снапшот на той же машине — не бэкап.
  4. Следите за логами и ресурсами — просматривайте журналы авторизации, настройте простые оповещения о доступности и месте на диске, разбирайтесь с неожиданными всплесками CPU.

Чек-лист одним взглядом

ОбластьДействиеКак часто
ДоступТолько SSH-ключи, без root и паролейОдин раз, затем проверка ключей раз в квартал
СетьФайрвол только с нужными портамиПри добавлении каждой службы
ОбновленияАвтообновления безопасности плюс ручные апгрейдыАвтоматически ежедневно; вручную ежемесячно
Перебор паролейfail2ban или аналогОдин раз, иногда проверять блокировки
СлужбыУдалить лишнее ПО, базы только локальноЕжемесячная проверка
ВосстановлениеВнешние бэкапы с проверенным восстановлениемЕжедневные бэкапы; тест раз в квартал
ВебHTTPS, актуальные CMS и плагиныЕженедельно

Защита веб-уровня

Если на VPS работает сайт, самым слабым местом часто оказывается приложение. Обновляйте CMS, плагины и фреймворки, используйте HTTPS с бесплатным сертификатом и запускайте каждый сайт под отдельным системным пользователем, чтобы взломанный сайт не мог читать остальные. Добавьте домену CAA-запись, чтобы сертификаты мог выпускать только выбранный удостоверяющий центр, и правильно направьте домен по нашему руководству как направить домен на VPS.

Храните секреты — API-ключи и пароли к базам — в файлах окружения с ограниченными правами, но никогда в публичной веб-папке или Git-репозитории.

Осторожно: средства защиты не заменяют обновлений. Даже идеально настроенный файрвол пропустит атакующего к устаревшему веб-приложению на порту 443. Сначала патчи, потом дополнительные уровни.

Доступ для команды и нескольких администраторов

Серверы редко надолго остаются однопользовательскими. Как только доступ нужен коллеге, фрилансеру или инструменту деплоя, способ выдачи учётных данных становится частью вашей безопасности.

  • Один ключ на человека — у каждого администратора своя учётная запись и свой SSH-ключ. Никогда не делитесь root-паролем или одним ключом на всю команду.
  • Отдельные ключи для автоматизации — CI-пайплайны и задачи бэкапа получают собственные ключи, ограниченные нужными командами или каталогами.
  • Отзывайте доступ в тот же день — когда человек уходит из проекта, сразу удаляйте его пользователя и ключ. Раз в квартал проверяйте файлы authorized_keys.
  • Логируйте привилегированные действия — sudo записывает, кто что выполнил, и это сильно упрощает разбор ошибок и инцидентов.
  • Защитите и панель управления — аккаунт у провайдера может переустановить или удалить сервер; используйте надёжный уникальный пароль и двухфакторную аутентификацию, если она доступна.

Что делать при подозрении на взлом

  • Не удаляйте следы сразу — сначала сделайте снапшот или скопируйте логи.
  • Смените все пароли и SSH-ключи, которые касались сервера.
  • Проверьте неизвестных пользователей, cron-задачи, SSH-ключи и процессы.
  • Если есть сомнения, переустановите систему с чистого образа и восстановите данные из бэкапа, сделанного до инцидента.

Надёжная основа на VPS от mistREG

mistREG предлагает KVM VPS в Словении (ЕС) на NVMe SSD и AMD EPYC. KVM даёт каждому серверу собственное ядро, поэтому можно использовать любой файрвол, настройки ядра и средства защиты. Развёртывание автоматическое: примерно через 60 секунд после оплаты IP-адрес и root-пароль появятся в панели — сервер готов к этому чек-листу. Подробнее — в нашем обзоре офшорного VPS-хостинга.

~60 сдо запуска VPS
KVMполная виртуализация
NVMeSSD-хранилище

Создайте аккаунт, пополните баланс криптовалютой или картой и выберите сервер в разделе тарифов. Вопросы? Наша команда в Telegram: @mistnetwork.

Частые вопросы

Что сделать первым делом на новом VPS?
Обновить все пакеты, затем настроить вход по SSH-ключу под пользователем без root и отключить вход по паролю и под root. Это останавливает большинство автоматических атак.
Нужно ли менять стандартный порт SSH?
Это уменьшает шум от ботов в логах, но не является настоящей защитой. SSH-ключи, отключённый вход по паролю и fail2ban гораздо важнее.
Достаточно ли ufw в качестве файрвола?
Для большинства одиночных серверов — да. ufw — простой интерфейс к файрволу Linux; главное — открыть только те порты, которые нужны вашим службам.
Как часто обновлять VPS?
Обновления безопасности должны ставиться автоматически каждый день. Остальные обновления проверяйте и применяйте минимум раз в месяц и после важных анонсов.
Делает ли провайдер бэкапы моего сервера?
Не рассчитывайте на это. Храните собственные резервные копии в отдельном месте и регулярно проверяйте восстановление.

Похожие статьи

Mist NetworkMist Network