Издаване на firewalld 1.0

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

За управлението на междусетевия екран се използва утилитата firewall-cmd, която при създаване на правила се основава не на IP адреса, мрежови интерфейси и номера на портове, а от имената на услугите (например, за отваряне на достъп до SSH е необходимо да се изпълни „firewall-cmd —add —service=ssh“, а за затваряне на SSH — „firewall-cmd —remove —service=ssh“). За промяна на конфигурацията на защитната стена може да се използва и графичният интерфейс firewall-config (GTK) и аплетът firewall-applet (Qt). Поддръжката на управление на защитната стена чрез D-BUS API firewalld е налична в проекти като NetworkManager, libvirt, podman, docker и 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 — теперь используется одна запись вместо трех.
  • Действие «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.
  • Поддръжката на Python 2 е прекратена.
  • Списъкът на зависимостите е съкратен. За функционирането на firewalld, освен ядрото на Linux, сега са необходими само python-библиотеките dbus, gobject и nftables, а пакетите ebtables, ipset и iptables са отнесени към опционалните. От зависимостите са премахнати python-библиотеките decorator и slip.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster