Первые 10 шагов после покупки VPS: безопасность

Пароли к новому серверу начинают подбирать через несколько минут после того, как у него появился публичный IP. Ниже — десять шагов, которые за час закрывают самые частые дыры: команды для Ubuntu и Debian, отличия для AlmaLinux и Rocky Linux и проверки, без которых легко потерять доступ к собственному серверу.

Обновлено 31.10.2026 · Подобрать VPS по своим условиям →

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

Команды даны для Ubuntu и Debian, отличия для AlmaLinux и Rocky Linux отмечены отдельно. Выполняйте их от root или через sudo.

Перед началом: запасной вход

Найдите в панели хостера консоль сервера: она называется VNC, KVM-консоль или аварийная консоль и открывает экран сервера прямо в браузере. Через неё можно войти, даже если SSH уже не пускает. Пока вы меняете настройки входа, держите открытой текущую сессию SSH и проверяйте каждое изменение во втором окне. Так ошибка в конфигурации стоит пары минут, а не переустановки системы.

1. Обновите систему

Шаблоны систем у хостеров собирают заранее, и к моменту установки в них часто набирается десяток неустановленных исправлений безопасности.

apt update && apt full-upgrade -y     # Ubuntu, Debian
dnf upgrade -y                         # AlmaLinux, Rocky Linux

Если обновилось ядро, перезагрузите сервер. В Ubuntu и Debian об этом говорит файл /var/run/reboot-required: если он есть, нужна перезагрузка.

2. Заведите отдельного пользователя

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

adduser deploy
usermod -aG sudo deploy      # Ubuntu, Debian
usermod -aG wheel deploy     # AlmaLinux, Rocky Linux

В AlmaLinux и Rocky Linux команда adduser ничего не спрашивает, пароль задаётся отдельно: passwd deploy. Имя возьмите любое, кроме очевидных admin и user.

3. Войдите по SSH-ключу

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

ssh-keygen -t ed25519 -C "laptop"
ssh-copy-id deploy@IP_сервера

В Windows 10 и 11 клиент OpenSSH встроен, а ssh-copy-id нет. Тогда откройте файл .pub и вставьте его строку на сервере в /home/deploy/.ssh/authorized_keys; у папки .ssh должны быть права 700, у файла — 600, владелец — сам пользователь. Многие хостеры позволяют добавить ключ ещё при заказе, тогда он уже лежит у root.

Проверьте в новом окне, что вход работает без пароля и sudo доступен: ssh deploy@IP_сервера, затем sudo -v. Только после этого переходите к следующему шагу.

4. Запретите вход по паролю и под root

Удобнее всего не править основной файл, а положить свои настройки отдельным файлом в /etc/ssh/sshd_config.d/. Важная деталь: для каждого параметра sshd берёт первое найденное значение, а файлы из этой папки читает по алфавиту. В образах Ubuntu для облака там бывает файл 50-cloud-init.conf со строкой PasswordAuthentication yes, поэтому свой файл назовите с номером меньше 50, например /etc/ssh/sshd_config.d/10-hardening.conf:

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no

Проверьте синтаксис и то, какие значения сервер реально применит, затем перечитайте настройки:

sshd -t && sshd -T | grep -Ei 'permitrootlogin|passwordauthentication'
systemctl reload ssh       # Ubuntu, Debian
systemctl reload sshd      # AlmaLinux, Rocky Linux

Не закрывайте старую сессию, пока во втором окне не войдёте под своим пользователем по ключу. Попытка войти под root должна получить отказ.

Менять порт SSH с 22 на другой не обязательно. Это убирает из журнала почти все автоматические попытки входа, но защиту даёт ключ, а не номер порта. Если всё же меняете, сначала откройте новый порт в файрволе. В Ubuntu 22.10 и новее SSH запускается через сокет systemd, и после смены Port нужно выполнить systemctl daemon-reload и systemctl restart ssh.socket, иначе сервер продолжит слушать 22.

5. Включите файрвол

Правило простое: все входящие соединения запрещены, кроме тех, что идут к службам, которые должны быть видны снаружи. Для сайта это SSH, 80 и 443. В Ubuntu удобен ufw, в Debian его нужно поставить командой apt install ufw:

ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable
ufw status verbose

Порядок важен: сначала разрешите SSH, потом включайте. В AlmaLinux и Rocky Linux уже работает firewalld, и SSH в нём разрешён по умолчанию; веб-порты открываются так:

firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --reload
firewall-cmd --list-all

Если на сервере будет Docker, учтите его особенность: он сам пишет правила iptables, и опубликованный порт контейнера, например -p 3306:3306, становится доступен из интернета, даже если в ufw он не разрешён. Служебные порты публикуйте только на локальный адрес: -p 127.0.0.1:3306:3306. Тарифы под контейнеры собраны в подборке VPS для Docker.

У многих хостеров в панели есть ещё и сетевой файрвол перед сервером. Он не заменяет системный, но полезен как второй слой. Защита от DDoS — отдельная услуга на уровне сети хостера, тарифы с ней в подборке VPS с защитой от DDoS.

6. Поставьте fail2ban

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

apt install fail2ban python3-systemd

Свои настройки пишите в /etc/fail2ban/jail.local, а не в jail.conf, который перезапишется при обновлении:

[sshd]
enabled = true
backend = systemd
maxretry = 5
bantime = 1h

Строка backend = systemd нужна в Debian 12 и новее: там по умолчанию нет файла /var/log/auth.log, журнал входов живёт в journald, и без этой строки fail2ban не находит, что читать. Без своих настроек он банит адрес на 10 минут после 5 неудачных попыток за 10 минут. После правки выполните systemctl restart fail2ban и проверьте: fail2ban-client status sshd. В AlmaLinux и Rocky Linux пакет берётся из репозитория EPEL: dnf install epel-release, затем dnf install fail2ban и systemctl enable --now fail2ban.

7. Включите автоматические обновления безопасности

Большинство взломов серверов используют уязвимости, для которых исправление уже вышло, просто его не поставили. В Ubuntu пакет unattended-upgrades установлен и включён по умолчанию, проверьте это командой systemctl status unattended-upgrades. В Debian его ставят и включают так:

apt install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

По умолчанию он ставит только обновления безопасности. Ядро без перезагрузки не обновится: либо перезагружайте сервер сами по признаку из шага 1, либо включите автоматическую перезагрузку в ночное время параметрами Unattended-Upgrade::Automatic-Reboot и Automatic-Reboot-Time в /etc/apt/apt.conf.d/50unattended-upgrades.

В AlmaLinux и Rocky Linux то же делает dnf-automatic. Поставьте пакет dnf install dnf-automatic, в /etc/dnf/automatic.conf задайте upgrade_type = security и apply_updates = yes (без этого обновления только скачиваются) и включите таймер: systemctl enable --now dnf-automatic.timer.

8. Проверьте, что сервер слушает

Шаблоны хостеров и панели управления иногда запускают службы, о которых вы не просили. Посмотрите все открытые порты:

ss -tulpn

Всё, что слушает на 0.0.0.0 или [::], доступно снаружи, если файрвол это пропускает. Кроме SSH и веб-сервера таких служб быть не должно. Базы данных MySQL, MariaDB, PostgreSQL и Redis должны слушать только 127.0.0.1: в пакетах Debian и Ubuntu так и задано по умолчанию, но после установки через Docker или сторонний скрипт это стоит проверить. Ненужные службы остановите и уберите из автозапуска: systemctl disable --now имя_службы. Посмотреть на сервер глазами постороннего можно с другого компьютера: nmap -Pn IP_сервера.

9. Время, журналы и мониторинг

Проверьте командой timedatectl, что часы синхронизируются (строка System clock synchronized: yes). Неверное время ломает проверку сертификатов, одноразовые коды и разбор журналов. Кто и когда входил на сервер, показывают last -a | head и journalctl -u ssh --since today (в AlmaLinux служба называется sshd).

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

10. Сделайте точку отката и закройте панель хостера

Когда сервер настроен, сделайте снимок диска в панели хостера, если такая функция есть: к чистой настроенной системе можно будет вернуться за минуты. Снимок не заменяет резервных копий, потому что хранится у того же хостера. Как устроить настоящие копии вне сервера, разобрано в статье Резервные копии VPS.

Включите двухфакторный вход в личный кабинет хостера. Через кабинет сервер можно переустановить, сбросить пароль root или открыть консоль, и защищённый SSH ничего не даст, если кабинет откроется по украденному паролю. Закрытый ключ SSH храните только на своих устройствах и защитите его парольной фразой.

Чего не делать

  • Не отключайте SELinux в AlmaLinux и Rocky Linux при первой ошибке доступа. Почти всегда хватает правильной метки на папке сайта или одного разрешения через setsebool.
  • Не ставьте права 777 на папки сайта. Владельцем файлов должен быть пользователь веб-сервера или отдельный пользователь сайта, права папок — 755, файлов — 644.
  • Не запускайте приложения от root. Боту, сайту и очереди задач хватает своего пользователя без sudo.
  • Не публикуйте панель управления и phpMyAdmin на стандартных адресах для всех. Разрешите вход в них только со своего IP или через SSH-туннель.

Систему для нового сервера удобно выбирать по подборкам VPS с Ubuntu, VPS с Debian и VPS с AlmaLinux. Если сервер берётся под сайт с хостинга, следующий шаг описан в статье Как перенести сайт с хостинга на VPS, а на что смотреть при выборе самого тарифа — в статье Как выбрать VPS.

