The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск межсетевого экрана firewalld 2.3.0

05.11.2024 22:11

Сформирован выпуск динамически управляемого межсетевого экрана firewalld 2.3, реализованного в форме обвязки над пакетными фильтрами 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.

Ключевые изменения:

  • Добавлена настройка StrictForwardPorts, управляющая генерацией правил перенаправления сетевых портов (DNAT).
  • Добавлен сервис для aseqnet, клиент-серверного приложения для взаимодействия с секвенсором ALSA по сети.
  • Добавлен сервис для медиаплеера MPD (Music Player Daemon).
  • Добавлен сервис для протокола Radsec (RFC-6614), позволяющего использовать протокол RADIUS поверх TCP и TLS.
  • Добавлен сервис для системы SlimeVR, собирающей данные с датчиков для отслеживания движения тела в системах виртуальной реальности.


  1. Главная ссылка к новости (https://github.com/firewalld/f...)
  2. OpenNews: Выпуск межсетевого экрана firewalld 2.2.0
  3. OpenNews: Доступны межсетевые экраны OpenSnitch 1.6.0 и firewalld 2.0
  4. OpenNews: Опубликован межсетевой экран приложений Portmaster 1.0
  5. OpenNews: Выпуск интерактивного межсетевого экрана TinyWall 2.0
  6. OpenNews: Выпуск пакетного фильтра nftables 1.1.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62183-firewalld
Ключевые слова: firewalld, firewall
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (68) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.21, Аноним (21), 07:59, 06/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Для тех кто не понимает зачем нужна эта прослойка iptables и nftables работаю... большой текст свёрнут, показать
     
     
  • 2.25, мяв (?), 09:39, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    nftables тоже вполне себе декларативный.
    посмотрите синтаксис .nft файлов.
    потому, реальным плюсом является только предоставление dbus-интерфейса.
     
     
  • 3.66, Максим Тисаев (-), 21:52, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Кто может подсказать - в современных версиях KDE прямо в "Параметрах системы" есть графический файрвол. Там под капотом firewalld или что-то еще?
     
  • 2.36, Соль земли (?), 11:06, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы сказал проще - вводит понятие зоны. По факту это отдельные цепочки правил iptables. Пакет попадает в зону, например, в зависимости от IP источника.
     
  • 2.62, Аноним (62), 17:04, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как он определяет на каком порту работает сервис?
     
     
  • 3.63, нейм (?), 17:08, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    через пачку предустановленных xml, которые ты можешь дополнить своими кастомными вариантами
     
     
  • 4.70, Аноним (62), 06:34, 08/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Откуда они могут знать, на каком порту мне нужно запускать сервисы?

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

     
     
  • 5.72, нейм (?), 10:08, 08/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Откуда они могут знать, на каком порту мне нужно запускать сервисы?

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

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

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

     

  • 1.1, Аноним (1), 23:11, 05/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Субъективно очень неудобная штука. После ufw команды firewall-cmd, казалось, объявили принципу наименьшего удивления войну
     
     
  • 2.12, Аноним (12), 01:19, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я даже не понял, почему она в RedHat-based Distros нужна, с одной стороны не сильно упрощает, с другой стороны на серверах вызывает инциденты в неожиданных местах.
     
     
  • 3.18, мяв (?), 04:20, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    потому что там до определенного момента был iptables и fwd жизнь действительно упрощал, при том, предоставляя чуть больше возможностей, чем "открыть/закрыить портек", в отличии oт ufw.
    а если сейчас его выкинуть - перестанет наполную мощность работать nm и прочий дистрибутивный стек, у админов сломаются конфиги и они расхотят платить за подписку.
     
  • 3.31, Аноним (31), 10:43, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Упрощает, в смысле - простота хуже воровства. Когда нужно сделать что-то чуть более сложное - всё усложняется на порядки. А если надо отладить - это становится закатом Солнца вручную. Была бы эта штука критической важности, то имело бы свою инфраструктуру, интегрированную в ядро, а не мешало работать с nftables.
     
     
  • 4.57, User (??), 07:56, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы на серверах руками делаете на fw что-то "более сложное" - скорее всего, вы делаете полную бнопню, извините. А вот с автоматикой, которая делает это "более сложное" - всякими доскерами, куберами, cni и тэ дэ firewalld, в отличие от handmade-портянок - не конфликтует.
     
     
  • 5.67, Аноним (31), 22:45, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Девособаки - неосиляторы? Планировать надо от требований ИБ, а не против них. А firewalld - это имитация.
    Если уж на то пошло, то нужно юзать коммерческий настоящий фаервол для виртуализированных сред в целях микросегментации сетей, а не эту игрушку. У нее черным по белому в доке написано - для рабочих станций и простых инсталляций.
     
     
  • 6.71, User (??), 07:52, 08/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Девособаки - неосиляторы? Планировать надо от требований ИБ, а не против них.
    > А firewalld - это имитация.
    > Если уж на то пошло, то нужно юзать коммерческий настоящий фаервол для
    > виртуализированных сред в целях микросегментации сетей, а не эту игрушку. У
    > нее черным по белому в доке написано - для рабочих станций
    > и простых инсталляций.

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

     
  • 2.20, 1001й глаз (?), 07:51, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, хренакс "firewall-cmd --remove --service=ssh" и не зайти на сервер даже из локальной сети.
     
     
  • 3.29, Nureke (?), 10:09, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С чего это вдруг

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

     
     
  • 4.39, Star_Hobbit (ok), 13:53, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а зачем? правило ж в риалтайм добавили - без --permanent
     
     
  • 5.40, Аноним (40), 15:09, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    значит после ближайшей перезагрузки доступ опять появится!
     
  • 3.61, Аноним (61), 11:44, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А если сделать

    rm -rf --no-preserve-root

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

     
  • 3.76, Аноним (76), 04:16, 10/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Разрешите докопаться

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

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

     

  • 1.2, Аноним (2), 23:18, 05/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >при создании правил отталкивается не от IP-адресов, сетевых интерфейсов и номеров портов, а от названий служб

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

     
     
  • 2.35, Аноним (31), 10:51, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Рич-правила" это то, против чего создавался firewalld, то ради чего была принесена в жертву отладка пакетов. Не говоря о том, что помимо синтаксиса nftables надо еще учить синтаксис firewalld. И это выдвигается как достоинство firewalld? В таком свете firewalld - это лишняя сущность.
     
     
  • 3.41, Аноним (40), 15:22, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    зачем 99 админов достаточно знать пяток команд firewall-cmd из всего списка ... большой текст свёрнут, показать
     
     
  • 4.44, Аноним (31), 16:01, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И не говорите, ужасный синтаксис. То ли дело, json поправил и перезалил. Ничего, скоро напишут надстройку над firewalld на dotnet или deno, чтобы все эти команды дёргало.
    Группе подсетей назначить группу портов? А отладить по счётчикам и доказать смежникам, что проблема не на вашей стороне. А выявить проблему на вашей стороне? А когда туда ещё добавляется какой-нить crowdsec, sshguard или fail2ban? Как искать, где собака порылась?
    Это поделие еще и в RHCSA присутствует.


     
  • 4.68, Аноним (31), 22:46, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Достаточно одного квалифицированного админа, а не десятка девособак.
     
     
  • 5.75, нах. (?), 11:36, 09/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    квалифицированные не хотят мараться об nft

     
  • 4.74, нах. (?), 11:36, 09/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    проблема ваших поделок именно в том, что у вас ВСЕ примеры - "не самые лучшие с точки зрения безопасности".

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

     

  • 1.3, Аноним (3), 23:33, 05/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Необходимость создания "упрощающих прослоек" -- показатель непрофессионализма проектирования nftables. Или их правильнее называть narcotables?
     
     
  • 2.6, Аноним (2), 00:01, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ну, справедливости ради, синтаксис iptables
     
     
  • 3.7, Аноним (2), 00:02, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    тоже с первого раза не всякий осилит.
    А там, как мы помним, важны всякие чейны в определенной последовательности, иначе работать не будет.
     
     
  • 4.48, Аноним (31), 17:21, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так и зампием - девособаки не умеют в пакетные фильтры.
     
  • 2.13, WE (?), 02:38, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    во-первых императивное описание конфигурации это как бы лет 15 уже не рекомендованный метод, поэтому для систем оркестрации желателен демон. И он достаточно не простой, по сравнению с утилиткой ufw.
    во-вторых синтаксис у nftables действительно упоротый, как-то читаемо там только в json.
     
     
  • 3.15, мяв (?), 04:01, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    в чем упоротый?
    вот в iptables - да, грусть, даже на дебиан fwd ставила.
    когда nftables появился - начала руками конфиги писать, проблем нет.
    читается, можно сказкть, как текст, за исключением некоторых моментов.
     
     
  • 4.22, anonim11 (?), 08:21, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну,вот не надо ля-ля, синтаксис nft после iptables просто мрак и тлен. а что качаемо firewalld - ненужно оно, вот от слова совсем.
     
     
  • 5.26, мяв (?), 09:40, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    в чем тлен, еще раз спрашиваю?
    по-моему, норм.
     
     
  • 6.28, anonim11 (?), 10:00, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    лапша, а не удобоваримый синтаксис, вот в чём.
    открыть или закрыть порт - может и норм, но вот вешать всякие коннтраки и коннлимиты через этот жесон - ну, его, спасибо, лучше мы как нибудь дидовскими чейнами и таблицами разрулим.
     
  • 6.33, Аноним (31), 10:45, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да не осилил он, вот и плюётся. Ему важно херачить, а не получить результат. Отладка ему не нужна.
     
  • 5.58, User (??), 08:05, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, как бы это сказать? У iptables _ВООБЩЕ_ нет "синтаксиса" - есть пачка флагов команды, а так чтобы нормальный dsl для описания правил - так это вам куда-нибудь в ipfw или хотя бы в pf. В nft хотя бы попытались, да.
     
  • 2.17, мяв (?), 04:08, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    праильно, даешь жирные парсеры, юзерское апи и сервисоонованные биндинги прям в ядро!
    мало нам lpe в nftable'вском апи, даешь исполнение на уровне ядра через дырявый парсер конфигов!!
     
  • 2.47, Аноним (31), 17:18, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Прошу не обобщать и не путать с профнепригодностью неосиляторов.
     
  • 2.52, Мухорчатый (?), 20:44, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    странно, что тебя минусуют.
    nftables действительно заставляет рыдать.
     
  • 2.56, Анониссимус (?), 00:01, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Всё it построено на прослойках. Ты же программы пишешь не в опкодах процессора? Вот и nft тебя никто не заставляет использовать напрямую.
     

  • 1.4, Аноним (4), 23:54, 05/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Безопасный фаерволл на python управляемый через D-Bus? Что может пойти не так..
     
     
  • 2.5, Аноним (2), 00:00, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    это не совсем файрволл - это скорее управляющая прослойка НАД файрволлом.
     
     
  • 3.8, Аноним (2), 00:05, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    или же, если говорить правильней - просто еще один уровень абстракции.
    Для чего он создан? Для упрощения.
    Никто вам не запрещает писать напрямую правила iptables\nftables!
     
     
  • 4.9, Аноним (9), 00:34, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Почему ты все время отправляешь по два сообщения вместо одного?
     
     
  • 5.14, тпаываы (?), 02:42, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    мту маленький, не влезает
     
     
  • 6.42, Аноним (40), 15:24, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    мое увлажнение Вам!
    сразу видно руку мастера.
     
  • 4.16, мяв (?), 04:03, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    и для предоставления адекватного апи.
    в современном мире никто бинари дергать не будет, чтобы правила посмотреть/добавить/убрать.
    к ним зачастую даже доступа не будет, будет к пиру на шине.
     
     
  • 5.19, Алексей (??), 07:23, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    API есть - libnftnl, только это не то что curl-ом дергают. HTTP API это лишь одна из разновидностей.

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

     
     
  • 6.24, мяв (?), 09:38, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    какое http api? Вы вообще о чем?
    >libnftnl

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

     
  • 4.34, Аноним (31), 10:48, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это как в автомобиле рулевое колесо заменить на джойстик - проще, но нефункционально.
     

  • 1.37, Аноним (37), 13:14, 06/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Подскажите пожалуйста, как проще всего на локальном ПК запретить все сетевые соединения, после чего разрешить через белый список ходить в интернет только браузеру, медиаплееру, чатику и пакетному менеджеру?

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

     
     
  • 2.38, Аноним (38), 13:30, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Portmaster. Не знаю, насколько это просто, но оно работает.
     
     
  • 3.55, Аноним (31), 21:47, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это же контроль порта, а не приложения.
     
  • 2.45, Аноним (31), 16:09, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Запускать в отдельных namespace и рулить пакетным фильтром в каждом namespace.
     
     
  • 3.50, Аноним (50), 18:14, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А никак нельзя так чтобы просто в конфиге прописать пути к нужным бинарникам, а всё остальное не пускать?
     
     
  • 4.65, Аноним (62), 17:14, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пути пишутся в cgrules.d

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

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

     
  • 3.53, Мухорчатый (?), 20:46, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Он прочил "чем проще", а не грабельно-костыльное минное поле
     
     
  • 4.54, Аноним (31), 21:47, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Другая альтернатива - контейнеры. namespaces - будут проще и легче. Ему надо контролировать приложение, а не порт.
     
  • 3.64, Аноним (62), 17:10, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Запускать в отдельных cgroup net_cls. По net_cls в nftables есть селектор.

     
  • 2.51, Аноним (51), 19:15, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    opensnitch
     
  • 2.60, Аноним (60), 09:35, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а зачем? троян всё равно в браузере, медиаплейере и чатике, а вместо пакетного менеджера у нас теперь вон те две штуковины, похожие на докер, в которых свои трояны
     
     
  • 3.69, Аноним (31), 22:48, 07/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    SElinux?
     
  • 3.73, Аноним (73), 14:01, 08/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >а зачем?

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

     

  • 1.46, Самый Лучший Гусь (?), 16:35, 06/11/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можно ли как-то прикрутить BPF к нему для увеличения производительности?
     
     
  • 2.49, Аноним (31), 17:23, 06/11/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чем производительность nftables не устраивает?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру