hostprofi.ru
Подобрать хостинг
Термин·буква U

UFW

краткое определение

Упрощённый интерфейс для управления правилами файервола iptables на Ubuntu и Debian.

UFW (Uncomplicated Firewall) — фронтенд для iptables, упрощающий управление правилами файервола на Linux. Разработан Canonical для Ubuntu. Заменяет сложный синтаксис iptables простыми командами на человекочитаемом языке.

Как работает

UFW транслирует команды в правила iptables/nftables, которые фильтруют сетевые пакеты в ядре Linux. Правила применяются к входящему (INPUT), исходящему (OUTPUT) и проходящему (FORWARD) трафику. По умолчанию UFW блокирует весь входящий трафик и разрешает исходящий — политика безопасности «запрещено всё, кроме явно разрешённого».

Основные команды

# Включение UFW
ufw enable

# Статус с правилами
ufw status verbose

# Разрешить SSH (ОБЯЗАТЕЛЬНО перед включением!)
ufw allow 22/tcp
# или по имени сервиса
ufw allow OpenSSH

# Разрешить HTTP и HTTPS
ufw allow 80/tcp
ufw allow 443/tcp

# Ограничить SSH от брутфорса (6 попыток / 30 сек)
ufw limit ssh

# Блокировать IP
ufw deny from 192.168.1.100

# Разрешить только с конкретного IP
ufw allow from 203.0.113.1 to any port 22

# Удалить правило
ufw delete allow 80/tcp

# Сбросить все правила
ufw reset

История

UFW создан в 2008 году как часть Ubuntu 8.04 LTS для упрощения настройки файервола для начинающих администраторов. До UFW управление iptables требовало знания цепочек, таблиц и синтаксиса правил — серьёзный барьер. UFW снизил порог входа, не жертвуя функциональностью. В Ubuntu 20.04 добавлена поддержка nftables через ufw как бэкенд.

Профили приложений

UFW поддерживает именованные профили: ufw allow "Nginx Full" открывает порты 80 и 443 одной командой. Профили хранятся в /etc/ufw/applications.d/. Список доступных: ufw app list. Можно создавать собственные профили для нестандартных сервисов.

UFW и Docker

Docker обходит правила UFW, напрямую изменяя iptables. Контейнер с опубликованным портом доступен из сети даже если UFW блокирует этот порт. Решение: в /etc/ufw/after.rules добавить запрет на DOCKER-FORWARD цепочку или использовать параметр --iptables=false в настройках Docker с ручным управлением.

На что обращать внимание

Всегда разрешайте SSH ДО включения UFW — иначе потеряете доступ к серверу. На VPS нет физического доступа к консоли, только SSH. Команда ufw limit ssh — базовая защита от brute-force. Для более сложных сценариев (блокировка стран, геофильтрация) UFW недостаточен — используйте ipset + iptables или IPS-систему.

Логирование и мониторинг

UFW логирует заблокированные пакеты в /var/log/ufw.log. Включить подробное логирование: ufw logging medium. Просмотр через journalctl: journalctl -k | grep UFW. Запись вида UFW BLOCK IN=eth0 SRC=1.2.3.4 DST=5.6.7.8 PROTO=TCP DPT=22 — попытка подключения к SSH с IP 1.2.3.4, заблокирована.

Автоматическое добавление правил из лога UFW в банлист: скрипт читает лог, агрегирует IP с частыми блокировками и добавляет их через ufw insert 1 deny from X.X.X.X. Это дополняет Fail2ban, работающий с логами конкретных приложений.

Безопасность IPv6

UFW управляет и IPv6-правилами через файл /etc/default/ufw: параметр IPV6=yes. Без явного разрешения IPv6-трафик блокируется по тем же политикам. Если сервер имеет IPv6-адрес — добавьте ufw allow in on eth0 from ::/0 to ::/0 port 22 proto tcp для SSH через IPv6 или наоборот заблокируйте IPv6 полностью, если не используете.

Другие термины