bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward

Защита VPN-сервера на VPS: fail2ban, SSH-ключи и закрытые порты

calendar_month 23 августа 2026 schedule 16 мин. чтения visibility 16 просмотров
person
Valebyte Team
Защита VPN-сервера на VPS: fail2ban, SSH-ключи и закрытые порты
summarize

TL;DR

  • Используйте SSH-ключи вместо паролей и смените SSH-порт с 22 на нестандартный.
  • Установите и настройте fail2ban для автоматической блокировки злоумышленников.
  • Настройте UFW-файрвол, разрешая только необходимые порты (белый список).
  • Ваш VPS — мишень для ботов сразу после активации; защита критична.

Для надежной защиты VPN-сервера на VPS достаточно 15-20 минут базовой настройки, включающей генерацию и использование SSH-ключей вместо паролей, смену стандартного SSH-порта с 22 на нестандартный, установку и конфигурацию fail2ban для автоматического бана злоумышленников, а также настройку UFW-файрвола с белым списком разрешенных портов.

Зачем нужна защита VPS и VPN-сервера? Основы безопасности

Ваш VPS — это фундамент для VPN-сервера, и как любой фундамент, он должен быть крепким. В интернете ежедневно происходят миллионы попыток взлома серверов, и ваш новый VPS с публичным IP-адресом становится мишенью сразу после его активации. Автоматизированные боты сканируют диапазоны IP-адресов, ища открытые стандартные порты (например, 22 для SSH, 80/443 для веб-серверов) и пытаясь подобрать пароли. Если ваш VPS используется для VPN, компрометация сервера означает не только потерю ваших данных, но и потенциальное использование его для незаконной деятельности, что может привести к блокировке IP-адреса хостинг-провайдером, а в худшем случае — к юридическим последствиям.

Поэтому защита vps от взлома — это не опция, а необходимость. Даже если вы используете свой VPS исключительно для личных нужд, его безопасность критически важна. Простые, но эффективные меры, о которых мы расскажем ниже, позволят значительно повысить уровень защиты вашего сервера, не требуя глубоких знаний в области кибербезопасности. Это базовый vps security hardening, который должен выполнить каждый пользователь.

Основные угрозы для VPS и VPN-серверов

  • Брутфорс-атаки: Попытки подбора паролей к SSH, VPN-сервисам, панелям управления.
  • Сканирование портов: Выявление открытых сервисов и их уязвимостей.
  • Эксплойты: Использование известных уязвимостей в ПО (операционная система, VPN-сервер, веб-сервер и т.д.).
  • DDoS-атаки: Перегрузка сервера трафиком для отказа в обслуживании.
  • Несанкционированный доступ: Получение контроля над сервером через скомпрометированные учетные данные или уязвимости.

Именно поэтому мы настоятельно рекомендуем уделять внимание безопасности с самого начала. Если вы только планируете развернуть свой VPN, ознакомьтесь с нашим полным руководством по настройке VPN на своём VPS, чтобы сразу учесть аспекты безопасности.

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

SSH (Secure Shell) — это основной инструмент для удаленного управления вашим VPS. По умолчанию большинство VPS-провайдеров настраивают доступ по паролю через стандартный порт 22. Это удобно, но крайне небезопасно. Пароли можно подобрать, особенно если они простые. SSH-ключи, напротив, представляют собой гораздо более надежный метод аутентификации.

Генерация и использование SSH-ключей

SSH-ключи состоят из двух частей: публичного ключа (который хранится на сервере) и приватного ключа (который хранится на вашем локальном компьютере). Они работают в паре, обеспечивая криптографически стойкую аутентификацию.

Шаг 1: Генерация ключей на локальном компьютере

Откройте терминал (Linux/macOS) или Git Bash/WSL (Windows) и выполните команду:

ssh-keygen -t rsa -b 4096 -C "ваша_почта@example.com"

