Сформирован выпуск динамически управляемого межсетевого экрана firewalld 2.4.0, реализованного в форме обвязки над пакетными фильтрами nftables и iptables. Firewalld запускается в виде фонового процесса, позволяющего динамически изменять правила пакетного фильтра через D-Bus, без необходимости перезагрузки правил пакетного фильтра и без разрыва установленных соединений. Проект уже применяется во многих дистрибутивах Linux, включая RHEL 7+, Fedora 18+ и SUSE/openSUSE 15+. Код firewalld написан на языке Python и распространяется под лицензией GPLv2...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64197
> firewall-cmd --reloadАга, в случае с nftables не работает.
Только systemctl restart firewalld.service.
Что ты ожидаешь от тех, кто в третьем десятилетии 21 века до сих пор не умеет в строки?> Максимальный размер имён правил увеличен с 17 до 128 символов
да уж..
а ведь это все пользователи винды ))
если соотнести с количеством пользователей линя,
а тем более тех кто может из последних в строки,
то вообще катастрофа ))
firewalld - бесполезное нагромождение.
Разработчики позиционируют его как реализацию концепции Zonebased Firewall.\
При этом Zonebased firewall предназначен для систем с более, чем 1 интерфейсом.
идея заключается в описании зон с включением туда соответствующих интерфейсов
и правил взаимодействия между зонами, что упрощает и ускоряет разработку правил firewall.
Идея firewalld заключается в том, чтобы оградить неокрепшую психику от "сложных правил nftables".
В документации к firewalld вплоть до 9 верссии RHEL разработчики указывали, что firewalld
не подходит для маршрутизаторов и сложных инсталляций. С 10 версии скромно указывают, что
это подходит не для всех случаев.
Zero trust - не, не слышали, у нас default policy accept.
По факту же в настройках firewalld не найти механизмов описания правил взаимодействия зон друг с другом,
а типичное применение firewalld подразумевает простое открытие или блокирование входящих
соединений на локальные порты системы. Если требуется организовать полноценные списки доступа
для входящих соединений от хостов/сетей источников на определённые локальные порты, то добро
пожаловать в rich rules - т.е. изучайте nftables, но сначала изучите синтаксис firewalld.
При этом firewald лишает вас счётчиков, а нагромождение цепочек и бесполезных правил обфусцирует
путь прохождения пакета. Т.е. отладка и оптимизация правил по использованию становится практически невозможной.
Вы думаете, "изобретатели" firewalld написали нему что-то вроде packet-tracer/capture? Держите карман шире.
Фактически же firewalld можно заменить конструкцией, покрывающей большинство применений firewalld:
define IF_INT = { eth0 }
table ip filter {
set tcp_ports {
type inet_service
flags interval
elements = { 22, 80, 443 }
}
set udp_ports {
type inet_service
flags interval
elements = { 53, 123 }
}
chain INPUT {
type filter hook forward priority filter; policy drop;
iif "lo" accept
ct state vmap { established : accept, related : accept, invalid : drop }iif $IF_INT ct state new tcp dport @tcp_ports counter accept
iif $IF_INT ct state new udp dport @udp_ports counter accepticmp type timestamp-request counter drop
ip protocol icmp counter accept
}
}
При этом порты можно добавить командой:
nft add element filter tcp_ports '{2}'
удалить:
nft delete element filter tcp_ports '{2}'
Просмотреть:
nft list set filter tcp_ports
Посмотреть все правила:
nft list rulesetСложно?
Сравните это с монструозным firewalld. Ради этого стоило его городить?
Выводы:
1. firewalld - нефункционален,
2. firewalld - вреден,
3. Не умеете nftables - "не доверяйте ребёнку мужскую работу".
nftables - это мощный, функциональный и точный инструмент, который стоит изучать,
а не прятать за кучу нагромождений, которая ничего не может, а только мешает.
firewalld не привнёс ничего нового, а "с водой выплеснул и ребёнка".
Те, кому требуется более сложная настройка межсетевого экрана, могут отказаться от firewalld и использовать только nftables. Однако большинству пользователей будет удобнее настраивать межсетевой экран через графический интерфейс firewall-config. Этот инструмент отлично подходит для простых задач, таких как открытие bittorrent-lsd.
Такое ощущение, что разработчики не знали, куда ещё можно пухтон пристроить.
Перепиши на Swift.
Спасибо. Вот за такие крупицы мудрости опытных людей - я и люблю опеннет.
К сожалению докер не поддерживает пока nftables. Если по работе нужно - приходится сидеть на firewalld 🤷♂️
Какой смысл обвинять надстройку для нубов в том, что она не подходит для продвинутых пользователей.
> Идея firewalld заключается в том, чтобы оградить неокрепшую психику от "сложных правил nftables".Это идея ufw. А firewalld только добавляет сложности с зонами.
Оно ээээ... "из коробки":
- container ready и нормально сосуществует с миллионом автогенеренных докером-куб-прокси-чертом-в-ступе правил, чего в общем нельзя сказать про произвольную конфигурацию iptables\nftables
- (кои)как-то (через CNI-плагин или вот network-manager) отрабатывает ситуацию с дохреналлионом созаваемых "налету" CNI-интерфейсов (Но лучше-б не умел, т.к. сколько-нибудь нормально все одно, не работает при использовании network-policy, так - фланельку прикрыть от безопасника - от атакующего уже не спасёт)
- умеет применять правила "налету" без разрыва соединений (Чего нельзя было сказать про iptables per se)
- некоторым образом упрощает конфигурёж в самых простых случаях: не нужно ВООБЩЕ ничего знать об дополнительных абстракциях (IP|NF)tables (Таблицы, цепочки) - даже базового представления о "tcp\ip" - не надо "разреши SSH" и пофиг на tcp, udp, port, handshake\state и т.д. - при этом этих самых "простых" в жизни абсолютнейшее большинство, так-то
- обладает чуть более человековменяемым синтаксисом (Вкусовщина, да) в _простых_ случаях. В непростых - объем невменоза удваивается, есс-сна
- абстрагирует от конкретного бэкенда, если у тебя !вдруг! зачем-то унутре iptables - ты об этом и не узнаешь
- больмень интегрируется с внешним тулингом для желающих централизовано порулить зоопаркомМожет и еще чего полезного делает, но мне в голову не приходит ).
Женособаки подтянулись?
[quote]- container ready и нормально сосуществует с миллионом автогенеренных докером-куб-прокси-чертом-в-ступе правил, чего в общем нельзя сказать про произвольную конфигурацию iptables\nftables[/quote]
Фактически - отломано и выброшено. Открыть порт "всем ветрам" - это не задача firewall. Зачастую стоит задача открыть сервис для доступа для определенного списка адресов. То, как это сделали декерасты - лучше бы вообще не делали. Отношение - "а после нас хоть потоп".
[quote]- умеет применять правила "налету" без разрыва соединений (Чего нельзя было сказать про iptables per se)[/quote]
Чего iptables не умеет? Добавить, заменить, удалить правило? Может это не iptables не умеет? А куча пихтонокала, которая юзает iptables чудесным образом умеет?
[quote]- обладает чуть более человековменяемым синтаксисом (Вкусовщина, да) в _простых_ случаях. В непростых - объем невменоза удваивается, есс-сна[/quote]
Сломать функционал ради извращённых вкусов? Где тут разум и целеполагание?
[quote]- больмень интегрируется с внешним тулингом для желающих централизовано порулить зоопарком"[/quote]
"То, что мертво, умереть не может"
Суть firewalld - "сами не можем и другим не дадим".
> Женособаки подтянулись?Неа. Я уже слишком стар для этой фигни - но если что, бороду-в-свитере поносить успел )
> [quote]- container ready и нормально сосуществует с миллионом автогенеренных докером-куб-прокси-чертом-в-ступе
> правил, чего в общем нельзя сказать про произвольную конфигурацию iptables\nftables[/quote]
> Фактически - отломано и выброшено. Открыть порт "всем ветрам" - это не
> задача firewall. Зачастую стоит задача открыть сервис для доступа для определенного
> списка адресов. То, как это сделали декерасты - лучше бы вообще
> не делали. Отношение - "а после нас хоть потоп".Зачастую - стоит, зачастую - не стоит, а другого докера у нас для вас - ЕСТЬ, и чо-как, нраицца? Хучь - подман бери, хучь вот кубик заводи, он в этом месте не менее раскудрявый )))
Можно конечно сказать: "Вы! Вы! Вы!!! Всё! Делаете! НИРПАИЛЬНА!!!111" - но не советую, "не поймут-с, азиаты-с..."> [quote]- умеет применять правила "налету" без разрыва соединений (Чего нельзя было сказать
> про iptables per se)[/quote]
> Чего iptables не умеет? Добавить, заменить, удалить правило? Может это не iptables
> не умеет? А куча пихтонокала, которая юзает iptables чудесным образом умеет?Может да - но ты ж почему-то альтернативу вот в свое время на bash'е - не написал, занят поди был?
> [quote]- обладает чуть более человековменяемым синтаксисом (Вкусовщина, да) в _простых_
> случаях. В непростых - объем невменоза удваивается, есс-сна[/quote]
> Сломать функционал ради извращённых вкусов? Где тут разум и целеполагание?Так кто ж его тебе "сломал"-то, а? Хочешь - пользуйся, хочешь - не пользуйся, можешь вот даже всё rich-rules делать - кто мешает-то?
> [quote]- больмень интегрируется с внешним тулингом для желающих централизовано порулить
> зоопарком"[/quote]
> "То, что мертво, умереть не может"
> Суть firewalld - "сами не можем и другим не дадим".firewalld - для человеков, iptables\nftables - для машин. В той портянке, что на типовой ноде наавтогенерилась - ты один черт, не разберешься - она меняется как бы не быстрее, чем ты до конца долистаешь ).
> При этом Zonebased firewall предназначен для систем с более, чем 1 интерфейсом.Почему это? Например, ноутбук бывает в разных местах и ему полезны разные профили для разных сетей. У той же Ubuntu с ufw это придется делать через костыли.
насколько я вижу в ufw
не сложно создавать профили,
причем тут есть и 3 предустановленных,
которые можно и редактировать..
но кто ж это из юзеров умеет, даже при наличии документации ))
> реализованного в форме обвязки над пакетными фильтрами nftables и iptablesИ чем оно отличается от 100500 других "фаерволов"?
ufw default deny incoming
ufw allow sshкак-то куда проще, чем сабж.
Где взять для Linux элементарный Personal Firewall с GUI? Чтобы это ловило все попытки любых приложений лезть в сеть и покказывало диалог для решений пользователя "пущать или не пущать". Скучаю по виндовым персональным файрволам из 2005 года.
вот попробуйте - https://github.com/evilsocket/opensnitch
непритязательно, умеет в eBPF фильтры, работает много где
Ну, вообще - в репозитории твоего дистрибутива, но можно и отсюда:
https://github.com/evilsocket/opensnitch
Оно, кнешн, примерно как все остальное (не)работает и вообще - "жалкое подобие левой руки"(ТМ) даже по сравению с WF, не говоря уж об Outpost'е (Царствие ему небесное!) - но хотя бы пытается решать вот эту задачу.
Это тебе в KDE.https://invent.kde.org/plasma/plasma-firewall
Раньше выглядело так:
https://i0.wp.com/www.omgubuntu.co.uk/wp-content/uploads/202...
оно лучше ufw?
Для дома или old-school standalone-сервера да. Для всякой энтерпрайзятины\контейнерятины - нет, можно сказать "не подходит". Для сколько-нибудь сложных случаев в общем не годится ни то, ни другое.
на десктопе локалхост,
стоит ufw и конечно никаких сверх задач не исполняет.
видимо смысла менять на ЭТО никакого (?)
> на десктопе локалхост,
> стоит ufw и конечно никаких сверх задач не исполняет.
> видимо смысла менять на ЭТО никакого (?)Ага. Если на десктопе же окажется еще вот и docker то уже дискуссионно, оно там вроде через ufw-docker hook подключалось или еще как-то калично - проще нафиг отключить, на десктоп-десктопе-то...