Linux

Настройка UFW в Linux: пошаговый гайд по защите сервера

Научитесь устанавливать, включать и конфигурировать брандмауэр UFW для защиты Linux-системы. Вы получите рабочий набор правил, который закроет уязвимые порты и разрешит только доверенный трафик.

Обновлено 4 апреля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04/22.04/24.04 LTSDebian 11/12Linux Mint 21+

Зачем настраивать UFW

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

Подготовка и установка

Перед началом убедитесь, что у вас есть доступ к терминалу с правами sudo. В Ubuntu и производных UFW обычно уже установлен. Если вы работаете на минимальном образе Debian или другом сервере, установите пакет:

sudo apt update && sudo apt install ufw -y

Проверьте версию утилиты, чтобы убедиться в актуальности пакетов безопасности:

ufw version

⚠️ Важно: Все команды ниже требуют прав суперпользователя. Запускайте их через sudo или предварительно переключитесь на root.

Шаг 1: Сброс конфигурации и политики по умолчанию

Если вы ранее экспериментировали с сетевыми экранами, начните с чистого листа. Это исключит конфликты правил и непредсказуемое поведение.

sudo ufw --force reset

Задайте строгую политику: блокировать всё входящее, разрешать всё исходящее. Это стандарт безопасности для серверов.

sudo ufw default deny incoming
sudo ufw default allow outgoing

💡 Совет: Оставляйте исходящий трафик открытым, иначе сервер не сможет загружать обновления, отправлять системные уведомления или обращаться к внешним API.

Шаг 2: Разрешение базовых подключений

Критически важно: перед активацией брандмауэра откройте порт для удалённого управления. Иначе вы мгновенно потеряете связь с сервером.

# Разрешаем SSH (порт 22)
sudo ufw allow ssh
# Если используете нестандартный порт, укажите его явно:
sudo ufw allow 2222/tcp

Если на машине работает веб-приложение или панель управления:

sudo ufw allow http
sudo ufw allow https
# Или используйте профиль приложения (например, для Nginx):
sudo ufw allow "Nginx Full"

Для ограничения доступа к административным портам только с доверенных IP:

sudo ufw allow from 203.0.113.10 to any port 22

Шаг 3: Включение и проверка работы

Когда правила настроены, активируйте защиту. Система запросит подтверждение, так как активные SSH-сессии могут прерваться при перезагрузке модулей ядра.

sudo ufw enable

После успешной активации проверьте текущий статус и список применённых правил:

sudo ufw status verbose

Вы увидите таблицу с направлениями (Direction), действиями (Action) и источниками (From). Убедитесь, что SSH (или ваш кастомный порт) находится в строке ALLOW IN. Для детальной диагностики подключите логирование:

sudo ufw logging medium

Записи будут сохраняться в /var/log/ufw.log. Их удобно мониторить в реальном времени командой:

sudo tail -f /var/log/ufw.log | grep BLOCKED

Возможные проблемы и их решение

  • Потеря доступа после включения. Если вы случайно заблокировали SSH, подключитесь к серверу через консоль хостинг-провайдера или панель управления VPS. Выполните sudo ufw disable, добавьте правило allow ssh и включите фаервол заново.
  • Правила не применяются или конфликтуют. UFW обрабатывает правила последовательно сверху вниз. Если вы добавили deny для целой подсети, а затем allow для отдельного IP внутри неё, первое правило перекроет второе. Удалите ошибочное правило по номеру: sudo ufw delete <номер> и добавьте его с правильным приоритетом.
  • Сервис недоступен извне, хотя правило есть. Проверьте, слушает ли приложение нужный интерфейс. Команда sudo ss -tulpn | grep :<порт> покажет, привязался ли процесс к 0.0.0.0 (все интерфейсы) или только к 127.0.0.1 (локальный хост). В последнем случае внешний доступ невозможен, даже если UFW разрешает трафик — правьте конфигурацию самого сервиса.

Часто задаваемые вопросы

Что произойдёт с активными SSH-подключениями при включении UFW?
Как временно отключить фаервол без удаления правил?
Нужно ли устанавливать UFW отдельно?

Полезное

Установка и обновление пакета
Настройка политик по умолчанию
Разрешение критических портов
Включение и проверка работы