Основы Firewalld и зоны

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

Введение

В этой лабораторной работе вы познакомитесь с Firewalld — современным инструментом управления межсетевым экраном, доступным во многих дистрибутивах Linux.

Межсетевой экран управляет тем, какой сетевой трафик разрешён для входа в систему и выхода из неё. Традиционные правила фильтрации пакетов могут показаться новичкам слишком сложными и негибкими. Firewalld предоставляет модель управления более высокого уровня, благодаря чему администраторы могут безопаснее и динамичнее изменять политики.

Основное понятие Firewalld — зоны. Зоны позволяют назначать разные уровни доверия различным сетевым интерфейсам или подключениям.

  • Домашняя зона: представьте свою гостиную. Вы доверяете находящимся здесь людям (устройствам), поэтому дверь в основном открыта.
  • Публичная зона: представьте кофейню. Вы не доверяете окружающим людям (устройствам), поэтому запираете двери и разрешаете только строго определённые взаимодействия.

Firewalld позволяет назначать разные сетевые подключения (интерфейсы) этим зонам.

К концу лабораторной работы вы сможете:

  1. Безопасно установить и запустить службу Firewalld.
  2. Определить, какие зоны безопасности активны.
  3. Просмотреть правила внутри зоны.
  4. Переместить сетевой интерфейс из одной зоны в другую.

Установите и запустите Firewalld

На этом шаге вы установите Firewalld и убедитесь, что служба работает.

Критически важный шаг безопасности: в удалённой лабораторной среде подключение к терминалу зависит от того, что сетевой доступ открыт. Если запустить межсетевой экран с настройками по умолчанию (обычно это зона Public или Drop), он может сразу заблокировать подключение и лишить вас доступа. Чтобы этого не произошло, мы явно настроим для нашего подключения зону Trusted.

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

Сначала установите пакет.

sudo apt-get update
sudo systemctl mask firewalld
sudo apt-get install firewalld -y

Маскирование службы предотвращает автоматический запуск firewalld при установке пакета. Перед запуском службы настройте зону по умолчанию trusted и привяжите eth0 с помощью firewall-offline-cmd. Этот клиент работает, когда firewalld остановлен. Снимайте маскирование службы только после сохранения этих постоянных настроек административного доступа.

sudo firewall-offline-cmd --set-default-zone=trusted
sudo firewall-offline-cmd --zone=trusted --add-interface=eth0
sudo systemctl unmask firewalld
sudo systemctl start firewalld
sudo firewall-cmd --reload

Настройте автоматический запуск службы при загрузке системы.

sudo systemctl enable firewalld

Наконец, проверьте, что Firewalld работает.

sudo firewall-cmd --state

В выводе должно появиться running.

Проверьте активные зоны

На этом шаге, когда Firewalld уже запущен, рассмотрим зоны.

Зоны — основной уровень абстракции Firewalld. Вместо того чтобы запоминать длинный плоский список правил для пакетов, вы группируете интерфейсы по уровню доверия, а зона задаёт базовую политику для соответствующей среды.

Чтобы узнать, какие зоны используются сейчас, выполните следующую команду.

sudo firewall-cmd --get-active-zones

Поскольку на предыдущем шаге мы настроили эту зону, вы должны увидеть:

trusted
  interfaces: eth0

Это означает следующее:

  • Активна зона trusted.
  • Сетевой интерфейс eth0 (ваше основное подключение) безопасно находится в этой зоне.

Если вы хотите узнать, какие ещё зоны существуют, вы можете вывести список всех доступных зон.

sudo firewall-cmd --get-zones

В списке будут такие имена, как block, home, work, public и другие.

Просмотрите конфигурацию зоны

На этом шаге вы изучите подробные правила активной зоны.

Здесь Firewalld становится более понятным на практике. Зона — это не просто метка вроде public или trusted, а набор реальных решений политики: целевое действие по умолчанию, разрешённые службы, порты и правила пересылки трафика.

Используйте параметр --list-all, чтобы просмотреть полную конфигурацию текущей зоны по умолчанию (trusted).

sudo firewall-cmd --list-all

В выводе отобразится конфигурация. Для зоны trusted ключевым является поле:

  • target: ACCEPT. Это означает «принимать всё».

Так подтверждается, почему ваше подключение защищено от блокировки.

Если вы хотите посмотреть правила другой зоны, например зоны public, укажите её имя.

sudo firewall-cmd --zone=public --list-all

Вы увидите, что зона public гораздо строже ограничивает трафик.

Измените зону интерфейса

На этом шаге мы потренируемся перемещать интерфейс в другую зону.

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

Предупреждение: если переместить основной интерфейс eth0 в зону work, подключение будет немедленно разорвано, поскольку зона work блокирует подключение к веб-терминалу.

Чтобы безопасно выполнить упражнение, мы создадим фиктивный (виртуальный) сетевой интерфейс и будем использовать его.

Сначала создайте фиктивный интерфейс с именем dummy0.

sudo ip link add dummy0 type dummy
sudo ip link set dummy0 up

Сначала добавьте этот интерфейс в зону public, чтобы назначить ему исходную зону.

sudo firewall-cmd --zone=public --add-interface=dummy0

Представьте, что dummy0 — это Wi-Fi-карта вашего ноутбука и вы только что вошли в офис. Теперь вы хотите переключить её в зону work.

sudo firewall-cmd --zone=work --change-interface=dummy0

Проверьте изменение.

sudo firewall-cmd --get-active-zones

Теперь вы должны увидеть две активные зоны:

  • trusted: содержит eth0, поэтому подключение остаётся активным.
  • work: содержит dummy0, ваш тестовый интерфейс.
trusted
  interfaces: eth0
work
  interfaces: dummy0

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

Итоги

В этой лабораторной работе вы сделали первые шаги с Firewalld. Вы:

  1. Установили службу и безопасно настроили её, чтобы не потерять доступ.
  2. Узнали, что зоны работают как профили безопасности.
  3. Изучили правила внутри зоны.
  4. Создали виртуальный интерфейс и потренировались переключать его между зонами.

Понимание зон — основа работы с Firewalld. В следующих лабораторных работах вы научитесь настраивать эти зоны, открывая определённые порты.