Гид по технологиям

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

5 min read Безопасность Linux Обновлено 31 Dec 2025
Включение и настройка UFW на Ubuntu
Включение и настройка UFW на Ubuntu

хакер в худи у компьютера в темной комнате

Зачем нужен брандмауэр

Брандмауэр — это программный компонент, контролирующий входящий и исходящий сетевой трафик по набору правил. Он не заменяет другие меры безопасности (например, обновления и надёжные пароли), но служит важным барьером для снижения поверхности атаки.

UFW (Uncomplicated Firewall) — это удобный фронтенд к iptables, поставляемый с Ubuntu. Он позволяет быстро задать политики и правила без глубокого изучения синтаксиса iptables.

Ключевые понятия в одну строку:

  • Правило (rule): инструкция разрешать или блокировать трафик по порту, сервису, IP или интерфейсу.
  • Политика по умолчанию (default): поведение брандмауэра, когда правило не сработало (обычно deny incoming, allow outgoing).

Основные принципы перед началом

  • Если вы управляете сервером по SSH, сначала разрешите SSH: иначе вы можете потерять доступ.
  • Планируйте правила по принципу «минимально необходимые разрешения»: открывайте только нужные порты и только для тех адресов/сетей, которым вы доверяете.
  • Перед массовым развёртыванием протестируйте правила локально или в тестовой среде.

Важно: при внесении правил для удалённого сервера всегда выполняйте команду разрешения SSH до включения UFW (см. чек-лист ниже).

Проверка статуса брандмауэра

По умолчанию брандмауэр может быть выключен. Проверьте статус командой:

sudo ufw status

вывод команды sudo ufw status в терминале

Пример вывода показывает, что брандмауэр активен и открыт порт 5900 (часто используется VNC).

Если статус — “inactive”, включите его после того, как добавите необходимые правила.

Включение UFW и базовые команды

Включить брандмауэр можно одной командой:

sudo ufw enable

После включения UFW автоматически запускается при загрузке системы. При изменениях перезагрузите правила:

sudo ufw reload

Полезные команды управления:

sudo ufw status         # краткий статус
sudo ufw status verbose # подробный статус
sudo ufw status numbered# нумерованный список правил для удаления
sudo ufw disable        # временно выключить
sudo ufw reset          # сбросить все правила к состоянию по умолчанию

Логирование UFW

Чтобы отслеживать события брандмауэра, включите логирование:

sudo ufw logging on

Файл логов: /var/log/ufw.log. Логи содержат IP-адреса и метаданные соединений — учитывайте требования конфиденциальности при их хранении и ротации.

Определение и удаление правил

Разрешение конкретного порта (HTTP):

sudo ufw allow 80
# или по имени сервиса
sudo ufw allow http

После этого статус покажет правило для порта 80:

sudo ufw status

статус ufw после разрешения порта 80

Чтобы удалить правило по порту:

sudo ufw delete allow 80

Если вы используете нумерованный вывод, удалять можно по номеру:

sudo ufw status numbered
sudo ufw delete <номер>

Закрытие порта временно

Чтобы временно заблокировать порт, не удаляя правило, используйте deny:

sudo ufw deny 80

Можно задавать протокол и интерфейс:

sudo ufw allow 8080/tcp
sudo ufw allow in on eth0 to any port 8080 proto tcp

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

Некоторые приложения имеют файл профиля в /etc/ufw/applications.d. Просмотреть список профилей:

sudo ufw app list

вывод команды sudo ufw app list с перечнем приложений

Чтобы разрешить приложение по имени:

sudo ufw allow 'Apache Full'

Файл профиля показывает, какие порты и протоколы приложение использует.

Разрешение соединений по IP или подсети

Разрешить доступ только с конкретного адреса:

sudo ufw allow from 192.168.10.197

Разрешить доступ из подсети на порт:

sudo ufw allow from 10.0.0.0/24 to any port 3306

Удаление записи:

sudo ufw delete allow from 192.168.10.197

Тестирование правил перед применением

UFW поддерживает dry-run для предварительной проверки влияния правила:

sudo ufw --dry-run allow ssh

Это полезно для оценки конфликтов и последовательности правил без фактического изменения конфигурации.

Рекомендации по политике и жёсткому конфигу

Стандартные безопасные настройки для большинства серверов:

  • Установите политики: запретить входящие, разрешить исходящие.
sudo ufw default deny incoming
sudo ufw default allow outgoing
  • Перед включением разрешите SSH:
sudo ufw allow OpenSSH
# или явно указать порт, если SSH работает на нестандартном порту
sudo ufw allow 2222/tcp
  • Ограничьте SSH подключениями (rate limiting):
sudo ufw limit OpenSSH
  • Интеграция с fail2ban: используйте fail2ban для блокировки атакующих IP на уровне приложений и системных логов.

Практические советы и сценарии

  • Если вы администрируете удалённый сервер: всегда создавайте правило для SSH до включения UFW.
  • Для тестовой среды: используйте более мягкие правила и логирование на повышенном уровне, чтобы собрать данные перед политикой deny.
  • Для публичного веб-сервера: откройте только порты 80/443 и, при необходимости, мониторьте логи.

Мини‑методология: быстрый план развертывания UFW

  1. Проверьте текущие сервисы и порты (ss, netstat).
  2. Составьте список необходимых подключений (порт, протокол, источник).
  3. Разрешите SSH и доступ для управляемых IP.
  4. Установите политики default deny incoming / allow outgoing.
  5. Включите UFW и логирование.
  6. Тестируйте и корректируйте по результатам логов.

Ролевые чек‑листы

Администратор сети:

  • Разработать политику по умолчанию.
  • Согласовать список разрешённых сервисов.
  • Настроить мониторинг и ротацию логов.

Разработчик/DevOps:

  • Проверить, что CI/CD и сервисы имеют нужные порты.
  • Добавить правила для среды тестирования.

Обычный пользователь:

  • Не включать сложные правила без консультации администратора.
  • Сообщать о подозрительной активности в логах.

Критерии приёмки

  • UFW включён и имеет политику deny incoming.
  • SSH доступ не потерян (проверка: подключение из внешней сети).
  • Открыты только согласованные порты.
  • Логирование включено и логи доступны для анализа.

Тесты и приемочные случаи

  • Попытка подключения по закрытому порту должна быть отвергнута.
  • Подключение с разрешённого IP должно проходить.
  • –dry-run не меняет конфигурацию и показывает ожидаемые изменения.

Безопасное ужесточение и рекомендации

  • Периодически просматривайте /var/log/ufw.log и системные логи.
  • Настройте logrotate для безопасного хранения логов и соответствия требованиям конфиденциальности.
  • Рассмотрите использование сетевых политик на уровне контейнеров (например, для Docker/Kubernetes) в дополнение к UFW.
  • Для критичных сервисов используйте двухфакторную аутентификацию и VPN для административного доступа.

Короткая памятка команд (cheat sheet)

# Проверка
sudo ufw status verbose
# Включить/отключить
sudo ufw enable
sudo ufw disable
# Базовая политика
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Разрешить сервис
sudo ufw allow http
sudo ufw allow 443/tcp
# Ограничить SSH
sudo ufw limit OpenSSH
# Логи
sudo ufw logging on
# Удалить правило
sudo ufw delete allow 80
# Сбросить все правила
sudo ufw reset

Краткая терминология

  • UFW: простой инструмент управления брандмауэром в Ubuntu.
  • iptables: низкоуровневый механизм фильтрации в ядре Linux.
  • allow/deny/limit: основные действия для правил.

Когда брандмауэр не решит проблему

  • Уязвимость в самом приложении или службе: брандмауэр не исправит баг в веб-сервере.
  • Если злоумышленник уже получил локальный доступ — брандмауэр не поможет восстановить систему.

Резюме

UFW — надёжный и удобный инструмент для защиты Ubuntu-системы от нежелательных сетевых подключений. Следуйте базовым правилам: сохраняйте политику «deny incoming», разрешайте только необходимые сервисы, заранее защитите SSH и включайте логирование. В сочетании с обновлениями системы, надёжными паролями и инструментами вроде fail2ban UFW заметно повышает уровень безопасности.


Короткое объявление (для внутреннего канала, 100–200 слов):

UFW — простой способ защитить Ubuntu: перед включением разрешите SSH, настройте политику deny incoming и добавьте только требуемые порты/сервисы. Включите логирование и используйте –dry-run для тестирования. Интеграция с fail2ban и лимитирование SSH уменьшают риск перебора паролей. Для продакшена добавьте мониторинг логов и регулярную ревизию правил.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Быстрый доступ к Google Translate на телефоне
Mobile

Быстрый доступ к Google Translate на телефоне

Реставрация старых фото в Photoshop
Ретушь фото

Реставрация старых фото в Photoshop

Как навести порядок в менеджере паролей
Безопасность

Как навести порядок в менеджере паролей

Snapdrop: обмен файлами между Linux, Android и iOS
Обмен файлами

Snapdrop: обмен файлами между Linux, Android и iOS

Защита смарт‑телевизора от слежки
Безопасность

Защита смарт‑телевизора от слежки

Как включить тёмную тему в популярных приложениях
Мобильные приложения

Как включить тёмную тему в популярных приложениях