Вас попросят указать путь для сохранения ключей (по умолчанию ~/.ssh/id_rsa) и ввести парольную фразу (passphrase). Настоятельно рекомендуем использовать парольную фразу — это дополнительный уровень защиты для вашего приватного ключа. Даже если кто-то получит доступ к вашему приватному ключу, он не сможет использовать его без этой фразы.

Шаг 2: Копирование публичного ключа на VPS

После генерации у вас будут два файла: `id_rsa` (приватный ключ) и `id_rsa.pub` (публичный ключ). Теперь нужно скопировать публичный ключ на ваш VPS. Самый простой способ:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_vps_ip

Замените `user` на имя пользователя (обычно `root` или `admin`) и `your_vps_ip` на IP-адрес вашего VPS. Вам будет предложено ввести пароль пользователя на VPS. После успешного копирования вы сможете входить на сервер без пароля, используя только SSH-ключ.

Шаг 3: Отключение аутентификации по паролю

После того как вы убедились, что можете входить по SSH-ключу, необходимо отключить вход по паролю для повышения защиты vps от взлома. Отредактируйте файл конфигурации SSH-сервера на VPS:

sudo nano /etc/ssh/sshd_config

Найдите и измените следующие строки (или добавьте, если их нет):

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Сохраните изменения и перезапустите службу SSH:

sudo systemctl restart sshd

Теперь вход на ваш VPS возможен только с использованием SSH-ключей. Это значительно повышает безопасность.

Изменение стандартного порта SSH

Стандартный порт SSH — 22 — является первой целью для большинства автоматических сканеров и ботов. Смена порта ssh на нестандартный (например, 2222, 22022 или любой другой в диапазоне 1024-65535, который не используется другими сервисами) снизит количество автоматических атак на ваш сервер.

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

sudo nano /etc/ssh/sshd_config

Найдите строку `Port 22` и измените ее на что-то вроде:

Port 22022

Сохраните изменения. ВАЖНО: Прежде чем перезапускать SSH, убедитесь, что новый порт разрешен в вашем файрволе (мы настроим UFW позже, но если у вас уже есть другой файрвол, добавьте правило для нового порта). Иначе вы потеряете доступ к серверу.

Перезапустите SSH-сервер:

sudo systemctl restart sshd

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

Ищете надёжный сервер для ваших проектов?

VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.

Смотреть предложения →
ssh -p 22022 user@your_vps_ip

Автоматическая защита от брутфорса: fail2ban настройка VPS

Даже после смены порта SSH и использования ключей, попытки подбора паролей все еще могут происходить, если вы не отключили парольную аутентификацию для всех пользователей или используете другие сервисы, подверженные брутфорсу. Здесь на помощь приходит fail2ban — мощный инструмент, который сканирует логи сервера на предмет подозрительных активностей (например, множественных неудачных попыток входа) и автоматически блокирует IP-адреса злоумышленников с помощью правил файрвола.

Установка и базовая конфигурация fail2ban

Установка fail2ban на большинстве дистрибутивов Linux проста:

# Для Debian/Ubuntu
sudo apt update
sudo apt install fail2ban

# Для CentOS/RHEL
sudo yum install epel-release
sudo yum install fail2ban

После установки fail2ban работает "из коробки" с базовой защитой для SSH. Однако для оптимальной fail2ban настройка vps лучше создать файл локальной конфигурации.

Скопируйте файл конфигурации по умолчанию:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Отредактируйте `jail.local`:

sudo nano /etc/fail2ban/jail.local

В этом файле найдите секцию `[DEFAULT]`. Здесь вы можете настроить глобальные параметры:

  • `bantime`: Время блокировки IP-адреса в секундах (по умолчанию 10 минут = 600 секунд). Можно увеличить до 1h (3600), 1d (86400) или даже -1 для постоянного бана.
  • `findtime`: Период времени, за который должны произойти неудачные попытки, чтобы IP был заблокирован (по умолчанию 10 минут = 600 секунд).
  • `maxretry`: Количество неудачных попыток до блокировки (по умолчанию 5).
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 3
destemail = [email protected] ; Опционально: для получения уведомлений
sendername = Fail2ban Alert
mta = sendmail

