VPS-сервер с базовыми элементами защиты: замком, ключом доступа, обновлениями, файрволом и защитным щитом.
Базовая защита VPS состоит из простых действий, которые не стоит откладывать

Как только сервер получает публичный IP-адрес, его начинают проверять автоматические сканеры. Они ищут открытый SSH или RDP, доступные базы данных, типовые пароли и устаревшие службы. Это обычный массовый поиск слабо защищённых систем, а не обязательно атака именно на ваш сайт.

Минимальная гигиена безопасности VPS – это действия, которые нужно выполнить до запуска проекта: защитить административный вход, закрыть лишние порты, устанавливать обновления, иметь отдельный бэкап и видеть, когда сервер работает ненормально.

Как защитить вход на Linux и Windows VPS

На Linux подключение обычно происходит через SSH. Вместо постоянной работы под root создают отдельного пользователя с правами sudo. Для входа лучше использовать SSH-ключ: приватная часть хранится на компьютере администратора, публичная – на сервере.

После проверки входа по ключу можно отключить парольную авторизацию и прямой доступ root в настройках OpenSSH. OpenSSH – это служба, которая принимает SSH-подключения и определяет, кто и каким способом может войти на сервер.

Дополнительно на Linux можно установить Fail2ban. Эта программа читает журналы авторизации и временно блокирует IP-адреса после большого количества неудачных попыток входа. Она уменьшает автоматический перебор паролей, но не заменяет SSH-ключ и фаервол.

На Windows VPS основным каналом доступа является RDP. Для него лучше создать отдельную учётную запись администратора с уникальным паролем и оставить включённой Network Level Authentication, или NLA. Она проверяет пользователя до создания полной удалённой сессии.

RDP стоит разрешить только со своего IP-адреса или через VPN. В политиках Windows также нужно настроить временную блокировку учётной записи после нескольких неправильных попыток входа. Это усложняет автоматический перебор пароля.

Изменение стандартного порта SSH или RDP лишь уменьшает количество случайных сканирований. Полноценной защитой оно не является.

Какие порты действительно нужны

Фаервол определяет, какие подключения сервер принимает, а какие отклоняет. В Ubuntu им удобно управлять через UFW – упрощённый инструмент для создания правил сетевого доступа. В AlmaLinux и Rocky Linux для этого используют firewalld. В Windows ту же задачу выполняет встроенный Windows Defender Firewall, который не стоит отключать полностью.

Для обычного веб-сервера обычно открывают HTTP 80 и HTTPS 443. SSH 22 или RDP 3389 лучше разрешить только для доверенных IP-адресов.

Порты MySQL 3306, PostgreSQL 5432 и Redis 6379 не должны быть доступны всему интернету, если сайт и база данных работают на одном VPS. В таком случае база может принимать только локальные подключения.

Перед включением фаервола нужно разрешить текущий порт SSH или RDP. Иначе можно собственноручно закрыть себе доступ к серверу.

Что именно нужно обновлять

На Linux системные обновления устанавливают через apt или dnf. В Ubuntu пакет unattended-upgrades может автоматически получать исправления безопасности. Это полезно для VPS, который администратор не проверяет каждый день.

В Windows Server нужно проверить работу Windows Update и не откладывать накопительные обновления. Если серверов несколько, для централизованного управления можно использовать WSUS. Это служба Microsoft, через которую администратор загружает, проверяет и развёртывает обновления на нескольких серверах.

Отдельно обновляются панель управления, веб-сервер, PHP, база данных, CMS и плагины. Обновлённая операционная система не исправит старый модуль WordPress или уязвимую версию панели.

В Windows также следует проверить Microsoft Defender Antivirus. Это встроенный антивирус, который в реальном времени проверяет файлы и запущенные процессы. Его базы должны обновляться, а весь диск или папку сайта не стоит без причины добавлять в исключения.

Для типового Linux-веб-сервера отдельный антивирус не является главным средством защиты. Важнее своевременные обновления, правильные права на файлы, закрытые порты и запуск служб от отдельных пользователей.

Почему снимка VPS недостаточно

Бэкап должен храниться вне основного VPS. Копия на том же диске может исчезнуть вместе с сервером.

Снимок фиксирует состояние виртуальной машины на определённый момент и удобен перед крупным обновлением. Однако он не всегда является независимой долгосрочной резервной копией.

Для сайта нужно копировать файлы, базу данных и важные конфигурации. Для Windows-сервера с бизнес-программой – также её рабочие каталоги, базу и данные лицензирования. Бэкап можно считать рабочим только после тестового восстановления.

Как заметить проблему до падения сайта

На Linux события входа и ошибки служб просматривают в системных журналах, в частности через journalctl. Это команда для чтения журнала systemd, в котором хранятся сообщения операционной системы и запущенных служб.

В Windows ту же роль выполняет Event Viewer, или Просмотр событий. Там можно увидеть неудачные попытки входа, ошибки системы, остановку служб и проблемы с обновлениями.

Минимально нужно контролировать свободное место на диске, нагрузку процессора, использование памяти, доступность сайта и работу базы данных.

Для внешней проверки можно использовать Uptime Kuma. Это бесплатная система мониторинга, которая регулярно проверяет сайт или нужный порт и отправляет уведомление, если сервис перестаёт отвечать. Саму систему мониторинга лучше размещать не на том VPS, который она проверяет.

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