// Server Management

Как установить и настроить UFW Firewall на VPS Linux: полное руководство — CLIQHOST

14 октября 2026 г. · by Alex M.

Как установить и настроить UFW Firewall на VPS Linux: полное руководство — CLIQHOST

Сервер без грамотно настроенного файрвола — открытая дверь для злоумышленников. UFW (Uncomplicated Firewall) — это стандартный инструмент для управления сетевым трафиком на Ubuntu и Debian, позволяющий защитить Linux VPS без глубоких знаний iptables.

В этом руководстве вы узнаете, как установить, настроить и управлять UFW на VPS с Ubuntu 22.04. Мы разберём реальные сценарии: веб-сервер, SSH, почта, базы данных и расширенные настройки.


Что такое UFW и зачем он нужен?

UFW — это упрощённый интерфейс для iptables, встроенного механизма фильтрации пакетов Linux. Вместо сложных правил iptables вы управляете трафиком через понятные команды.

Ключевые преимущества:

  • Простой синтаксис
  • Поддержка IPv4 и IPv6
  • Профили приложений (Nginx, Apache, OpenSSH)
  • Гибкое логирование
  • Встроен в Ubuntu Server по умолчанию

Если у вас VPS на NVMe или управляемый выделенный сервер, UFW — первая линия защиты, которую нужно настроить сразу после установки ОС.


Предварительные требования

  • VPS с Ubuntu 20.04/22.04 или Debian 11/12
  • Доступ root или пользователь с правами sudo
  • Активное SSH-соединение

⚠️ Важно: Перед любыми изменениями файрвола убедитесь, что SSH-порт (по умолчанию 22) разрешён. Иначе вы рискуете заблокировать себе доступ к серверу.


Шаг 1: Установка UFW

На Ubuntu 22.04 UFW обычно предустановлен. Проверьте статус:

sudo ufw status

Если UFW не установлен:

sudo apt update && sudo apt install ufw -y

Проверка версии:

ufw --version

Шаг 2: Политика по умолчанию — запретить всё входящее

До активации UFW настройте базовую политику: блокировать весь входящий трафик и разрешить весь исходящий.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Принцип «запрещено всё, что не разрешено явно» — правильная отправная точка для любого продакшн-сервера.


Шаг 3: Разрешить SSH — обязательно!

Добавьте правило для SSH ещё до активации UFW:

sudo ufw allow ssh

Если вы используете нестандартный порт (например, 2222):

sudo ufw allow 2222/tcp

Посмотрите список профилей приложений:

sudo ufw app list

Разрешить SSH через профиль:

sudo ufw allow OpenSSH

Шаг 4: Активация UFW

После разрешения SSH включите файрвол:

sudo ufw enable

Введите y для подтверждения. Проверьте состояние:

sudo ufw status verbose

Пример вывода:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)

Шаг 5: Правила для веб-сервера

Если вы запускаете сайт на VPS-хостинге с Nginx или Apache, откройте порты HTTP и HTTPS:

Nginx:

sudo ufw allow 'Nginx Full'

Этот профиль открывает порты 80 и 443 одновременно.

Или вручную:

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

Apache:

sudo ufw allow 'Apache Full'

Только HTTPS:

sudo ufw allow 'Nginx HTTPS'

Для защиты сайта понадобится SSL-сертификат — CLIQHOST предлагает SSL-сертификаты для любых задач.


Шаг 6: Правила для баз данных

Никогда не открывайте порт базы данных на весь интернет! Разрешайте доступ только с конкретных IP-адресов.

MySQL/MariaDB (порт 3306) — только с определённого IP:

sudo ufw allow from 192.168.1.50 to any port 3306

PostgreSQL (порт 5432) — из приватной подсети:

sudo ufw allow from 10.0.0.0/8 to any port 5432

Redis (порт 6379) — доступ только с конкретного хоста:

sudo ufw allow from 10.10.0.5 to any port 6379

Шаг 7: Правила для почтового сервера

Если вы используете Postfix или другой MTA:

sudo ufw allow 25/tcp    # SMTP
sudo ufw allow 587/tcp   # SMTP с аутентификацией
sudo ufw allow 465/tcp   # SMTPS
sudo ufw allow 143/tcp   # IMAP
sudo ufw allow 993/tcp   # IMAPS
sudo ufw allow 110/tcp   # POP3
sudo ufw allow 995/tcp   # POP3S

Обратите внимание: порт 25 часто блокируется провайдерами хостинга для предотвращения спама. Уточните политику у службы управления серверами CLIQHOST.


Шаг 8: Ограничение числа попыток подключения (rate limiting)

UFW имеет встроенную защиту от брутфорс-атак:

sudo ufw limit ssh

Это правило автоматически блокирует IP, если с него поступает более 6 попыток за 30 секунд. Прекрасно работает в паре с Fail2Ban.

Рейт-лимитинг для нестандартного порта:

sudo ufw limit 2222/tcp comment 'SSH на кастомном порту'

Шаг 9: Разрешение и блокировка конкретных IP-адресов

Разрешить весь трафик с доверенного IP:

sudo ufw allow from 203.0.113.10

Разрешить конкретный IP только на определённый порт:

sudo ufw allow from 203.0.113.10 to any port 443

Заблокировать IP или подсеть:

sudo ufw deny from 198.51.100.0/24

Заблокировать IP на конкретный порт:

sudo ufw deny from 198.51.100.5 to any port 80

Шаг 10: Управление существующими правилами

Показать правила с нумерацией:

sudo ufw status numbered

Пример:

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 443/tcp                    ALLOW IN    Anywhere
[ 4] 3306/tcp                   ALLOW IN    192.168.1.50

Удалить правило по номеру:

sudo ufw delete 4

Удалить правило по определению:

sudo ufw delete allow 80/tcp

Временно отключить UFW (без удаления правил):

sudo ufw disable

Сбросить все правила:

sudo ufw reset

Шаг 11: Настройка логирования

sudo ufw logging on

Доступные уровни: off, low, medium, high, full

sudo ufw logging medium

Просмотр логов:

tail -f /var/log/ufw.log

Через journald:

journalctl -f | grep UFW

Для долгосрочного управления логами используйте logrotate — это предотвратит переполнение диска. Подробности о logrotate читайте в блоге CLIQHOST.


Шаг 12: Расширенная настройка — редактирование файлов конфигурации

Для сложных сценариев (NAT, форвардинг пакетов) редактируйте:

sudo nano /etc/ufw/before.rules

Общая конфигурация:

sudo nano /etc/ufw/ufw.conf

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

sudo ufw reload

Включение IPv6

Проверьте файл /etc/ufw/ufw.conf:

IPV6=yes

При включённом IPv6 все правила применяются автоматически и к IPv6-трафику.


Готовая конфигурация для типичного веб-сервера

Полная последовательность команд для VPS с веб-хостингом:

# Политика по умолчанию
sudo ufw default deny incoming
sudo ufw default allow outgoing

# SSH с защитой от брутфорса
sudo ufw limit ssh

# Веб-трафик
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# База данных — только с app-сервера
sudo ufw allow from 10.0.0.5 to any port 3306

# Активация
sudo ufw enable

# Проверка
sudo ufw status verbose

Типичные ошибки и их решения

Потерян SSH-доступ после активации UFW

Если вы забыли добавить правило для SSH перед ufw enable, потребуется доступ через консоль VNC/KVM. CLIQHOST предоставляет экстренный консольный доступ для таких ситуаций.

Правила выглядят корректно, но трафик всё равно блокируется

Проверьте порядок правил (ufw status numbered). UFW применяет правила последовательно — побеждает первое совпавшее.

UFW не запускается при загрузке

Убедитесь, что сервис включён:

sudo systemctl enable ufw
sudo systemctl start ufw

Конфликты с Docker

Docker изменяет правила iptables напрямую, обходя UFW. Решение — настройка цепочки DOCKER-USER или редактирование /etc/ufw/after.rules. Подробный гайд по Docker и Nginx доступен в блоге CLIQHOST.


Вывод

UFW — незаменимый инструмент для каждого администратора Linux-сервера. Он прост в освоении, но достаточно мощен для реальных производственных задач. В сочетании с SSH-ключами, Fail2Ban и регулярными обновлениями UFW составляет основу безопасной инфраструктуры.

Если вы хотите получить готовый, защищённый VPS или вам нужна помощь с администрированием, услуги управления серверами CLIQHOST к вашим услугам. Также рекомендуем рассмотреть наши VPS на NVMe — максимальная производительность с техподдержкой в комплекте.

SHARE
// what clients say

What Our Clients Say

Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău