Mastodon Mastodon Mastodon Mastodon

Создание защищенного VPS сервера: пошаговое руководство для пентестинга и общих задач

Фото автора

Kamil Akbari

Опубликовано:

Обновлено:

VPS (Virtual Private Server) — это универсальный инструмент, применяемый для веб-хостинга, разработки, организации личного облачного хранилища, тестирования на проникновение (пентестинга), анализа безопасности и развёртывания VPN-сервера. Без грамотной настройки VPS становится уязвимой точкой входа для атакующих. Ниже приведено пошаговое руководство по созданию защищённого VPS-сервера на базе актуального дистрибутива Ubuntu 24.04 LTS.

Примечание редакции (2026): Руководство актуализировано с учётом Ubuntu 24.04 LTS (Noble Numbat) — текущей LTS-версии с поддержкой до апреля 2029 года. Рекомендации по SSH и UFW соответствуют современным стандартам NIST SP 800-123.

Выбор провайдера и операционной системы

Первым важным шагом является выбор надёжного провайдера VPS. При оценке провайдера обращайте внимание на следующие факторы:

  • Репутация компании и отзывы клиентов
  • Расположение серверов и качество сети
  • Доступные варианты операционных систем
  • Производительность и масштабируемость тарифных планов
  • Уровень технической поддержки и документации

Для операционной системы рекомендуется Ubuntu 24.04 LTS или Debian 12 — они имеют широкую поддержку сообщества, регулярные обновления безопасности и хорошо подходят для серверных задач. Ubuntu 24.04 LTS получает обновления безопасности до апреля 2029 года.

Если ваша цель — пентестинг и анализ безопасности, стоит рассмотреть специализированные дистрибутивы: Kali Linux, ParrotOS или BlackArch. Они содержат предустановленный набор инструментов для тестирования на проникновение, анализа уязвимостей и реверс-инжиниринга.

Первоначальная настройка сервера

После создания VPS подключитесь по SSH с учётными данными провайдера и выполните следующие шаги:

  1. Обновите все установленные пакеты:
    sudo apt update && sudo apt upgrade -y
  2. Создайте нового пользователя с правами sudo и настройте аутентификацию по SSH-ключу:
    adduser johndoe
    usermod -aG sudo johndoe
    mkdir -p /home/johndoe/.ssh
    chmod 700 /home/johndoe/.ssh
    nano /home/johndoe/.ssh/authorized_keys  # Вставьте ваш публичный SSH-ключ
    chmod 600 /home/johndoe/.ssh/authorized_keys
    chown -R johndoe:johndoe /home/johndoe/.ssh
  3. Отключите вход для root и вход по паролю, отредактировав /etc/ssh/sshd_config:
    PermitRootLogin no
    PasswordAuthentication no
  4. Перезапустите службу SSH:
    sudo systemctl restart sshd

Укрепление безопасности SSH

SSH — основной канал удалённого доступа к VPS. Рекомендуется несколько уровней защиты:

  • Установите fail2ban для блокировки брутфорс-атак:
    sudo apt install fail2ban -y
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

    Логи хранятся в /var/log/fail2ban.log. Файл jail.local имеет приоритет над jail.conf.

  • Используйте только аутентификацию по SSH-ключам (настроено на предыдущем шаге).
  • Смените стандартный порт SSH (например, на 2222) в /etc/ssh/sshd_config:
    Port 2222
  • Ограничьте доступ к SSH определёнными пользователями:
    AllowUsers johndoe
  • Включите 2FA с помощью Google Authenticator или аналогичного решения.

После внесения изменений перезапустите SSH:

sudo systemctl restart sshd

Настройка двухфакторной аутентификации (2FA)

Двухфакторная аутентификация существенно повышает безопасность, требуя одноразовый код при каждом входе по SSH.

  1. Установите модуль Google Authenticator PAM:
    sudo apt install libpam-google-authenticator -y
  2. Запустите настройку от имени пользователя:
    su - johndoe
    google-authenticator

    Сохраните резервные коды в безопасном месте.

  3. Добавьте в конец файла /etc/pam.d/sshd:
    auth required pam_google_authenticator.so
  4. В /etc/ssh/sshd_config установите:
    KbdInteractiveAuthentication yes
    AuthenticationMethods publickey,keyboard-interactive

    Примечание: параметр ChallengeResponseAuthentication устарел в Ubuntu 22.04+; используйте KbdInteractiveAuthentication.

  5. Перезапустите SSH:
    sudo systemctl restart sshd

Настройка брандмауэра UFW

UFW (Uncomplicated Firewall) — стандартный инструмент управления брандмауэром в Ubuntu. Важно: разрешите нужные порты до включения UFW, иначе вы потеряете доступ к серверу.

Установка и базовая настройка UFW:

sudo apt install ufw -y
sudo ufw allow 2222/tcp   # SSH на нестандартном порту
sudo ufw allow 80/tcp     # HTTP
sudo ufw allow 443/tcp    # HTTPS
sudo ufw enable

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

sudo ufw status verbose

Автоматическое применение обновлений безопасности

Настройте автоматическую установку обновлений безопасности для снижения риска эксплуатации известных уязвимостей:

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

Это обеспечивает своевременное применение патчей без ручного вмешательства — критически важный элемент защиты согласно NIST SP 800-40 по управлению патчами.

Мониторинг сервера

Регулярный мониторинг позволяет своевременно обнаруживать потенциальные угрозы:

  • Используйте Prometheus и Grafana для сбора и визуализации метрик сервера.
  • Настройте централизованный сбор логов с помощью ELK-стека (Elasticsearch, Logstash, Kibana).
  • Применяйте инструменты обнаружения вторжений: OSSEC или Suricata.
  • Регулярно просматривайте системные логи командой journalctl -xe и файл /var/log/auth.log.

Безопасная передача файлов на VPS

Для передачи файлов между локальной машиной и VPS используйте SCP или SFTP. Пример передачи каталога project:

scp -P 2222 -i ~/.ssh/vps_key -r ~/project johndoe@vps_ip:~/

Данные передаются по шифрованному SSH-соединению. Более удобный интерактивный вариант — SFTP-клиент, например FileZilla или встроенный sftp.

Что делать после настройки

После выполнения базовой настройки выполните финальный контрольный список:

  • Убедитесь, что вход по root отключён: ssh root@vps_ip должен возвращать ошибку.
  • Проверьте правила UFW: sudo ufw status.
  • Убедитесь, что fail2ban активен: sudo fail2ban-client status sshd.
  • Запустите сканер уязвимостей lynis audit system для оценки состояния безопасности.
  • Настройте регулярное резервное копирование данных сервера.

Подробные рекомендации по защите Linux-серверов публикует CIS Benchmarks для Ubuntu Linux.


Kamil Akbari

Камил Акбари — автор и редактор по кибербезопасности в CyberSecureFox. Более 5 лет работает в сфере кибербезопасности, занимается разработкой software и security-инструментов. Специализируется на AI security, анализе CVE, ransomware, malware, cloud security и практиках пентестинга. При подготовке материалов опирается на official advisories, CVE/NVD, CISA, публикации вендоров и отчёты исследователей.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.