Опубликован релиз динамически управляемого межсетевого экрана firewalld 1.2, реализованного в форме обвязки над пакетными фильтрами 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.
Основные изменения:
- Реализованы сервисы snmptls и snmptls-trap для обработки доступа к протоколу SNMP через защищённый канал связи.
- Реализован сервис с поддержкой протокола, используемого в децентрализованной файловой системе IPFS.
- Добавлены сервисы с поддержкой gpsd, ident, ps3netsrv, CrateDB, checkmk, netdata, Kodi JSON-RPC, EventServer, Prometheus node-exporter, kubelet-readonly, а также защищённой версии k8s controller-plane.
- Добавлен параметр “–log-target”.
- Добавлен режим запуска failsafe, позволяющий в случае проблем с заданными правилами, откатиться на конфигурацию по умолчанию, не оставляя хост без защиты.
- Для bash обеспечена поддержка автодополнения команд для работы с правилами.