Частые вопросы

Нужно ли менять порт SSH на нестандартный?

Не обязательно. Другой порт убирает из журнала почти все автоматические попытки входа, но защищает сервер вход по ключу с запретом паролей. Если меняете порт, сначала откройте его в файрволе, а в Ubuntu 22.10 и новее после смены выполните systemctl daemon-reload и systemctl restart ssh.socket.

Что делать, если после настройки SSH пропал доступ к серверу?

Откройте консоль сервера в панели хостера (VNC или аварийная консоль), войдите с паролем и исправьте файл в /etc/ssh/sshd_config.d/. Если пароль не задан, у большинства хостеров есть режим восстановления, в котором диск сервера можно подключить и поправить.

Хватит ли fail2ban, если оставить вход по паролю?

Нет. fail2ban замедляет перебор с одного адреса, но боты приходят с тысяч адресов. Надёжная защита — вход по ключу и PasswordAuthentication no, а fail2ban — дополнительный слой.

Нужен ли системный файрвол, если у хостера есть сетевой?

Да. Сетевой файрвол хостера настраивается в панели и есть не у всех, а системный ufw или firewalld работает на самом сервере и переносится вместе с ним. Лучше всего использовать оба.

Как часто обновлять VPS?

Обновления безопасности лучше ставить автоматически каждый день через unattended-upgrades или dnf-automatic. Обновления, меняющие версии программ, и перезагрузку для нового ядра удобно делать вручную раз в неделю-две, после свежей резервной копии.

Нужен ли антивирус на Linux-сервере?

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

Тарифы по теме

VPS с Rocky LinuxVPS с CentOSVPS с FedoraVPS с openSUSEVPS с Arch LinuxVPS с Alpine LinuxРейтинг VPS-хостингов 2026

