Гид по технологиям

UFW — руководство по настройке брандмауэра в Linux

5 min read Системное администрирование Обновлено 22 Dec 2025
UFW — настройка брандмауэра в Linux
UFW — настройка брандмауэра в Linux

Быстрые ссылки

  • Настройка UFW

  • Открытие портов через UFW

  • Белые списки и ограничение скорости через UFW

  • Включение UFW

  • Управление и удаление правил

Иллюстрация: схема UFW (Uncomplicated Firewall)

UFW, сокращение от “uncomplicated firewall”, — это фронтенд для более сложной утилиты

iptables

Цель UFW — упростить управление брандмауэром: легко открывать и закрывать порты и контролировать, какой трафик разрешён.

Настройка UFW

UFW обычно предустановлен в Ubuntu. Если он не установлен, установите через менеджер пакетов:

sudo apt-get install ufw

В других дистрибутивах используйте соответствующий пакетный менеджер — UFW широко доступен. Проверить статус брандмауэра можно командой:

sudo ufw status

Если UFW не настраивали, он покажет “Inactive”.

Хорошая отправная точка для любого брандмауэра — закрыть все входящие соединения и разрешить исходящие. Это не разорвет текущую SSH-сессию до включения брандмауэра.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Так вы получите чистое состояние и начнёте добавлять правила поверх базовой политики.

Открытие портов через UFW

Чтобы открыть порт, используйте ufw allow. Например, откроем порт 22:

sudo ufw allow 22

При добавлении правила можно оставить комментарий для будущего себя:

sudo ufw allow 8080/tcp comment 'Open port for Express API'

Многие приложения устанавливают профили для UFW (SSH — типичный пример). Можно разрешать приложения по имени:

sudo ufw allow ssh

Список доступных приложений покажет:

sudo ufw app list

А подробности профиля —

sudo ufw app info [name]

Чтобы разрешить диапазон портов, используйте двоеточие и укажите протокол. Пример: только TCP на портах 3000–3100:

sudo ufw allow 3000:3100/tcp

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

sudo ufw reject out 3001

Белые списки и ограничение скорости через UFW

Можно назначать особые права для отдельных IP-адресов. Например, разрешить весь трафик с конкретного IP:

sudo ufw allow 192.168.1.1

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

sudo ufw allow proto tcp from 192.168.1.1 to any port 22

Не рекомендуется жёстко фиксировать SSH по IP, если у вас нет резервного доступа. IP-адреса меняются. Альтернатива — поднять VPN-сервер в приватной сети и разрешать доступ только с его адреса.

Для блоков адресов используйте CIDR-нотацию:

sudo ufw allow 192.168.0.0/24

Ограничение скорости (rate limiting) помогает блокировать очевидно злоумышленнические подключения, например, при попытках bruteforce SSH. По умолчанию UFW ограничивает 6 подключений за 30 секунд и ориентирован на SSH:

sudo ufw limit ssh

Включение UFW

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

Если хотите, временно отключите автозапуск UFW, чтобы сброс решал возможные проблемы:

sudo systemctl disable ufw

Включите UFW:

sudo ufw enable

Проверьте статус:

sudo ufw status

Если всё в порядке и вы не потеряли доступ, включите автозапуск на загрузке:

sudo systemctl enable ufw

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

sudo ufw reload

Логи можно включить, чтобы события попадали в /var/log/:

sudo ufw logging on

Управление и удаление правил

Чтобы удалить правило, сначала узнайте его номер:

sudo ufw status numbered

Пример вывода команды sudo ufw status numbered с нумерованными правилами

Номера начинаются с 1. Удаление по номеру:

sudo ufw delete [number]

Не удаляйте правило, которое держит открытым порт 22. При необходимости используйте подтверждение через “–dry-run”.

После изменений снова выполните:

sudo ufw reload

Контрольный список перед включением UFW

  • [ ] Проверить, что SSH открыт: sudo ufw status или sudo ufw allow ssh
  • Установить базовые политики: deny incoming, allow outgoing
  • Прописать все сервисы, требующие доступа (HTTP, HTTPS, базы данных в приватной сети)
  • Настроить белые списки для административных IP при необходимости
  • Включить логирование, если нужно аудирование
  • Тестировать доступ с другой сессии до закрытия текущей

Мини‑методология для безопасной настройки UFW

  1. Оцените сервисы: перечислите, какие порты нужны для внешнего доступа.
  2. Назначьте политику по умолчанию: deny incoming, allow outgoing.
  3. Добавьте минимально допустимые правила по необходимости.
  4. Протестируйте доступ локально и удалённо, не закрывая текущую SSH-сессию.
  5. Включите UFW, затем мониторьте логи и корректируйте правила.

Когда UFW не подходит

  • Вам нужен тонкий контроль над сетевыми таблицами и сложные NAT/маршрутизация — iptables/nftables дают больше гибкости.
  • На высоконагруженных шлюзах с миллионами соединений UFW может стать узким местом по сравнению с продвинутыми решениями.
  • Для политики на уровне приложения (например, подробное поведение Layer 7) UFW не даёт инструментов; нужен прокси/ингресс.

Альтернативные подходы

  • iptables / nftables — для детального контроля и производительности.
  • firewalld — динамическое управление зонами в CentOS/Fedora.
  • Аппаратные и облачные брандмауэры (security groups в облаках) — для защиты на уровне облачной сети.

Этапы зрелости безопасности (упрощённая шкала)

  • Уровень 0: UFW не установлен.
  • Уровень 1: Базовая политика (deny incoming, allow outgoing), SSH открыт.
  • Уровень 2: Правила для сервисов, логирование включено.
  • Уровень 3: Белые списки, rate limiting, мониторинг и тесты восстановления доступа.

Критерии приёмки

  • SSH доступ сохранён после включения UFW.
  • Открыты только необходимые внешние порты.
  • Логи пишутся в /var/log/ и проверяемы.
  • Есть документированная стратегия резервного доступа (консоль/витальная сеть/VPN).

Простая диаграмма принятия решения

flowchart TD
  A[Нужен ли внешний доступ?] -->|Нет| B[Оставить deny incoming]
  A -->|Да| C[Какие сервисы?]
  C --> D{Только стандартные порты}
  D -->|Да| E[Добавить правила по порту/по профилю]
  D -->|Нет| F[Определить диапазоны и белые списки]
  E --> G[Тестировать доступ]
  F --> G
  G --> H[Включить UFW и мониторить]

1‑строчный глоссарий

  • UFW: фронтенд для iptables, упрощающий правила брандмауэра.
  • CIDR: нотация для описания блоков IP-адресов.
  • Rate limit: ограничение частоты подключений для защиты от brute force.

Роли и чеклисты

Администратор сети:

  • Убедиться в наличии резервного доступа.
  • Составить список необходимых портов.
  • Настроить белые списки и rate limiting.

DevOps-инженер:

  • Автоматизировать правила в конфигурации (Ansible/Terraform).
  • Добавлять комментарии к правилам для трассировки.
  • Настроить мониторинг и оповещения по логам.

Оператор поддержки:

  • Проверять sudo ufw status numbered перед удалением правил.
  • Тестировать удаление с резервной сессии.

Тестовые сценарии и приёмка

  • Тест 1: После включения UFW порт 22 остаётся доступен извне.
  • Тест 2: HTTP (80) доступен, если правило добавлено.
  • Тест 3: Превышение 6 подключений за 30 сек к SSH приводит к ограничению доступа при включённом rate limit.

Риски и смягчения

  • Риск: блокировка административного доступа. Смягчение: всегда проверять SSH и иметь резервный канал.
  • Риск: неправильная белая запись. Смягчение: использовать CIDR аккуратно и документировать изменения.

Короткое резюме

UFW делает настройку базового брандмауэра быстрой и безопасной. Начните с политики по умолчанию, добавьте минимально необходимые правила, включите логирование и обязательно протестируйте доступ перед отключением текущей сессии. Для сложной сетевой логики выбирайте iptables/nftables или облачные security groups.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство