Настройка брандмауэра UFW

LinuxBeginner
Практиковаться сейчас

Введение

Представьте, что ваш компьютер — это дом. По умолчанию его двери и окна могут быть открыты, и тогда войти сможет кто угодно. Чтобы защитить дом, нужен охранник, который управляет доступом по заданным правилам.

В Linux роль такого охранника выполняет UFW (Uncomplicated Firewall). Это более простой интерфейс для низкоуровневых систем брандмауэра. С помощью UFW вы задаёте, кому разрешено подключаться к системе, а кому — нет.

Важно понимать это различие: UFW — это уровень управления, а не сам механизм брандмауэра. Он предоставляет начинающим простой интерфейс для настройки политики сетевого доступа, не требуя напрямую писать низкоуровневые правила фильтрации пакетов.

Однако настройка брандмауэра в облачной среде LabEx требует осторожности. Если по умолчанию запретить все входящие подключения, что часто считается хорошей практикой безопасности, можно случайно потерять соединение с лабораторной средой.

В этой лабораторной работе вы примените безопасный подход:

  1. Установите политику по умолчанию Allow Incoming, чтобы не заблокировать доступ.
  2. Явно разрешите трафик через порт 8080 для веб-приложения.
  3. Включите брандмауэр.

Такой порядок действий позволит вам научиться управлять правилами UFW и при этом не потерять доступ к рабочей среде.

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

Прежде чем вносить изменения, важно проверить текущее состояние приложения и брандмауэра.

На порту 8080 работает простой веб-сервер. Сначала убедитесь, что приложение доступно.

Выполните следующую команду:

curl -I 127.0.0.1:8080

Вы должны увидеть HTTP-ответ примерно такого вида:

HTTP/1.0 200 OK
Server: SimpleHTTP/0.6 Python/3.10.6
...

Это подтверждает, что веб-приложение запущено и доступно локально.

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

Затем проверьте состояние UFW, чтобы узнать, активен ли он сейчас.

sudo ufw status

Скорее всего, вы увидите:

Status: inactive

Это означает, что UFW установлен, но в данный момент не применяет правила. Поэтому весь трафик проходит свободно.

Набор правил брандмауэра фактически является политикой сетевого доступа. Состояние inactive не означает, что программа неисправна: это означает, что политика сейчас не применяется.

Настройка политики по умолчанию и правил

Теперь настройте правила обработки трафика брандмауэром.

Установка политики по умолчанию Allow

По умолчанию UFW часто настроен на запрет всех входящих подключений. На локальном компьютере это безопасно. Однако в онлайн-среде LabEx блокировка всех входящих подключений может разорвать соединение между браузером и лабораторной средой.

Чтобы этого не произошло, установите для входящего трафика политику по умолчанию ALLOW:

sudo ufw default allow incoming

Вывод:

Default incoming policy changed to 'allow'
(be sure to update your rules accordingly)

Разрешение порта 8080

Затем создайте отдельное правило, явно разрешающее трафик к веб-приложению через порт 8080. Это хорошая практика даже при политике по умолчанию allow: правило фиксирует ваше намерение и подготавливает конфигурацию к возможному переходу в будущем на политику deny.

Явное указание намерений особенно важно для безопасности. Понятное правило помогает позже разобраться, почему порт открыт и по-прежнему ли необходимо такое открытое подключение.

sudo ufw allow 8080

Система подтвердит изменение:

Rules updated
Rules updated (v6)

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

Включение брандмауэра

Правила настроены, поэтому теперь активируйте брандмауэр.

Выполните следующую команду, чтобы включить UFW:

sudo ufw enable

Поскольку вы установили политику по умолчанию ALLOW, UFW активируется сразу и не предупреждает о возможном разрыве SSH-соединения. Такое предупреждение обычно появляется, когда политика по умолчанию установлена в deny.

Вы должны увидеть:

Firewall is active and enabled on system startup

Это фактически «включает» охранника.

Теперь UFW не просто хранит правила, а применяет их. Различие между настроенной и активной политикой — распространённое понятие в системах безопасности.

Проверка конфигурации брандмауэра

В завершение убедитесь, что брандмауэр активен и созданные правила применяются правильно.

Снова проверьте состояние:

sudo ufw status

Теперь состояние должно быть active, а ниже должны отображаться созданные правила:

Status: active

To                         Action      From
--                         ------      ----
8080                       ALLOW       Anywhere
8080 (v6)                  ALLOW       Anywhere (v6)

Проверка подключения

Убедитесь, что веб-приложение по-прежнему доступно при включённом брандмауэре.

curl -I 127.0.0.1:8080

Вы должны получить тот же ответ HTTP/1.0 200 OK, что и раньше.

Это подтверждает, что:

  1. Брандмауэр активен.
  2. Правила работают ожидаемым образом.
  3. Приложение по-прежнему доступно.

Итоги

В этой лабораторной работе вы успешно настроили и включили брандмауэр UFW.

Вы научились:

  1. Проверять состояние брандмауэра: использовать sudo ufw status, чтобы узнать, активен ли брандмауэр.
  2. Настраивать безопасные значения по умолчанию: использовать sudo ufw default allow incoming, чтобы предотвратить случайную блокировку доступа в облачных средах.
  3. Добавлять правила: использовать sudo ufw allow 8080, чтобы разрешать трафик через определённые порты.
  4. Включать брандмауэр: использовать sudo ufw enable, чтобы активировать правила.

В рабочей среде обычно устанавливают для входящего трафика политику по умолчанию deny, а затем явно разрешают только необходимые порты, например 22 для SSH и 80 для HTTP. Однако умение безопасно управлять такими правилами — первый шаг к защите системы.