Как только хостинг-провайдер выделяет новый виртуальный сервер и выдает публичный 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 |
Службы | Проверка прослушиваемых сокетов | Команда |
Патчи ядра | Включен | Security-обновления устанавливаются автоматически |
Первичный харденинг операционной системы — обязательный гигиенический минимум при вводе любого виртуального сервера в эксплуатацию. Переход на криптографические ключи Ed25519, полное отключение парольного доступа и закрытие внешних портов надежно отсекают ботнеты и автоматические брутфорс-сканеры, гарантируя стабильную работу инфраструктуры. Используйте готовые скрипты автоматизации вроде Helloroot, чтобы не тратить время на рутину, а в каталоге VPSMarket.Ru выбирайте проверенных хостинг-провайдеров с чистыми IP-подсетями и удобным доступом к VNC-консоли на случай экстренного восстановления доступа к серверу.





