URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 135257
[ Назад ]

Исходное сообщение
"Выпуск межсетевого экрана firewalld 2.3.0 "

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

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62183


Содержание

Сообщения в этом обсуждении
"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 07:59 
Для тех кто не понимает зачем нужна эта прослойка...

iptables и nftables работают с цепочками обработки пакетов в модуле netfilter, а этот файрволл порождает гуманитарную абстракцию работающую в сочетании с NetworkManager, которая смотрит на:
- сервисы,
- зоны,
- интерфейсы и соединения NM
В сочетании с возможностью задавать конфигурацию через D-Bus и полностью декларативным форматом конфигурации он является рабочим решением для организации файрволла на конечном сервере, на котором не меняются сетевые параметры.

Мы жертвуем гибкостью netfilter в угоду удобства оркестрации под конкретный набор задач. Ну, то есть, если вам нужно сделать виртуальный файрволл+роутер то firewalld нужно будет удалить, потому что он будем мешать.

UFW, кстати, - это то же самое, только сильно упрощенное и более подходящее для рабочих станций и виртуальных серверов с одним сетевым интерфейсом.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено мяв , 06-Ноя-24 09:39 
nftables тоже вполне себе декларативный.
посмотрите синтаксис .nft файлов.
потому, реальным плюсом является только предоставление dbus-интерфейса.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Максим Тисаев , 07-Ноя-24 21:52 
Кто может подсказать - в современных версиях KDE прямо в "Параметрах системы" есть графический файрвол. Там под капотом firewalld или что-то еще?

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Соль земли , 06-Ноя-24 11:06 
Я бы сказал проще - вводит понятие зоны. По факту это отдельные цепочки правил iptables. Пакет попадает в зону, например, в зависимости от IP источника.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 07-Ноя-24 17:04 
Как он определяет на каком порту работает сервис?

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено нейм , 07-Ноя-24 17:08 
через пачку предустановленных xml, которые ты можешь дополнить своими кастомными вариантами

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 08-Ноя-24 06:34 
Откуда они могут знать, на каком порту мне нужно запускать сервисы?

Ну, а вручную xml писать какое-то сомнительное удовольствие, даже по сравнению с nft.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено нейм , 08-Ноя-24 10:08 
> Откуда они могут знать, на каком порту мне нужно запускать сервисы?

Если ты запускаешь сферический http сервер, порты очевидны и дефолтные прописаны (а точнее - вероятнее даже просто протянуты http/https протоколы). Хочешь нестандартную настройку — пишешь сам. Про полную поддержку любых сервисов никто и не говорил.

> Ну, а вручную xml писать какое-то сомнительное удовольствие, даже по сравнению с nft.

Да, полная хрень, каждый раз плююсь.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 05-Ноя-24 23:11 
Субъективно очень неудобная штука. После ufw команды firewall-cmd, казалось, объявили принципу наименьшего удивления войну

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 01:19 
Я даже не понял, почему она в RedHat-based Distros нужна, с одной стороны не сильно упрощает, с другой стороны на серверах вызывает инциденты в неожиданных местах.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено мяв , 06-Ноя-24 04:20 
потому что там до определенного момента был iptables и fwd жизнь действительно упрощал, при том, предоставляя чуть больше возможностей, чем "открыть/закрыить портек", в отличии oт ufw.
а если сейчас его выкинуть - перестанет наполную мощность работать nm и прочий дистрибутивный стек, у админов сломаются конфиги и они расхотят платить за подписку.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 10:43 
Упрощает, в смысле - простота хуже воровства. Когда нужно сделать что-то чуть более сложное - всё усложняется на порядки. А если надо отладить - это становится закатом Солнца вручную. Была бы эта штука критической важности, то имело бы свою инфраструктуру, интегрированную в ядро, а не мешало работать с nftables.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено User , 07-Ноя-24 07:56 
Если вы на серверах руками делаете на fw что-то "более сложное" - скорее всего, вы делаете полную бнопню, извините. А вот с автоматикой, которая делает это "более сложное" - всякими доскерами, куберами, cni и тэ дэ firewalld, в отличие от handmade-портянок - не конфликтует.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 07-Ноя-24 22:45 
Девособаки - неосиляторы? Планировать надо от требований ИБ, а не против них. А firewalld - это имитация.
Если уж на то пошло, то нужно юзать коммерческий настоящий фаервол для виртуализированных сред в целях микросегментации сетей, а не эту игрушку. У нее черным по белому в доке написано - для рабочих станций и простых инсталляций.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено User , 08-Ноя-24 07:52 
> Девособаки - неосиляторы? Планировать надо от требований ИБ, а не против них.
> А firewalld - это имитация.
> Если уж на то пошло, то нужно юзать коммерческий настоящий фаервол для
> виртуализированных сред в целях микросегментации сетей, а не эту игрушку. У
> нее черным по белому в доке написано - для рабочих станций
> и простых инсталляций.

Угу. Firewalld, сталбыть, имитация, а bashпортянко (Шоб уж совсем-Ъ!) с правилами в legacy-синтаксисе, делающая "чуть более сложное"(ТМ) (Главное потом суметь "смежникам"(ТМ) доказать, чтоэтонеты - ну или быстро-быстро поправить, а потом уже "доказать"(ТМ)) - самая что ни на есть "информационная безопасность"(ТМ) и есть, ясно-понятно.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено 1001й глаз , 06-Ноя-24 07:51 
Ага, хренакс "firewall-cmd --remove --service=ssh" и не зайти на сервер даже из локальной сети.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Nureke , 06-Ноя-24 10:09 
С чего это вдруг

а кто будет делать "firewall-cmd --reload"


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Star_Hobbit , 06-Ноя-24 13:53 
а зачем? правило ж в риалтайм добавили - без --permanent

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 15:09 
значит после ближайшей перезагрузки доступ опять появится!

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 07-Ноя-24 11:44 
А если сделать

rm -rf --no-preserve-root

будет ещё интереснее.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 10-Ноя-24 04:16 
Разрешите докопаться

- Если локальная сеть будет в зоне trust, то правила не будут применяться. Там уже стоит ACCEPT по умолчанию на все входящие
- Правила будут применться к новым соеденениям(ct state { established, related } accept), текущая ssh сессия будет работать
- У firewalld есть опция --persistent. Команды без нее не сохраняться постоянно. Так что всегда можно откатить, ну или на худой конец перезагрузить комп
- У firewall-cmd есть опции timeout(или как-то так), которые отменят команду через заданное время. Вполне подходит для любителей заблокиновать ssh

В вот в чем firewalld однозначно плох, так это поддержка ipv6. MASQURADE, port forwading извольте писать через rich syntax(по сути nft)


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 05-Ноя-24 23:18 
>при создании правил отталкивается не от IP-адресов, сетевых интерфейсов и номеров портов, а от названий служб

Дайте угадаю, вы ведь ни разу не пользовались "firewall-cmd"?
Как бы, никто не запрещает вам создавать правила\открывать порты tcp\udp напрямую.
И даже больше - можно создавать "рич правла", прямо в формате iptables\nftables.
Просто для упрощения, есть некий предустановленный список сервисов(с умолчательными портами), а вы в новости вывели это прям как некую аксиому.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 10:51 
"Рич-правила" это то, против чего создавался firewalld, то ради чего была принесена в жертву отладка пакетов. Не говоря о том, что помимо синтаксиса nftables надо еще учить синтаксис firewalld. И это выдвигается как достоинство firewalld? В таком свете firewalld - это лишняя сущность.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 15:22 
>надо еще учить синтаксис firewalld

зачем?
99% админов достаточно знать пяток команд firewall-cmd из всего списка ( https://firewalld.org/documentation/man-pages/firewall-cmd.html ):
--add-***
--remove-***
--list-all
--reload
и не забывать про опцию " --permanent"

Ну и при первичном поднятии сервера надо один раз настроить интерфейсы - распределить по предустановленным зонам("home"\"public") и "--add-masquerade"

Не самый лучший пример с точки зрения безопасности, но все же наглядный:

firewall-cmd --zone=public --add-port=12345/tcp
firewall-cmd --zone=public --remove-port=12345/tcp

firewall-cmd --zone=public --add-forward-port=port=3389:proto=tcp:toport=3389:toaddr=192.168.1.1
firewall-cmd --zone=public --remove-forward-port=port=3389:proto=tcp:toport=3389:toaddr=192.168.1.1


порт можете прописывать любой, не обязательно RDP-шный ;)

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 16:01 
И не говорите, ужасный синтаксис. То ли дело, json поправил и перезалил. Ничего, скоро напишут надстройку над firewalld на dotnet или deno, чтобы все эти команды дёргало.
Группе подсетей назначить группу портов? А отладить по счётчикам и доказать смежникам, что проблема не на вашей стороне. А выявить проблему на вашей стороне? А когда туда ещё добавляется какой-нить crowdsec, sshguard или fail2ban? Как искать, где собака порылась?
Это поделие еще и в RHCSA присутствует.



"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 07-Ноя-24 22:46 
Достаточно одного квалифицированного админа, а не десятка девособак.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено нах. , 09-Ноя-24 11:36 
квалифицированные не хотят мараться об nft


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено нах. , 09-Ноя-24 11:36 
проблема ваших поделок именно в том, что у вас ВСЕ примеры - "не самые лучшие с точки зрения безопасности".

Сделай-ка мне в качестве самого примитивного образца - простой белый список для подключений к ssh. Я сказал - ssh, а не всей зоны public, там кроме него есть другие сервисы!


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 05-Ноя-24 23:33 
Необходимость создания "упрощающих прослоек" -- показатель непрофессионализма проектирования nftables. Или их правильнее называть narcotables?

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 00:01 
ну, справедливости ради, синтаксис iptables

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 00:02 
тоже с первого раза не всякий осилит.
А там, как мы помним, важны всякие чейны в определенной последовательности, иначе работать не будет.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 17:21 
Так и зампием - девособаки не умеют в пакетные фильтры.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено WE , 06-Ноя-24 02:38 
во-первых императивное описание конфигурации это как бы лет 15 уже не рекомендованный метод, поэтому для систем оркестрации желателен демон. И он достаточно не простой, по сравнению с утилиткой ufw.
во-вторых синтаксис у nftables действительно упоротый, как-то читаемо там только в json.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено мяв , 06-Ноя-24 04:01 
в чем упоротый?
вот в iptables - да, грусть, даже на дебиан fwd ставила.
когда nftables появился - начала руками конфиги писать, проблем нет.
читается, можно сказкть, как текст, за исключением некоторых моментов.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено anonim11 , 06-Ноя-24 08:21 
ну,вот не надо ля-ля, синтаксис nft после iptables просто мрак и тлен. а что качаемо firewalld - ненужно оно, вот от слова совсем.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено мяв , 06-Ноя-24 09:40 
в чем тлен, еще раз спрашиваю?
по-моему, норм.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено anonim11 , 06-Ноя-24 10:00 
лапша, а не удобоваримый синтаксис, вот в чём.
открыть или закрыть порт - может и норм, но вот вешать всякие коннтраки и коннлимиты через этот жесон - ну, его, спасибо, лучше мы как нибудь дидовскими чейнами и таблицами разрулим.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 10:45 
Да не осилил он, вот и плюётся. Ему важно херачить, а не получить результат. Отладка ему не нужна.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено User , 07-Ноя-24 08:05 
Ну, как бы это сказать? У iptables _ВООБЩЕ_ нет "синтаксиса" - есть пачка флагов команды, а так чтобы нормальный dsl для описания правил - так это вам куда-нибудь в ipfw или хотя бы в pf. В nft хотя бы попытались, да.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено мяв , 06-Ноя-24 04:08 
праильно, даешь жирные парсеры, юзерское апи и сервисоонованные биндинги прям в ядро!
мало нам lpe в nftable'вском апи, даешь исполнение на уровне ядра через дырявый парсер конфигов!!

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 17:18 
Прошу не обобщать и не путать с профнепригодностью неосиляторов.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Мухорчатый , 06-Ноя-24 20:44 
странно, что тебя минусуют.
nftables действительно заставляет рыдать.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Анониссимус , 07-Ноя-24 00:01 
Всё it построено на прослойках. Ты же программы пишешь не в опкодах процессора? Вот и nft тебя никто не заставляет использовать напрямую.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 05-Ноя-24 23:54 
Безопасный фаерволл на python управляемый через D-Bus? Что может пойти не так..

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 00:00 
это не совсем файрволл - это скорее управляющая прослойка НАД файрволлом.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 00:05 
или же, если говорить правильней - просто еще один уровень абстракции.
Для чего он создан? Для упрощения.
Никто вам не запрещает писать напрямую правила iptables\nftables!

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 00:34 
Почему ты все время отправляешь по два сообщения вместо одного?

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено тпаываы , 06-Ноя-24 02:42 
мту маленький, не влезает

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 15:24 
мое увлажнение Вам!
сразу видно руку мастера.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено мяв , 06-Ноя-24 04:03 
и для предоставления адекватного апи.
в современном мире никто бинари дергать не будет, чтобы правила посмотреть/добавить/убрать.
к ним зачастую даже доступа не будет, будет к пиру на шине.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Алексей , 06-Ноя-24 07:23 
API есть - libnftnl, только это не то что curl-ом дергают. HTTP API это лишь одна из разновидностей.

