ການປ່ອຍ 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, ສາມາດໃຊ້ສ່ວນຕິດຕໍ່ກຣາຟຟິກຂອງ Firewall-config (GTK) ແລະ applet 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 — вместо трёх копий записей 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

ເພີ່ມຄວາມຄິດເຫັນ