← К вики

Настройка UFW

Как включить и настроить брандмауэр UFW на Ubuntu и Debian.

Время: 10 мин · Сложность: ★☆☆☆☆

Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12


Краткое описание

UFW (Uncomplicated Firewall) — удобная оболочка над iptables/nftables для управления правилами файрвола. Простые команды вместо длинных цепочек iptables. Подходит для большинства задач на VPS: ограничить входящие соединения, открыть только нужные порты, заблокировать трафик с конкретного IP.

Когда пригодится

  • При первичной настройке нового VPS
  • Когда нужно быстро закрыть все порты кроме SSH, HTTP и HTTPS
  • Если не хотите разбираться с синтаксисом iptables напрямую

Что понадобится

  • Root-доступ к серверу
  • Ubuntu 22.04 или Debian 12
  • Активная SSH-сессия (не закрывайте её во время настройки)

Пошаговая инструкция

Установка (обычно UFW уже есть в системе):

apt install -y ufw

Сначала разрешите SSH — иначе потеряете доступ после включения UFW:

ufw allow ssh

Если SSH работает на нестандартном порту (например, 2222):

ufw allow 2222

Включите UFW:

ufw enable

Разрешите HTTP и HTTPS для веб-сервера:

ufw allow 80
ufw allow 443

Разрешите UDP-порт (например, для WireGuard):

ufw allow 51820/udp

Заблокируйте конкретный порт:

ufw deny 8080

Проверьте текущие правила:

ufw status verbose

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

ufw delete allow 8080

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

ufw reload

Проверка результата

ufw status

Вывод должен показывать Status: active и таблицу с разрешёнными портами:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere

Возможные ошибки

Потеряли SSH-доступ после ufw enable — значит, не добавили правило для SSH до включения. Откройте VNC-консоль в панели VMmanager, войдите и выполните:

ufw disable
ufw allow ssh
ufw enable

Правило не применяется — выполните ufw reload и снова проверьте ufw status.

UFW включён, но соединения всё равно проходят — убедитесь что UFW не конфликтует с другим файрволом. На AlmaLinux по умолчанию используется firewalld, не UFW.

FAQ

Как посмотреть все правила с номерами?

ufw status numbered

Это удобно для точечного удаления правил:

ufw delete 3

Как сбросить все правила и начать заново?

ufw reset

UFW отключится, все правила удалятся. После этого снова настройте с нуля.

Как разрешить доступ только с конкретного IP?

ufw allow from 192.168.1.100 to any port 22

Как запретить всё исходящее?

ufw default deny outgoing

После этого нужно явно разрешать нужный исходящий трафик (например, DNS: ufw allow out 53).

UFW или nftables — что выбрать? UFW достаточно для большинства серверов. nftables нужен когда требуется тонкая настройка: лимиты скорости, метки пакетов, сложные цепочки правил.

Полезные ссылки

  • man ufw — полная справка по командам
  • /etc/ufw/ — директория с конфигурационными файлами UFW
  • /var/log/ufw.log — лог заблокированных соединений

Следующие статьи

Сейчас работают только те cookie, без которых сайт не откроется. Разрешите ещё аналитические — будем видеть, где интерфейс мешает, и чинить это.