Paglabas ng Firewalld 1.0

Представлен релиз динамически управляемого межсетевого экрана firewalld 1.0, реализованного в форме обвязки над пакетными фильтрами nftables и iptables. Firewalld запускается в виде фонового процесса, позволяющего динамически изменять правила пакетного фильтра через D-Bus, без необходимости перезагрузки правил пакетного фильтра и без разрыва установленных соединений. Проект уже применяется во многих дистрибутивах Linux, включая RHEL 7+, Fedora 18+ и SUSE/openSUSE 15+. Код firewalld написан на языке Python и распространяется под лицензией GPLv2.

Upang pamahalaan ang firewall, ginagamit ang firewall-cmd utility, na, kapag lumilikha ng mga panuntunan, ay batay hindi sa mga IP address, mga interface ng network at mga numero ng port, ngunit sa mga pangalan ng mga serbisyo (halimbawa, upang buksan ang access sa SSH kailangan mong patakbuhin ang “firewall-cmd —add —service= ssh”, upang isara ang SSH – “firewall-cmd –remove –service=ssh”). Upang baguhin ang configuration ng firewall, maaari ding gamitin ang firewall-config (GTK) graphical interface at ang firewall-applet (Qt) applet. Ang suporta para sa pamamahala ng firewall sa pamamagitan ng D-BUS API firewalld ay magagamit sa mga proyekto tulad ng NetworkManager, libvirt, podman, docker at fail2ban.

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

  • Объявлен устаревшим бэкенд, позволявший работать поверх iptables. Поддержка iptables будет сохранена в обозримом будущем, но развиваться данный бэкенд не будет.
  • Включён и активирован по умолчанию для всех новых зон режим intra-zone-forwarding, разрешающий свободное перемещение пакетов между сетевыми интерфейсами или источниками трафика внутри одной зоны (public, block, trusted, internal и т.п.). Для возвращения старого поведения и запрета перенаправления пакетов внутри одной зоны можно использовать команду «firewall-cmd —permanent —zone public —remove-forward».
  • Правила, связанные с трансляцией адресов (NAT), перемещены в семейство протоколов «inet» (ранее добавлялись в семействах «ip» и «ip6», что приводило к необходимости дублирования правил для IPv4 и IPv6). Изменение позволило избавиться от дубликатов при использовании ipset — вместо трёх копий записей ipset теперь используется одна.
  • Действие «default», указываемое в параметре «—set-target», теперь эквивалентно «reject», т.е. все пакеты, не подпадающие под определённые в зоне правила, по умолчанию будут блокироваться. Исключение сделано только для ICMP-пакетов, которые по-прежнему пропускаются. Для возвращения старого поведения для публично доступной зоны «trusted» можно использовать правила: firewall-cmd —permanent —new-policy allowForward firewall-cmd —permanent —policy allowForward —set-target ACCEPT firewall-cmd —permanent —policy allowForward —add-ingress-zone public firewall-cmd —permanent —policy allowForward —add-egress-zone trusted firewall-cmd —reload
  • Политики с положительным приоритетом теперь выполняются непосредственно до выполнения правила «—set-target catch-all», т.е. в момент, предшествующий добавлению финальных правил drop, reject или accept, в том числе для зон, в которых используются «—set-target drop|reject|accept».
  • Блокировка ICMP теперь применяется только к адресованным текущему хосту входящим пакетам (input) и не затрагивает пакеты, перенаправляемые между зонами (forward).
  • Удалён сервис tftp-client, предназначенный для отслеживания соединений для протокола TFTP, но находившийся в непригодном для использования виде.
  • Объявлен устаревшим интерфейс «direct», позволяющий напрямую подставлять готовые правила пакетного фильтра. Потребность в данном интерфейсе пропала после добавления возможности фильтрации перенаправляемых и исходящих пакетов.
  • Добавлен параметр CleanupModulesOnExit, который по умолчанию изменён на значение «no». При помощи данного параметрам можно управлять выгрузкой модулей ядра после завершения работы firewalld.
  • Разрешено использование ipset при определении целевой системы (destination).
  • Добавлены определения сервисов WireGuard, Kubernetes и netbios-ns.
  • Реализованы правила автодополнения для zsh.
  • Ang suporta sa Python 2 ay hindi na ipinagpatuloy.
  • Сокращён список зависимостей. Для работы firewalld, помимо ядра Linux, теперь обязательно требуются только python-библиотеки dbus, gobject и nftables, а пакеты ebtables, ipset и iptables отнесены к опциональным. Из числа зависимостей удалены python-библиотеки decorator и slip.

Pinagmulan: opennet.ru

Magdagdag ng komento