Бинари дергать - а в современном мире и не такую дичь творят - запускают curl из python. Зато не на bash!?!


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено мяв , 06-Ноя-24 09:38 
какое http api? Вы вообще о чем?
>libnftnl

это библиотека .. апи - это когда запрос на сокет шлешь и за тебя все делают .. не когда твое приложение в системные кишки лезет рулить


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 10:48 
Это как в автомобиле рулевое колесо заменить на джойстик - проще, но нефункционально.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 13:14 
Подскажите пожалуйста, как проще всего на локальном ПК запретить все сетевые соединения, после чего разрешить через белый список ходить в интернет только браузеру, медиаплееру, чатику и пакетному менеджеру?

Чем проще тем лучше.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 13:30 
Portmaster. Не знаю, насколько это просто, но оно работает.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 21:47 
Это же контроль порта, а не приложения.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 16:09 
Запускать в отдельных namespace и рулить пакетным фильтром в каждом namespace.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 18:14 
А никак нельзя так чтобы просто в конфиге прописать пути к нужным бинарникам, а всё остальное не пускать?

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 07-Ноя-24 17:14 
Пути пишутся в cgrules.d

Тогда их после запуска даже вручную cgrulesengd перенесёт в cgroup, которой разрешена сеть.

Там конфиг в три строчки плюс два правила nftables.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Мухорчатый , 06-Ноя-24 20:46 
Он прочил "чем проще", а не грабельно-костыльное минное поле

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 21:47 
Другая альтернатива - контейнеры. namespaces - будут проще и легче. Ему надо контролировать приложение, а не порт.

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 07-Ноя-24 17:10 
Запускать в отдельных cgroup net_cls. По net_cls в nftables есть селектор.


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 19:15 
opensnitch

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 07-Ноя-24 09:35 
а зачем? троян всё равно в браузере, медиаплейере и чатике, а вместо пакетного менеджера у нас теперь вон те две штуковины, похожие на докер, в которых свои трояны

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 07-Ноя-24 22:48 
SElinux?

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 08-Ноя-24 14:01 
>а зачем?

Затем чтобы в интернет ходили только те приложения, которым это явно разрешено, а не "кто угодно входи-выходи, у нас двери нараспашку".


"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Самый Лучший Гусь , 06-Ноя-24 16:35 
Можно ли как-то прикрутить BPF к нему для увеличения производительности?

"Выпуск межсетевого экрана firewalld 2.3.0 "
Отправлено Аноним , 06-Ноя-24 17:23 
Чем производительность nftables не устраивает?