Настройка защиты для SSH и других сервисов

Для активации защиты SSH (и других сервисов) найдите соответствующие секции в `jail.local`. Убедитесь, что для `sshd` установлена опция `enabled = true`:

[sshd]
enabled = true
port = ssh,22022 ; Укажите ваш новый SSH-порт, если вы его изменили
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1d

Если ваш VPN-сервер (например, OpenVPN или WireGuard) также ведет логи неудачных попыток подключения, вы можете настроить для него отдельный "jail". Это может потребовать создания пользовательского фильтра `filter.d/yourvpn.conf` и соответствующей секции в `jail.local`.

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

sudo systemctl restart fail2ban

Проверить статус работы fail2ban и активные "jail'ы" можно командой:

sudo fail2ban-client status

А статус конкретного "jail'а", например, `sshd`:

sudo fail2ban-client status sshd

Это покажет заблокированные IP-адреса и другую полезную информацию. Fail2ban настройка vps является ключевым элементом в автоматической защите от брутфорс-атак.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

UFW Firewall: Белый список для вашего сервера

Файрвол (брандмауэр) — это ваша первая линия обороны. UFW (Uncomplicated Firewall) — это удобная оболочка для iptables, которая значительно упрощает настройку правил файрвола на Linux-системах. С его помощью вы можете легко реализовать концепцию "белого списка": запретить весь входящий трафик по умолчанию и разрешить только то, что вам действительно нужно.

Активация UFW и правила по умолчанию

Установка UFW:

# Для Debian/Ubuntu
sudo apt update
sudo apt install ufw

# Для CentOS/RHEL (используйте firewalld или iptables)
# Для CentOS firewalld по умолчанию, UFW не рекомендуется. Если все же UFW, то через Snap или компиляцию.
# Для простоты, этот раздел ориентирован на Ubuntu/Debian.

После установки необходимо настроить правила по умолчанию. Ufw firewall сервер должен быть настроен на запрет всего входящего трафика и разрешение всего исходящего. Это стандартная и наиболее безопасная практика.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Настройка правил для VPN и SSH

Теперь разрешим доступ к необходимым сервисам. Если вы изменили порт SSH на 22022, разрешите его:

sudo ufw allow 22022/tcp

Если вы используете OpenVPN, он обычно работает на порту 1194 (UDP) или 443 (TCP). Для WireGuard используются различные порты, например, 51820 (UDP). Разрешите порт(ы) вашего VPN-сервера:

# Для OpenVPN (UDP)
sudo ufw allow 1194/udp

# Для OpenVPN (TCP, если используется)
sudo ufw allow 443/tcp

# Для WireGuard (пример порта)
sudo ufw allow 51820/udp

Если вы используете веб-сервер (например, для панели управления VPN) на портах 80 (HTTP) и 443 (HTTPS), разрешите и их:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

После настройки всех необходимых правил, активируйте UFW. Вас спросят, хотите ли вы продолжить, так как это может прервать существующие SSH-соединения:

sudo ufw enable

Проверьте статус файрвола:

sudo ufw status verbose

Вы увидите список разрешенных правил. Теперь ваш ufw firewall сервер надежно защищает ваш VPS, разрешая только необходимый трафик. Это критически важный компонент для защиты vps от взлома.

Безопасность VPN-сервера: Дополнительные меры

Помимо базового харднинга VPS, необходимо уделить внимание и самому VPN-серверу. Безопасность vpn сервера зависит от многих факторов, включая выбор протокола, регулярные обновления и правильную конфигурацию.

Обновление ПО и минимализм в сервисах

Регулярные обновления: Всегда держите вашу операционную систему и все установленное ПО в актуальном состоянии. Обновления часто содержат исправления безопасности. Настройте автоматические обновления или выполняйте их вручную регулярно:

sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
sudo yum update -y # CentOS/RHEL

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

Использование надежных протоколов и шифрования

Выбирайте современные и безопасные VPN-протоколы, такие как OpenVPN с TLS или WireGuard. Избегайте устаревших протоколов вроде PPTP. Убедитесь, что ваш VPN-сервер использует сильные алгоритмы шифрования (например, AES-256) и хеширования (например, SHA256).

  • OpenVPN: Используйте TLS-аутентификацию, длинные ключи (например, 2048-бит или 4096-бит для RSA), сильные алгоритмы шифрования.
  • WireGuard: Протокол по своей природе более безопасен благодаря упрощенной кодовой базе и использованию современных криптографических примитивов. Убедитесь, что приватные ключи хранятся в безопасности и не имеют лишних прав доступа.

Не забывайте о регулярном автоматическом бэкапе конфигов VPN с VPS. Это позволит быстро восстановить работоспособность сервера в случае непредвиденных проблем или компрометации.

Панели управления и разделение прав: Ограничиваем доступ

Многие пользователи устанавливают на свои VPS панели управления (например, VestaCP, ISPManager, cPanel, или специализированные панели для VPN, такие как Pritunl, OpenVPN Access Server, WireGuard UI). Эти панели значительно упрощают управление, но могут стать серьезной уязвимостью, если их не защитить должным образом.

Ограничение доступа к панелям управления и разделение прав

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

Решения:

  1. Ограничение по IP-адресу: Используйте UFW (или другой файрвол) для разрешения доступа к порту панели управления только с вашего домашнего или офисного IP-адреса.
  2. sudo ufw allow from your_home_ip to any port 8080 # Пример для панели на порту 8080
  3. VPN-туннель: Лучший подход — вообще не открывать панель управления в интернет. Подключайтесь к ней через VPN-туннель, который вы уже подняли на этом VPS. То есть, сначала подключаетесь к своему VPN, а затем заходите на панель управления по локальному IP-адресу или через loopback (127.0.0.1), если панель слушает только его.
  4. Двухфакторная аутентификация (2FA): Если панель поддерживает, обязательно включите 2FA.
  5. Сильные пароли: Используйте сложные, уникальные пароли для доступа к панели.

Разделение прав пользователей:

Никогда не используйте пользователя `root` для повседневных задач. Создайте отдельного пользователя с ограниченными правами и используйте `sudo` для выполнения административных команд. Это снижает риск, если аккаунт обычного пользователя будет скомпрометирован.

sudo adduser newuser
sudo usermod -aG sudo newuser # Для предоставления прав sudo на Debian/Ubuntu

С этими мерами vps security hardening становится более эффективным, особенно когда речь идет о критически важных интерфейсах управления.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Мониторинг и логирование: Признаки компрометации

Даже с самыми строгими мерами безопасности, риск компрометации никогда не равен нулю. Важно уметь распознавать признаки взлома и иметь систему логирования для расследования инцидентов. Мониторинг VPN-сервера на VPS — это не только про аптайм, но и про безопасность.

Что логировать и как выявить компрометацию

Что логировать:

  • Логи аутентификации: `auth.log` (Debian/Ubuntu) или `secure` (CentOS/RHEL) — записывает все попытки входа по SSH, sudo, и другие аутентификации.
  • Логи VPN-сервера: Логи OpenVPN, WireGuard или других VPN-сервисов — отслеживают подключения, ошибки аутентификации, переданный трафик.
  • Логи файрвола: UFW или iptables могут логировать отброшенные пакеты, что помогает выявить сканирование портов или атаки.
  • Логи системных событий: `syslog`, `kern.log` — общие системные сообщения, ошибки, предупреждения.

