Введение
Представьте, что ваш компьютер — это дом. По умолчанию его двери и окна могут быть открыты, и тогда войти сможет кто угодно. Чтобы защитить дом, нужен охранник, который управляет доступом по заданным правилам.
В Linux роль такого охранника выполняет UFW (Uncomplicated Firewall). Это более простой интерфейс для низкоуровневых систем брандмауэра. С помощью UFW вы задаёте, кому разрешено подключаться к системе, а кому — нет.
Важно понимать это различие: UFW — это уровень управления, а не сам механизм брандмауэра. Он предоставляет начинающим простой интерфейс для настройки политики сетевого доступа, не требуя напрямую писать низкоуровневые правила фильтрации пакетов.
Однако настройка брандмауэра в облачной среде LabEx требует осторожности. Если по умолчанию запретить все входящие подключения, что часто считается хорошей практикой безопасности, можно случайно потерять соединение с лабораторной средой.
В этой лабораторной работе вы примените безопасный подход:
- Установите политику по умолчанию Allow Incoming, чтобы не заблокировать доступ.
- Явно разрешите трафик через порт 8080 для веб-приложения.
- Включите брандмауэр.
Такой порядок действий позволит вам научиться управлять правилами 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, что и раньше.
Это подтверждает, что:
- Брандмауэр активен.
- Правила работают ожидаемым образом.
- Приложение по-прежнему доступно.
Итоги
В этой лабораторной работе вы успешно настроили и включили брандмауэр UFW.
Вы научились:
- Проверять состояние брандмауэра: использовать
sudo ufw status, чтобы узнать, активен ли брандмауэр. - Настраивать безопасные значения по умолчанию: использовать
sudo ufw default allow incoming, чтобы предотвратить случайную блокировку доступа в облачных средах. - Добавлять правила: использовать
sudo ufw allow 8080, чтобы разрешать трафик через определённые порты. - Включать брандмауэр: использовать
sudo ufw enable, чтобы активировать правила.
В рабочей среде обычно устанавливают для входящего трафика политику по умолчанию deny, а затем явно разрешают только необходимые порты, например 22 для SSH и 80 для HTTP. Однако умение безопасно управлять такими правилами — первый шаг к защите системы.



