Как защитить SSH на VPS: смена порта, настройка Fail2ban и другие методы
SSH (Secure Shell) — это основной канал управления вашим VPS-сервером. Однако именно он чаще всего становится целью для атак: брутфорс-сканеры, подбор паролей и использование уязвимостей — всё это стандартные угрозы для любого публичного сервера в интернете. В этой статье мы разберем комплексный подход к защите SSH, который включает смену стандартного порта, установку и настройку Fail2ban, а также ряд других обязательных мер. Вы узнаете, как превратить ваш VPS в неприступную крепость, а заодно поймете, почему для максимальной безопасности и анонимности лучше использовать личный VPN-сервер на выделенном VPS.
📑 Содержание:
- 1. Почему защита SSH критически важна
- 2. Смена стандартного порта (22 → нестандартный)
- 3. Настройка Fail2ban для автоматической блокировки
- 4. Отключение root-логина и создание sudo-пользователя
- 5. Использование SSH-ключей вместо паролей
- 6. Дополнительные меры: 2FA, баннеры и ограничения
- 7. Массовый VPN vs Личный VPN на VPS
- 8. Итог: безопасность начинается с вас
Почему защита SSH критически важна
Представьте, что вы оставляете входную дверь своего дома открытой и прикрепляете к ней табличку с номером квартиры. Примерно так выглядит стандартная конфигурация SSH на многих VPS: порт 22 (известный всем), разрешенный root-вход и парольная аутентификация. По данным исследований, среднестатистический VPS получает до 1000 попыток взлома SSH в день. Это не просто цифры — это реальная угроза.
Злоумышленники используют автоматизированные боты, которые сканируют весь интернет-диапазон IP-адресов, пытаясь подобрать логин/пароль к SSH. Если ваш сервер защищён слабо, он станет частью ботнета, будет использован для DDoS-атак или для доступа к вашим данным.
⚠️ Статистика угроз:
- Более 70% всех атак на VPS приходятся на SSH-брутфорс.
- Среднее время до первой попытки взлома после запуска сервера — менее 10 минут.
- Использование стандартного порта 22 увеличивает риск атаки в 5 раз.
- Парольная аутентификация взламывается в 80% случаев при достаточно долгом бруте.
К счастью, защита SSH — это не сложно и занимает не более 15–20 минут. Начнём с самого эффективного и простого шага.
Смена стандартного порта (22 → нестандартный)
Смена порта SSH — это как сменить замок на двери и не вешать табличку. Это первая линия обороны, которая мгновенно отсекает 99% автоматических сканеров, которые проверяют только 22-й порт.
Как сменить порт SSH на VPS (пошагово)
- Подключитесь к серверу по SSH:
ssh root@ваш_ip -p 22 - Откройте конфигурационный файл SSH:
sudo nano /etc/ssh/sshd_config - Найдите строку
#Port 22и замените её на, например,Port 50421(выберите случайный порт от 1024 до 65535). - Сохраните файл (Ctrl+O, Enter) и закройте (Ctrl+X).
- Разрешите новый порт в фаерволе:
- UFW:
sudo ufw allow 50421/tcp - Firewalld:
sudo firewall-cmd --permanent --add-port=50421/tcp && sudo firewall-cmd --reload
- UFW:
- Перезапустите SSH-сервис:
sudo systemctl restart sshd - Проверьте подключение: откройте новое SSH-соединение с новым портом. Не закрывайте старую сессию, пока не убедитесь, что всё работает.
💡 Важно: Не забудьте также открыть новый порт на панели управления вашего VPS-хостинга (если есть внешний файрвол).
Настройка Fail2ban для автоматической блокировки
Fail2ban — это инструмент, который сканирует логи служб (в том числе SSH) и блокирует IP-адреса, с которых слишком много неудачных попыток входа. Это ваш личный страж, который автоматически заносит злоумышленников в чёрный список на заданное время.
Установка и настройка Fail2ban
- Установите Fail2ban:
- Debian/Ubuntu:
sudo apt update && sudo apt install fail2ban -y - CentOS/RHEL:
sudo yum install epel-release -y && sudo yum install fail2ban -y
- Debian/Ubuntu:
- Создайте локальный конфиг:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local - Отредактируйте
jail.local:sudo nano /etc/fail2ban/jail.local - Найдите секцию
[sshd]и убедитесь, что она активна:[sshd] enabled = true port = ssh logpath = %(sshd_log)s backend = %(sshd_backend)s maxretry = 3 bantime = 3600 findtime = 600
Пояснения:
maxretry=3— блокировать после 3 неудачных попыток,bantime=3600— блокировка на 1 час,findtime=600— учитывать попытки за последние 10 минут. - Перезапустите Fail2ban:
sudo systemctl restart fail2ban - Проверьте статус:
sudo fail2ban-client status sshd
📊 Эффективность Fail2ban:
После настройки Fail2ban вы увидите, как количество попыток взлома в логах резко снижается. Бот сканирует порт 22, делает 3 попытки и попадает в бан. Это экономит ресурсы вашего сервера и защищает от brute-force атак.
Отключение root-логина и создание sudo-пользователя
Вход под пользователем root — это как если бы у вас была учётная запись администратора без пароля. Даже если вы сменили порт и настроили Fail2ban, атака на root-аккаунт остаётся самой опасной. Лучшая практика — полностью отключить root-доступ через SSH и работать через обычного пользователя с правами sudo.
Пошаговая инструкция
- Создайте нового пользователя:
sudo adduser ваш_пользователь - Добавьте его в группу sudo:
sudo usermod -aG sudo ваш_пользователь - Проверьте, что можете войти под новым пользователем:
ssh ваш_пользователь@ваш_ip -p новый_порт - Отредактируйте
/etc/ssh/sshd_configи замените:PermitRootLogin yes→PermitRootLogin no
- Перезапустите SSH:
sudo systemctl restart sshd
✅ Результат: Теперь никто не сможет войти под root. Все административные задачи вы выполняете через sudo, а злоумышленникам придётся сначала взломать обычного пользователя, что гораздо сложнее.
Использование SSH-ключей вместо паролей
SSH-ключи — это пара «публичный + приватный» ключей. Это самый безопасный способ аутентификации, который практически невозможно взломать (если вы не потеряете свой приватный ключ). Парольная аутентификация может быть взломана брутфорсом, а ключ — нет.
Как настроить вход по SSH-ключам
- Сгенерируйте ключи на вашем локальном компьютере:
ssh-keygen -t ed25519 -C "your_email@example.com" - Скопируйте публичный ключ на сервер:
ssh-copy-id ваш_пользователь@ваш_ip -p новый_порт - Отредактируйте
/etc/ssh/sshd_configи включите:PasswordAuthentication no— отключить вход по паролю.PubkeyAuthentication yes— разрешить вход по ключам.
- Перезапустите SSH:
sudo systemctl restart sshd
🔑 Важно: Храните свой приватный ключ в надёжном месте. Если вы его потеряете, доступ к серверу будет потерян без возможности восстановления (если нет других методов аутентификации).
Дополнительные меры: 2FA, баннеры и ограничения
Для максимальной защиты вы можете использовать дополнительные методы:
- Двухфакторная аутентификация (2FA) — настройка через
google-authenticatorдля SSH. Добавляет дополнительный код при входе. - Настройка баннера — показывает предупреждение о несанкционированном доступе при подключении (юридическая защита).
- Ограничение попыток ввода (MaxAuthTries) — в
sshd_configустановитеMaxAuthTries 3, чтобы ограничить количество попыток ввода. - Использование «AllowUsers» — укажите конкретных пользователей, которым разрешён вход:
AllowUsers ваш_пользователь. - Настройка TCP Wrappers — ограничение доступа по IP через
/etc/hosts.allowи/etc/hosts.deny.
Эти меры сделают ваш сервер практически неуязвимым для внешних атак.
Массовый VPN vs Личный VPN на VPS
🚀 В чём отличие подхода VPS-VPN?
В отличие от обычных VPN-сервисов, где 1000+ человек сидят на одном IP, вы получаете персональный VPS.
- Никаких «шумных соседей»: ваш IP-адрес используете только вы. Никто не сможет «подставить» вас своей активностью.
- Стабильная скорость: пропускная способность не делится между сотнями пользователей.
- Минимальный риск блокировок: массовые IP-адреса часто попадают в бан-листы из-за действий других пользователей. Ваш личный IP — чистый.
- Полный контроль: вы сами управляете сервером, выбираете протоколы и настройки безопасности.
- Технология XHTTP + Reality: ваш трафик маскируется под обычный HTTPS, DPI не может его отличить от обычного браузера Chrome.
🎯 Нас в 1000 раз сложнее заблокировать и отследить.
Потому что каждый клиент VPS-VPN — это отдельный выделенный сервер с уникальным IP-адресом и индивидуальными настройками маскировки.
📌 Технология XHTTP + Reality — что это?
Это технология маскировки VPN-трафика под обычный HTTPS-запрос к легитимному сайту. DPI видит ваш трафик как обычный браузер Chrome, у него нет характерных сигнатур, поэтому вас в 1000 раз сложнее заблокировать. Это идеальное решение для стран с активной фильтрацией интернета.
| Параметр | Массовый VPN | Личный VPN на VPS (VPS-VPN) |
|---|---|---|
| IP-адрес | Общий (1000+ пользователей) | ✅ Персональный, только ваш |
| Скорость | Разделяется между всеми | ✅ Максимальная, только ваша |
| Риск блокировки | Высокий (из-за соседей) | ✅ Минимальный |
| Маскировка трафика | Стандартные протоколы | ✅ XHTTP + Reality, имитация Chrome |
| Логирование | Часто хранят логи | ✅ Zero-log, полная конфиденциальность |
| Сложность обнаружения DPI | Легко обнаружить | ✅ В 1000 раз сложнее |
🔥 Получите свой личный VPN-сервер с технологией XHTTP + Reality
Мы в VPS-VPN предлагаем полностью выделенный VPN-сервер на вашем собственном VPS. Никаких общих IP, никаких «соседей», только ваш трафик и максимальная защита.
Ваш трафик будет неотличим от обычного HTTPS — DPI-системы увидят обычный браузер Chrome. Нас в 1000 раз сложнее заблокировать.
🚀 Заказать личный VPN-серверИтог: безопасность начинается с вас
Защита SSH на VPS — это не опция, а необходимость. Следуя этим простым шагам (смена порта, Fail2ban, отключение root, использование ключей), вы снижаете риск взлома вашего сервера практически до нуля. Но безопасность — это не только технические меры, но и правильный выбор инфраструктуры.
Личный VPN на VPS с технологией XHTTP + Reality — это не только способ обойти цензуру, но и гарантия вашей цифровой безопасности. Используйте выделенный сервер, чтобы быть уверенным в своей анонимности и защите.
✅ Безопасность + Анонимность = VPS-VPN
Мы предлагаем не просто VPS, а полностью готовое решение для приватного интернета. С нами ваш трафик всегда под контролем, а не под наблюдением. Перейдите на VPS-VPN и получите персональный сервер с технологией будущего.