...

Как настроить UFW на Ubuntu для защиты VPS

Содержание

UFW — это простой интерфейс для настройки firewall в Ubuntu. Для VPS он особенно полезен: позволяет быстро закрыть лишние порты, оставить только нужный доступ и снизить риск случайно открыть наружу то, что не должно быть доступно извне.

Главная ошибка при настройке UFW — включать его без понимания, какие порты уже нужны проекту. В результате можно заблокировать собственный SSH-доступ или сломать опубликованный сервис. Поэтому настройку лучше делать пошагово и с базовой проверкой на каждом этапе.

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

Перед включением UFW полезно понять несколько вещей:

  • как вы подключаетесь к серверу сейчас;
  • на каком порту работает SSH;
  • нужны ли проекту HTTP и HTTPS;
  • есть ли опубликованные сервисы на нестандартных портах;
  • не управляется ли firewall уже через готовую панель или внешнюю инфраструктуру.

Если VPS уже используется в production, лучше заранее составить минимальный список допустимых входящих подключений. Тогда UFW будет не «магической галочкой безопасности», а понятным уровнем сетевой защиты.

Шаг 1. Проверить, установлен ли UFW

На части Ubuntu-серверов UFW уже установлен, но это стоит проверить:

sudo ufw status verbose

Если в ответе вы видите, что команда недоступна, сначала установите пакет:

sudo apt update
sudo apt install -y ufw

После установки снова проверьте статус. Обычно до первого включения firewall будет находиться в состоянии inactive.

Шаг 2. Сначала разрешить SSH

Это самый важный шаг. Прежде чем включать firewall, нужно открыть доступ по SSH, иначе можно потерять подключение к серверу.

Если сервер использует стандартный SSH-порт 22, достаточно команды:

sudo ufw allow OpenSSH

Или так:

sudo ufw allow 22/tcp

Если SSH висит на нестандартном порту, откройте именно его, например:

sudo ufw allow 2222/tcp

После этого полезно посмотреть текущие правила:

sudo ufw status numbered

Шаг 3. Разрешить HTTP и HTTPS, если сервер отдаёт сайт

Если на VPS работает сайт, reverse proxy или панель, обычно нужно открыть 80 и 443 порты:

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

Можно использовать и именованные профили:

sudo ufw allow 'Nginx Full'

Но с профилями важно понимать, что именно они открывают. Для базовой настройки на VPS явные правила по портам часто понятнее.

Шаг 4. Открыть только действительно нужные сервисы

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

Например:

sudo ufw allow 8080/tcp
sudo ufw allow 8443/tcp

Но здесь важно не превращать firewall в набор случайных исключений. Хорошая практика — сначала понять, должен ли сервис вообще быть доступен напрямую, или его лучше держать только за reverse proxy, VPN или внутренней сетью.

Шаг 5. Включить UFW

Когда SSH и нужные сервисы уже разрешены, можно включать firewall:

sudo ufw enable

Система предупредит, что команда может нарушить текущие подключения. Если SSH уже разрешён правильно, подтверждайте включение.

После этого снова проверьте статус:

sudo ufw status verbose

Нормальный результат — увидеть, что UFW active, а нужные правила перечислены в списке.

Шаг 6. Проверить политику по умолчанию

Для большинства VPS базовая логика должна быть такой:

  • входящие подключения по умолчанию запрещены;
  • исходящие разрешены.

Проверить и при необходимости выставить это можно так:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Такой baseline подходит для большинства типовых серверных сценариев.

Шаг 7. Проверить правила и убрать лишнее

По мере настройки на сервере могут накапливаться старые или дублирующиеся правила. Поэтому полезно посмотреть список в нумерованном виде:

sudo ufw status numbered

Если нужно удалить правило:

sudo ufw delete <номер>

Например:

sudo ufw delete 3

Чем чище список правил, тем легче потом понимать, что реально открыто на сервере.

Что важно помнить про Docker и UFW

Если на VPS используются Docker-контейнеры, нужно помнить, что публикация портов через Docker может обходить ожидаемое поведение UFW.

Например, если контейнер запускается так:

docker run -d -p 8080:80 nginx

сервис может стать доступен извне, даже если оператор ожидает, что всё контролируется только через UFW.

Поэтому связку Docker + firewall нужно проверять отдельно, особенно на production-серверах.

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

Для типового VPS-набора обычно достаточно такого базового профиля:

  • SSH — обязательно;
  • HTTP/HTTPS — если сервер отдаёт сайт или reverse proxy;
  • дополнительные сервисные порты — только если есть ясная причина открывать их наружу.

Всё остальное лучше держать закрытым по умолчанию.

Типичные ошибки при настройке UFW

  1. Включить firewall до открытия SSH. Это самый быстрый способ потерять доступ к серверу.
  2. Открывать лишние порты “на всякий случай”. Чем меньше открыто наружу, тем лучше.
  3. Не перепроверять, что реально слушает сеть. Firewall — не замена пониманию сервисов.
  4. Забывать про Docker. Контейнеры могут открыть наружу то, что оператор не ожидал.
  5. Не чистить старые правила. Со временем это превращает firewall в трудно читаемую конфигурацию.

Вывод

UFW на Ubuntu — это удобный базовый инструмент для защиты VPS, если использовать его не формально, а осознанно. Сначала нужно открыть доступ для SSH и нужных сервисов, потом включить firewall, проверить правила и держать открытым только действительно необходимое.

Для большинства проектов этого уже достаточно, чтобы собрать нормальный security baseline и не оставлять сервер лишний раз открытым наружу.

Что выбрать для стабильной и безопасной работы проекта

Безопасность начинается не только с firewall, но и с предсказуемой серверной среды, понятного сетевого контура и доступа к управлению инфраструктурой.

Для большинства типовых проектов под базовый security baseline достаточно VPS. Если проект становится более чувствительным к изоляции ресурсов и требованиям к нагрузке, стоит смотреть в сторону выделенных серверов.

  • VPS — для большинства проектов, где нужно быстро настроить базовую защиту и контроль доступа;
  • выделенные серверы — если нужны более жёсткая изоляция и предсказуемые ресурсы.

Для реализации основных услуг и функций нашего сайта, а также для сбора данных о том, как посетители взаимодействуют с нашими сайтом, продуктами и услугами, мы применяем различные инструменты, включая файлы cookie. Нажимая «Принимаю», вы соглашаетесь с текущими правилами и условиями использования сайта и даете разрешение на использование этих данных. В противном случае, пожалуйста, покиньте сайт.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.