Ещё в справочнике

  • Как читать тарифы хостера: скрытые ограниченияКарточка тарифа показывает ядра, память, диск и цену за месяц. Но два тарифа с одинаковыми цифрами могут стоить по-разному уже через год и вести себя по-разному под нагрузкой. Разница — в условиях, которые пишут мелким шрифтом, в правилах использования или вообще только в договоре. Ниже — восемь мест, которые стоит проверить до оплаты.
  • IPv4 и IPv6 на сервереУ обычного VPS один публичный IPv4-адрес и, если хостер поддерживает, подсеть IPv6. Дополнительный IPv4 почти всегда стоит денег, а самые дешёвые тарифы иногда идут без своего IPv4 вовсе. Разберёмся, откуда этот дефицит, что можно сделать на одном IPv6 и какие настройки адреса нужны почтовому серверу.
  • Канал и трафик: что значит 1 Гбит/с и безлимитВ тарифе сервера обычно две сетевые строки: скорость порта и объём трафика. Первая говорит, как быстро сервер может отдавать данные, вторая — сколько он может отдать за месяц. Они связаны простой арифметикой, и, зная её, легко понять, что на самом деле продаёт «1 Гбит/с безлимит» и хватит ли вам «5 ТБ».
  • Docker на VPS: с чего начатьDocker позволяет запустить на сервере бота, сайт, базу данных и мониторинг так, что они не мешают друг другу, а переезд на другой VPS сводится к копированию пары файлов и данных. Установка занимает пять минут, а основные неприятности начинаются позже: открытые наружу порты базы, журналы на десятки гигабайт и данные, которые пропали вместе с контейнером. Разбираем, как избежать их с самого начала.
  • Как перенести сайт с хостинга на VPSСам перенос занимает пару часов, а ошибки обычно случаются вокруг него: забытое задание cron, правила .htaccess, которые nginx не читает, запись AAAA со старым адресом или почта, которая пропала вместе со сменой IP. Ниже — порядок действий с командами и проверками для сайта на PHP и MySQL.
  • Панели управления сервером: ISPmanager, FASTPANEL, aaPanelПанель превращает VPS в привычный по хостингу кабинет: сайты, базы, почта и сертификаты заводятся мышкой, а не правкой конфигов. Три панели, которые чаще всего ставят на российские и недорогие зарубежные серверы, — ISPmanager, FASTPANEL и aaPanel. Они различаются ценой, требованиями к памяти и тем, насколько глубоко забирают сервер под себя.
  • Windows VPS для 1ССервер для 1С в аренде избавляет от офисного компьютера под столом, который никто не обновляет и не копирует. Но у 1С на VPS свои особенности: программная лицензия привязывается к параметрам виртуальной машины, пользователям нужны лицензии и 1С, и Windows, а ядра важнее их количества. Разбираем, как собрать сервер под 1С для небольшой компании.
  • Windows VPS: лицензия, RDP и безопасность входаСервер с Windows дороже Linux не только из-за памяти: в цену входит лицензия, и от того, как она оформлена, зависит, законно ли вы работаете и сколько человек может подключиться. А открытый RDP — самая частая причина взлома таких серверов. Разбираем обе темы.
  • Когда переезжать с хостинга на VPSVPS не делает сайт быстрее сам по себе: он даёт ресурсы и свободу, но вместе с ними — администрирование. Разбираем, по каким признакам видно, что хостинг стал тесным, когда проблема решается без переезда и как перенести сайт так, чтобы посетители ничего не заметили.
  • Резервные копии VPS: стратегии и инструментыНа VPS резервные копии — ваша забота, даже если в тарифе написано «бэкапы включены». Разбираем, что именно копировать, почему снимка у хостера мало, как настроить restic или BorgBackup за полчаса и как убедиться, что из копии действительно можно восстановиться.
  • Как выбрать страну для сервераСтавьте сервер туда, где ваши посетители. Если сайт собирает данные россиян, база должна быть в России, этого требует закон. Для аудитории по всей Европе удобны Нидерланды, Германия и Финляндия. Цена почти не решает: у одного хостера сервер в Москве, Амстердаме и Франкфурте обычно стоит одинаково, а заметно дороже только Азия и Австралия.
  • Почасовая оплата: когда она выгоднаПочасовая оплата выгодна, если сервер нужен меньше трёх недель в месяц: на тест, на сборку, на разовую тяжёлую задачу. У большинства хостеров час стоит ровно месячную цену, делённую на 730 часов, так что за полный месяц вы почти не переплачиваете. Переплата прячется в другом: тарифы с почасовой оплатой в среднем дороже, а у сервера, который работает круглый год, помесячная оплата за год вперёд обычно выходит дешевле.
  • Сколько памяти и ядер нужно сайтуБольшинству сайтов хватает 2 ГБ памяти и одного-двух ядер, магазину с тысячами товаров нужно 4 ГБ и два ядра. Память важнее ядер: когда её не хватает, сайт тормозит или падает, а лишнее ядро без памяти почти ничего не даёт. Ниже покажу, как посчитать память под свой сайт и как узнать, сколько он тратит на самом деле.
  • KVM или OpenVZ: что выбратьВ 2026 году почти всегда стоит брать KVM: он дороже OpenVZ на десятки рублей в месяц, зато на нём работает всё, от Docker до Windows. OpenVZ оправдан в узком случае, и ниже видно, в каком, а в конце — команды, которыми можно проверить свой сервер за минуту.
  • NVMe или SSD: есть ли разница для сайтаДля небольшого сайта разница между NVMe и SSD почти незаметна: страницы отдаются из памяти, а не с диска. Она появляется у магазинов и сайтов с большой базой данных. При этом NVMe у того же хостера стоит всего на 45–80 ₽ в месяц дороже, а иногда и дешевле, так что решает обычно не тип диска, а объём и то, как хостер его ограничил.
  • Что такое VPS простыми словамиVPS — это часть мощного физического сервера, которую вам сдают в аренду и которая ведёт себя как отдельный компьютер: со своей системой, своим IP-адресом и полным доступом. Ниже — чем он отличается от хостинга, кому нужен, сколько стоит и что проверить сразу после покупки.
  • VPS для Telegram-бота: что нужно боту и как выбрать тарифБоту с меню и парой команд хватает самого дешёвого сервера, а бот с рассылками, файлами и базой упирается совсем в другие ресурсы. Разбираем, что на самом деле потребляет бот, какие ограничения Telegram влияют на выбор сервера и как не переплатить.
  • Как проверить пинг и скорость VPS до оплатыЦифры в тарифе не говорят, какой будет задержка до ваших пользователей и как быстро работает диск. Большую часть этого можно измерить до оплаты, остальное — в первый час работы сервера. Разбираем инструменты и то, как читать результаты.
  • Корпоративная сеть на VPS: удалённый доступ к офисуАрендованный сервер может стать центром частной сети компании: через него сотрудники из дома и филиалы подключаются к 1С, файловому хранилищу, CRM и Git. Разбираем схемы, протоколы, требования к серверу и базовую защиту.
  • Как выбрать VPS: 7 параметров, которые решаютДва тарифа с одинаковыми «2 ядра, 4 ГБ, 50 ГБ» могут отличаться по скорости в разы и по цене через год — вдвое. Разбираем, что стоит за каждой строкой тарифа и на что смотреть до оплаты.
  • VPS или VDS: есть ли разница и что на самом деле важноНа российском рынке VPS и VDS чаще всего означают одно и то же — виртуальный сервер. Разница, которая действительно влияет на работу, прячется не в названии, а в типе виртуализации и в том, гарантированы ли ресурсы.