Брандмауэр — это ваш цифровой привратник, молчаливый страж, который решает, какой сетевой трафик достоин войти в вашу систему на Ubuntu, а какой должен быть безжалостно отвергнут. В мире, где угрозы становятся всё изощрённее, полагаться только на внешние маршрутизаторы опасно. Uncomplicated Firewall (UFW) — это элегантное решение от разработчиков Ubuntu, которое превращает сложную настройку iptables в простые, понятные команды. Это ваш ключ к созданию базового, но мощного уровня сетевой безопасности за считанные минуты.
Что такое UFW и почему он вам нужен?
UFW — это не отдельный демон, а фронтенд, удобная оболочка для управления низкоуровневым брандмауэром Netfilter (iptables). Его философия — простота без ущерба для эффективности. Если вы администрируете сервер, работаете с чувствительными данными на домашнем ПК или просто хотите обезопасить свой ноутбук в публичных Wi-Fi сетях, UFW предоставляет минимальный, но критически важный барьер.
По умолчанию UFW отключён. Это осознанное решение для удобства новичков, но первым шагом после установки всегда должна быть его активация с продуманной политикой.
Установка и базовая настройка
В большинстве современных дистрибутивов Ubuntu UFW уже предустановлен. Проверить это можно командой which ufw. Если пакета нет, установите его стандартным способом: sudo apt update && sudo apt install ufw.
Шаг 1: Установка политик по умолчанию
Первым делом задаём поведение по умолчанию для входящих и исходящих подключений. Разумная стратегия: запретить всё входящее, разрешить всё исходящее.
sudo ufw default deny incoming
sudo ufw default allow outgoing
Это означает, что изначально ваша система будет «невидима» для нежелательных входящих запросов, но сможет свободно выходить в интернет.
Шаг 2: Разрешение критических служб
Теперь нужно «прорубить окна» для необходимых сервисов. Самые частые случаи:
- SSH (порт 22): Если вы управляете сервером удалённо, разрешите SSH ДО активации UFW! Иначе потеряете доступ.
sudo ufw allow ssh # Или по порту: sudo ufw allow 22/tcp - HTTP/HTTPS (порты 80, 443): Для веб-сервера.
sudo ufw allow http sudo ufw allow https - Другие порты: Например, для игрового сервера или специфичного приложения.
sudo ufw allow 8080/tcp sudo ufw allow 27015/udp
Всегда используйте sudo ufw status verbose после добавления правил, чтобы проверить текущую конфигурацию и убедиться, что нужные порты открыты.
Шаг 3: Активация и проверка
Когда базовые правила заданы, можно включать брандмауэр:
sudo ufw enable
Проверьте статус: sudo ufw status numbered (флаг numbered покажет правила с номерами, что полезно для их удаления).
Продвинутое управление
Работа с конкретными IP-адресами и подсетями
UFW позволяет тонко настраивать доступ. Например, разрешить SSH только с вашего домашнего IP:
sudo ufw allow from 192.168.1.100 to any port 22 proto tcp
Или запретить все подключения с подозрительного адреса:
sudo ufw deny from 10.0.0.5
Удаление правил
Удалить правило можно тремя способами:
- По точной формулировке:
sudo ufw delete allow ssh. - По номеру из
status numbered:sudo ufw delete 2. - Через deny для ранее разрешённого правила (не всегда очевидно).
Логирование
Включите логи для отслеживания попыток подключения:
sudo ufw logging on
Логи пишутся в /var/log/ufw.log и помогают анализировать атаки или находить ошибки в конфигурации.
Сброс и отключение
Если что-то пошло не так, можно сбросить все правила к заводским настройкам (будьте осторожны, это необратимо!):
sudo ufw reset
Для временного отключения брандмауэра (например, для диагностики) используйте:
sudo ufw disable
FAQ: Часто задаваемые вопросы
UFW блокирует всё после включения. Что делать?
Вероятно, вы не разрешили SSH до активации. Подключитесь к серверу через консоль хоста (KVM, VNC) и отключите UFW командой sudo ufw disable, затем настройте правила правильно и включите снова.
Как разрешить диапазон портов?
Используйте двоеточие: sudo ufw allow 6000:6010/tcp откроет порты с 6000 по 6010 включительно для TCP.
Работает ли UFW с Docker?
Docker по умолчанию обходит правила UFW, что создаёт брешь в безопасности. Для совместной работы требуется дополнительная настройка (например, отключение iptables в Docker или использование плагина docker-ufw).
Как настроить UFW для игрового сервера?
Определите, какие порты (TCP/UDP) использует игра, и разрешите их. Например, для Minecraft (Java Edition) стандартный порт — 25565/tcp: sudo ufw allow 25565/tcp. Уточняйте порты в документации к игре.
Можно ли использовать UFW вместе с другим брандмауэром?
Нет, это приведёт к конфликтам. UFW управляет iptables напрямую. Используйте только один фронтенд для Netfilter (UFW, firewalld, nftables).