Представь, что твой сервер — это крепость. UFW (Uncomplicated Firewall) — это современные, умные ворота, которые решают, кого впускать, а кого нет. В этом руководстве мы разберем установку и настройку UFW на Ubuntu 24.04 от А до Я, превратив тебя из новичка в уверенного администратора безопасности.
Что такое UFW и зачем он нужен?
UFW — это фронтенд для iptables, созданный специально для Ubuntu. Его главная фишка — простота. Вместо сложных цепочек правил iptables ты работаешь с интуитивно понятными командами. Настройка UFW на Ubuntu — это первый и самый важный шаг к защите любого сервера от нежелательного сетевого трафика.
Шаг 1: Проверка установки и состояния UFW
Давай начнем с проверки. Открой терминал и выполни:
sudo ufw status
Если UFW отключен, ты увидишь: Status: inactive. Если команда не найдена, значит, пакет отсутствует (маловероятно для Ubuntu 24.04).
Шаг 2: Базовая настройка политик по умолчанию
Перед включением установим разумные политики по умолчанию. Это основа безопасности.
# Запрещаем все входящие соединения
sudo ufw default deny incoming
# Разрешаем все исходящие соединения
sudo ufw default allow outgoing
default deny incoming заблокирует ВСЕ входящие подключения, включая SSH. Не включай UFW, пока не добавишь правило для SSH (следующий шаг), иначе потеряешь доступ к серверу!
Шаг 3: Открываем необходимые порты (SSH, HTTP, HTTPS)
Теперь разрешим трафик на критически важные сервисы. Начнем с SSH.
Разрешение SSH подключений
Всегда указывай конкретный порт. По умолчанию это 22.
sudo ufw allow ssh
# Или, что то же самое:
sudo ufw allow 22/tcp
Если ты сменил порт SSH (например, на 2222), используй:
sudo ufw allow 2222/tcp
Открываем порты для веб-сервера
Для Nginx, Apache или любого другого веб-сервиса.
# HTTP (порт 80)
sudo ufw allow 80/tcp
# HTTPS (порт 443)
sudo ufw allow 443/tcp
# Можно использовать имена сервисов, если они прописаны в /etc/services
sudo ufw allow http
sudo ufw allow https
Шаг 4: Включение UFW и проверка правил
Теперь, когда базовые правила на месте, можно смело включать фаервол.
sudo ufw enable
Система спросит подтверждение, так как операция может разорвать существующие SSH-сессии. Набирай y и жми Enter.
Проверим, что все настроено верно:
sudo ufw status verbose
Ты должен увидеть что-то вроде:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6)
Продвинутая настройка UFW на Ubuntu
Давай разберем более сложные, но часто необходимые сценарии.
Разрешение доступа с определенного IP-адреса
Повышаем безопасность, разрешая SSH только с доверенного IP.
# Сначала удалим общее правило для SSH (если было)
sudo ufw delete allow ssh
# Разрешаем только с IP 192.168.1.100
sudo ufw allow from 192.168.1.100 to any port 22 proto tcp
Разрешение диапазона портов
Полезно для FTP пассивного режима или игровых серверов.
# Разрешить порты с 8000 по 8010 для TCP
sudo ufw allow 8000:8010/tcp
Работа с приложениями (профилями)
UFW умеет работать с заранее заданными профилями приложений. Посмотрим, какие есть:
sudo ufw app list
Чтобы разрешить весь трафик для приложения (например, Nginx Full, который открывает и 80, и 443 порт):
sudo ufw allow 'Nginx Full'
Управление правилами: просмотр, удаление, нумерация
Со временем правил становится много. Вот как ими управлять.
Просмотр правил с номерами
sudo ufw status numbered
Удаление правила по номеру
Допустим, мы хотим удалить правило №3 из списка.
sudo ufw delete 3
Часто задаваемые вопросы (FAQ)
Как полностью отключить UFW?
Используй команду sudo ufw disable. Правила сохранятся и будут применены при следующем включении.
Я заблокировал себя, отключив SSH. Что делать?
Если у тебя есть физический доступ к серверу или доступ через консоль провайдера (VNC, KVM):
1. Зайди на сервер.
2. Выполни sudo ufw disable.
3. Настрой правила заново, не забыв про SSH, и включи снова.
Где хранятся правила UFW?
Основные конфигурационные файлы находятся в /etc/ufw/. Сами правила после применения живут в iptables. Для резервного копирования используй sudo ufw status verbose > ufw_backup.txt.
Нужно ли перезагружать UFW после добавления правила?
Нет. Все правила применяются мгновенно после выполнения команды allow или deny.
Чем UFW на Ubuntu 24.04 отличается от предыдущих версий?
В Ubuntu 24.04 UFW поставляется в актуальной стабильной версии с улучшенной поддержкой nftables (нового бэкенда, приходящего на смену iptables) и исправленными уязвимостями. Принципы работы и основные команды остались прежними.
Заключение
Поздравляю! Теперь ты знаешь, как выполняется установка и настройка UFW на Ubuntu. Ты прошел путь от проверки статуса до управления сложными правилами. Помни золотое правило: «Запретить всё, разрешить необходимое». Регулярно проверяй sudo ufw status verbose, чтобы быть в курсе, какие двери твоей крепости открыты. UFW — мощный, но простой инструмент, который должен быть включен на каждом сервере Ubuntu 24.04 по умолчанию.