Признаки компрометации, на которые стоит обратить внимание:

  1. Необычная активность SSH: Множество неудачных попыток входа (fail2ban должен это обрабатывать, но если их слишком много, это повод задуматься), вход с незнакомых IP-адресов, необычное время входа.
  2. Неизвестные процессы: Запущенные процессы, которые вы не устанавливали и не знаете их предназначения. Проверьте командой `ps aux` или `top`.
  3. Необычный сетевой трафик: Всплески исходящего трафика (особенно на незнакомые IP-адреса), необычные открытые порты (`netstat -tulnp`). Компрометированный сервер часто используют для DDoS-атак, рассылки спама или майнинга криптовалют.
  4. Изменения в файловой системе: Неизвестные файлы или директории, изменения прав доступа к критическим файлам, модификация системных файлов. Используйте утилиты вроде `aide` или `rkhunter` для проверки целостности файлов.
  5. Высокая загрузка CPU/RAM/диска: Необъяснимо высокая загрузка ресурсов, особенно если ваш VPN не обслуживает много пользователей.
  6. Странное поведение VPN: Неожиданные дисконнекты, снижение скорости, невозможность подключиться. Это также может быть признаком компрометации или того, что падает скорость VPN на VPS из-за аномальной нагрузки.
  7. Получение абуз-репортов: Если ваш хостинг-провайдер присылает вам уведомления о спаме, DDoS-атаках или другой нежелательной активности, исходящей с вашего IP-адреса, это явный признак того, что ваш сервер скомпрометирован и используется для абуза.

Для автоматического мониторинга и оповещений можно использовать такие инструменты, как Prometheus/Grafana, Zabbix или простые скрипты, отправляющие уведомления по почте или в Telegram.

Что делать, если VPS уже скомпрометирован?

Если вы обнаружили признаки компрометации, действовать нужно быстро и решительно. От каждой минуты зависит потенциальный ущерб.

  1. Отключите сервер от сети: Самый первый шаг — предотвратить дальнейшее использование сервера злоумышленниками. Это можно сделать через панель управления вашего хостинг-провайдера (например, Valebyte.com).
  2. Сделайте снимок диска (снапшот): Если возможно, создайте снимок (снапшот) диска сервера. Это позволит вам сохранить текущее состояние для последующего анализа, если потребуется.
  3. Смените все учетные данные: Смените пароли для доступа к VPS (если использовались), сбросьте SSH-ключи, смените пароли для всех сервисов, которые работали на сервере (VPN, панели управления, базы данных и т.д.).
  4. Восстановите из надежного бэкапа: Если у вас есть актуальный и чистый бэкап, это лучший вариант. Восстановите сервер из него. Если бэкапа нет, или он устарел, придется переустанавливать операционную систему.
  5. Проведите анализ (если есть возможность и знания): Если вы обладаете достаточными знаниями, попробуйте проанализировать логи и файловую систему снимка диска, чтобы понять, как произошел взлом и что было сделано.
  6. Усильте меры безопасности: После восстановления или переустановки обязательно примените все меры защиты vps от взлома, описанные в этой статье: SSH-ключи, смена порта, fail2ban, UFW.
  7. Уведомите хостинг-провайдера: Сообщите своему хостинг-провайдеру о компрометации. Они могут помочь с восстановлением или предоставить дополнительную информацию.

Помните, что восстановление из бэкапа и последующий харднинг — это самый надежный путь. Попытки "вычистить" скомпрометированный сервер без полной переустановки часто заканчиваются повторным взломом, так как можно пропустить скрытые бэкдоры.

Спецификации VPS для VPN-сервера: Масштаб и ресурсы

Выбор подходящего VPS для VPN-сервера также влияет на его производительность и способность справляться с нагрузкой, что косвенно влияет и на безопасность (например, при DDoS-атаках). Ниже представлена таблица с рекомендациями по характеристикам VPS в зависимости от количества одновременных пользователей VPN.

