Реклама

Первые шаги безопасности: чек-лист настройки Linux VPS

24 октября 2026 г.10 мин чтения
Первые шаги безопасности: чек-лист настройки Linux VPS

Как только хостинг-провайдер выделяет новый виртуальный сервер и выдает публичный IPv4-адрес, счетчик атак начинает тикать. Автоматизированные ботнеты и сканеры сети круглосуточно сканируют адресные пространства дата-центров, пытаясь подобрать пароль к стандартному порту SSH 22 методом brute-force.

Оставлять сервер в состоянии «из коробки» (с root-доступом по паролю и открытыми настежь сетевыми портами) даже на пару дней — прямая угроза компрометации всей системы. Первичный харденинг (hardening) операционной системы занимает не более 10–15 минут, но закрывает до 98% типичных автоматических векторов атак.

Ниже приведен пошаговый технический чек-лист, который необходимо выполнить на каждом новом сервере перед развертыванием боевых сервисов.

Шаг 1. Создание непривилегированного пользователя с sudo

Работа напрямую под учетной записью root в повседневном администрировании небезопасна: любая опечатка или уязвимость в запущенном демоне сразу дает полный контроль над операционной системой.

Создаем отдельного системного пользователя и добавляем его в группу администраторов:

# Добавляем пользователя (замените deployer на желаемое имя)
adduser deployer

# Добавляем пользователя в группу sudo (для Ubuntu/Debian)
usermod -aG sudo deployer

# Для дистрибутивов RHEL / AlmaLinux / Rocky Linux:
# usermod -aG wheel deployer

Шаг 2. Авторизация по криптографическим ключам Ed25519

Аутентификация по паролю уязвима перед перебором по словарям и перехватом. Современный отраслевой стандарт — эллиптические ключи Ed25519 (быстрее и криптографически надежнее устаревших RSA 2048/4096).

Сгенерируйте пару ключей на своем локальном компьютере (если еще не создавали):

ssh-keygen -t ed25519 -C "admin@vpsmarket"

Скопируйте публичный ключ на новый сервер для созданного пользователя:

# Удобная автоматическая передача ключа с локального ПК:
ssh-copy-id -i ~/.ssh/id_ed25519.pub deployer@IP_СЕРВЕРА

Шаг 3. Жесткая блокировка демона OpenSSH

После успешной проверки входа по ключу необходимо полностью запретить подключение под root и заблокировать ввод паролей.

Откройте файл конфигурации демона:

sudo nano /etc/ssh/sshd_config
# или в отдельном конфигурационном файле для современных дистрибутивов:
# sudo nano /etc/ssh/sshd_config.d/99-hardening.conf

Установите следующие директивы:

# Запрещаем авторизацию под root
PermitRootLogin no

# Запрещаем вход по паролю (только криптографические ключи)
PasswordAuthentication no
PermitEmptyPasswords no

# Отключаем интерактивную аутентификацию
KbdInteractiveAuthentication no

# Ограничиваем максимальное количество попыток ввода
MaxAuthTries 3

# (Опционально) Смена стандартного порта для отсечения шума сканеров
# Port 2222

Важно: Перед перезапуском демона SSH обязательно откройте второе окно терминала и проверьте подключение нового пользователя по ключу. Если допустили синтаксическую ошибку, вы не потеряете доступ к текущей сессии.

Примените изменения:

sudo sshd -t && sudo systemctl restart ssh
# В Debian/Ubuntu служба может называться ssh, в RHEL/CentOS — sshd

Шаг 4. Настройка сетевого экрана (UFW / nftables)

Принцип минимальных привилегий в сети прост: запрещено всё, что явно не разрешено.

Для быстрой настройки пакетного фильтра в Ubuntu/Debian используется UFW (Uncomplicated Firewall):

# Задаем базовые политики: блокировать весь входящий трафик, разрешать исходящий
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Разрешаем SSH (если меняли порт на 2222, укажите 2222/tcp)
sudo ufw allow 22/tcp comment 'SSH'

# Разрешаем стандартные веб-порты для будущего сайта
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'

# Активируем фаервол
sudo ufw enable

Проверьте текущий статус правил:

sudo ufw status verbose

Шаг 5. Автоматические обновления безопасности (Unattended Upgrades)

Уязвимости нулевого дня в системных пакетах и ядре закрываются патчами регулярно. Чтобы не обновлять систему вручную каждый день, включите автоматическую установку критических исправлений безопасности:

sudo apt update && sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Пакет настроит cron-задачу, которая ежедневно скачивает и применяет только обновления из репозитория security, не затрагивая конфигурации прикладного софта.

Автоматизация первичного запуска: утилита Helloroot

Выполнять описанные выше операции вручную на десятках серверов отнимает время. Для ускорения рутинных действий системные администраторы используют проверенные скрипты автоматической инициализации.

Один из полезных opensource-инструментов для быстрого старта — утилита Helloroot на GitHub.

Скрипт предназначен для интерактивной первичной настройки чистого Linux VPS. Он берет на себя базовые повторяющиеся шаги:

  • Автоматическое создание пользователя и раздачу sudo-прав.

  • Запись ваших публичных SSH-ключей.

  • Отключение парольного доступа и директивы PermitRootLogin.

  • Базовое обновление системных пакетов репозиториев и установку необходимого админского минимума утилит (curl, git, htop).

Использование таких сценариев сводит время подготовки безопасного окружения к паре минут и исключает человеческий фактор (например, когда администратор забыл выключить PasswordAuthentication или перепутать права на папку .ssh).

Чек-лист готовности сервера перед деплоем

Проверка

Действие

Критерий успешности

Учетная запись

Создан отдельный sudo-пользователь

Вход под root напрямую запрещен

Аутентификация

Ключи Ed25519

Вход по обычному паролю невозможен

Порты и сеть

UFW / nftables активен

Открыты только порты 22, 80, 443

Службы

Проверка прослушиваемых сокетов

Команда ss -tulpn не показывает лишних сервисов на 0.0.0.0

Патчи ядра

Включен unattended-upgrades

Security-обновления устанавливаются автоматически

Первичный харденинг операционной системы — обязательный гигиенический минимум при вводе любого виртуального сервера в эксплуатацию. Переход на криптографические ключи Ed25519, полное отключение парольного доступа и закрытие внешних портов надежно отсекают ботнеты и автоматические брутфорс-сканеры, гарантируя стабильную работу инфраструктуры. Используйте готовые скрипты автоматизации вроде Helloroot, чтобы не тратить время на рутину, а в каталоге VPSMarket.Ru выбирайте проверенных хостинг-провайдеров с чистыми IP-подсетями и удобным доступом к VNC-консоли на случай экстренного восстановления доступа к серверу.

Рекомендуемые тарифы

Beget
CPU2×3.0GHz
RAM4 GB
Диск40 GB NVMe
Трафик∞
Вирт.KVM
Страна
Россия
DDoSIPv6⏱
1140 ₽
Hosting Russia
CPU2×2.0GHz
RAM4 GB
Диск70 GB NVMe
Трафик30 TB
Вирт.KVM
Страна
ЛатвияГерманияНидерланды
DDoSIPv6⏱
1050 ₽
Xorek Cloud
CPU16×2.0GHz
RAM32 GB
Диск480 GB NVMe
Трафик∞
Вирт.KVM
Страна
ГерманияФинляндияНидерланды
DDoSIPv6⏱
2949 ₽

Вопросы о базовой безопасности VPS