Для 50 одновременных пользователей достаточно 4 vCPU, 8 GB RAM и NVMe-диска на 80 GB.

Пользователей VPN (одновременных) vCPU RAM Диск Порт Примерная цена ($/мес)
1-5 (личный) 1 1 GB 20 GB SSD 1 Gbps $3-5
5-20 (малая команда) 2 2-4 GB 40 GB NVMe 1 Gbps $7-12
20-50 (средняя команда) 4 8 GB 80 GB NVMe 1 Gbps $15-25
50-100 (крупная команда/малый бизнес) 6-8 16 GB 160 GB NVMe 1-10 Gbps $30-50
100+ (корпоративный) 8+ 32+ GB 320+ GB NVMe 10 Gbps $60+

Обратите внимание, что это общие рекомендации. Реальные требования могут варьироваться в зависимости от выбранного VPN-протокола, интенсивности использования (постоянный стриминг или редкий просмотр почты) и дополнительного ПО, запущенного на VPS. Для более детального выбора, рассмотрите факторы, влияющие на производительность, например, NVMe, RAM или сеть: что реально важно для VPS под прокси и VPN.

rocket_launch Быстрый выбор

Ищете сервер, который просто работает?

Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

Смотреть тарифы VPS arrow_forward

Часто задаваемые вопросы

Сколько времени занимает базовая защита VPS от взлома?

Базовый харднинг VPS, включающий настройку SSH-ключей, смену порта SSH, установку fail2ban и конфигурацию UFW-файрвола, занимает в среднем от 15 до 30 минут. Большая часть этого времени уходит на ввод команд и ожидание установки пакетов. Эти меры значительно повышают защиту vps от взлома и являются критически важными для любого сервера.

Можно ли использовать fail2ban для защиты других сервисов, кроме SSH?

Да, fail2ban очень гибок и может быть настроен для защиты различных сервисов. Помимо SSH, он часто используется для защиты веб-серверов (Apache, Nginx), почтовых серверов (Postfix, Dovecot), FTP-серверов (vsftpd) и даже VPN-серверов, если они ведут логи с информацией о неудачных попытках аутентификации. Для этого нужно создать или использовать готовый фильтр и активировать соответствующий "jail" в файле `jail.local`.

Что делать, если я забыл новый порт SSH после его смены?

Если вы забыли новый порт SSH и не можете подключиться к серверу, первым делом проверьте конфигурацию `sshd_config` через панель управления вашего хостинг-провайдера, если она предоставляет доступ к файловой системе или консоли. В крайнем случае, можно воспользоваться функцией восстановления или аварийной консоли, предоставляемой Valebyte.com, чтобы получить доступ к серверу и отредактировать файл `/etc/ssh/sshd_config`, вернув стандартный порт 22 или установив новый, который вы запомните. Убедитесь, что UFW разрешает этот порт.

Почему не рекомендуется держать панели управления на публичном порту?

Размещение панели управления на публичном порту без дополнительных ограничений делает ее легкой мишенью для автоматизированных атак. Эти панели часто имеют веб-интерфейс, который может быть уязвим для брутфорса, а также для использования известных эксплойтов. Открытие такого порта для всего интернета существенно увеличивает поверхность атаки на ваш VPS. Ограничение доступа по IP или использование VPN-туннеля до подключения к панели является лучшей практикой vps security hardening.

Выводы

Обеспечение базовой защиты vps от взлома является фундаментальной задачей для любого владельца сервера. Внедрение SSH-ключей, нестандартного порта SSH, fail2ban и файрвола UFW с белым списком занимает минимум времени, но при этом кардинально повышает безопасность вашего VPN-сервера. Не пренебрегайте этими простыми, но эффективными мерами, чтобы ваш VPS оставался надежным и недоступным для злоумышленников, обеспечивая стабильную работу вашего VPN.

Готовы выбрать сервер?

VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.

Начать сейчас →

Поделиться записью:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.