The OpenNET Project / Index page

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

Доступны межсетевые экраны OpenSnitch 1.6.0 и firewalld 2.0

24.06.2023 09:41

Опубликован выпуск проекта OpenSnitch 1.6, развивающего открытый аналог проприетарного динамического межсетевого экрана Little Snitch. Приложение позволяет в интерактивном режиме контролировать сетевую активность пользовательских приложений и блокировать нежелательный сетевой трафик. Код проекта написан на языке Go (GUI на Python и PyQt5) и распространяется под лицензией GPLv3. Для установки подготовлены пакеты в форматах rpm и deb.

OpenSnitch выводит пользователю диалог с предложением принять решение о продолжении сетевой операции или блокирования сетевой активности, в случае обнаружения попыток установки приложениями сетевых соединений, не подпадающих под ранее установленные разрешения. Программа позволяет задавать правила доступа, в которых можно учитывать приложения, пользователей, целевые хосты и сетевые порты. Доступ может предоставляться как на постоянной основе, так и ограничиваться только текущим процессом или сеансом работы пользователя.

OpenSnitch также позволяет настраивать пакетный фильтр через графический интерфейс, вести статистку сетевой активности приложений и журналировать выполненные блокировки. При этом через один централизованный интерфейс можно управлять настройками и блокировками для нескольких компьютеров. Поддерживается подключение наборов правил для блокирования рекламы, кода для отслеживания посещений и вредоносного ПО.

В основе OpenSnitch лежит написанный на языке Go фоновый процесс opensnitchd, который выполняется с правами root и взаимодействует с очередью пакетов Netfilter (libnetfilter-queue), вносит изменения в правила nftables и отслеживает сетевой трафик (libpcap). Лог работы процесса сохраняется в файле /var/log/opensnitchd.log, а база правил фильтрации размещается в /etc/opensnitchd/rules, правила хранятся в формате JSON. Отдельно в непривилегированном режиме выполняется интерфейс пользователя, который написан на языке Python 3 с использованием PyQt5.

В новой версии:

  • В графическом интерфейсе появилась возможность настройки правил системного пакетного фильтра и политик доступа.
  • Добавлена поддержка интеграции с внешними платформами управления безопасностью (SIEM, Security information and event management) и системами мониторинга.
  • Улучшено определение имён процессов, файловых путей и пиктограмм приложений.
  • Улучшена интеграция с системными DNS-резолверами и клиенсткими DNS-библиотеками.
  • Добавлена поддержка расширенных правил фильтрации, позволяющих учитывать новые протоколы, сетевые интерфейсы, исходные порты и IP-адреса.
  • Добавлена поддержка импорта и экспорта правил для переноса настроек на другие системы через графический интерфейс.
  • Улучшена интеграция с пользовательскими окружениями.
  • Улучшен интерфейс централизованного управления другими хостами.



Дополнительно можно отметить выпуск динамически управляемого межсетевого экрана firewalld 2.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-config (GTK) и апплет firewall-applet (Qt). Поддержка управления межсетевым экраном через D-BUS API firewalld имеется в таких проектах, как NetworkManager, libvirt, podman, docker и fail2ban.

Присвоение номера версии 2.0 связано с внесением изменений, нарушающих обратную совместимость и устраняющих проблему с обработкой правил, предписывающих обработку входящих пакетов только в привязке к одной зоне в ситуации пересечения диапазонов адресов с другими зонами (если диапазоны адресов в зонах перекрывались, то пакет мог попадать в несколько зон, в обход заданных правил).

Другие изменения:

  • Добавлена поддержка использования в nftables механизма выбора пути перенаправления пакетов flowtable, позволяющего существенно увеличить производительность перенаправления трафика.
  • Добавлена поддержка установки разных приоритетов для зон, позволяющих управлять порядком попадания пакетов в зоны.
  • Добавлена настройка NftablesCounters для использования счётчиков пакетов nftables.
  • Добавлены сервисы для поддержки Zabbix Java Gateway и Zabbix Web Service.
  • Добавлены сервисы c поддержкой игр Minecraft, 0AD, anno 1602, anno 1800, Civilization IV, Civilization V, factorio, Need For Speed: Most Wanted, Stellaris, Stronghold Crusader, Super Tux kart, Terraria, Zero K и Settlers.
  • Добавлен сервис для OpenTelemetry (OTLP).


  1. Главная ссылка к новости (https://github.com/evilsocket/...)
  2. OpenNews: Выпуск межсетевого экрана firewalld 1.3
  3. OpenNews: Опубликован межсетевой экран приложений Portmaster 1.0
  4. OpenNews: Выпуск интерактивного межсетевого экрана TinyWall 2.0
  5. OpenNews: В рамках проекта OpenSnitch развивается динамический межсетевой экран для Linux
  6. OpenNews: Открыт код Douane, динамического межсетевого экрана для Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59336-opensnitch
Ключевые слова: opensnitch, firewall
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, void (??), 10:09, 24/06/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.2, Moomintroll (ok), 10:16, 24/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >  Код проекта написан на языке Go (GUI на Python и PyQt5)

    Давно мучаюсь вопросом... Гошечка вроде может использовать сишные либы. Почему на Go не делают GUI на GTK/Qt/etc?

     
     
  • 2.3, Аноним (3), 11:52, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Не может А ещё сделать наоборот проблематично Поэтому го мертворождённая подел... большой текст свёрнут, показать
     
     
  • 3.5, Аноним (5), 12:36, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уяи матчасть: https://tip.golang.org/blog/cgo
     
     
  • 4.6, Аноним (3), 12:40, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо. А как насчёт разобраться, почему я прав?
     
     
  • 5.15, Аноним (15), 16:05, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Доказывать что-то человеку, оперирующему понятиями "мертворождённая поделка" и "околомёртвый хайпожорский эзотерический ЯП" не представляется возможным
     
     
  • 6.16, Аноним (3), 16:32, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что такое? Правда глаза колет?
     
  • 6.49, scriptkiddis (?), 21:03, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я не оперирую такими терминами. Мне расскажешь? Интересно узнать.
     
     
  • 7.62, филателист (?), 08:21, 29/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    не знаю что хотел сказать вывешиватель вывесок про мертворождённость, от себя могу сказать, что на highload fastapi(одна из быстрейших либ python) даёт где-то в полтора раза меньше rps, чем go при реализации одного и того же сервиса. А их обоих, как детей, делает так нелюбимый здесь webflux(java). Проводили эксперименты, знаем.
    Так что, что хотел сказать автор посыла, сказать затруднительно.
     
  • 3.18, Аноним (18), 18:25, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >пытающаяся потеснить питон в вебе

    похоже вы программирование только на ютюбе видели...

     
     
  • 4.19, Аноним (3), 19:09, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну смотри, откровения, раз ты тоже учился по ютубу Ничего против не имею, смотр... большой текст свёрнут, показать
     
  • 2.4, anonist (?), 12:27, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Почему не делают, вполне себе делают, просто не так много, как на остальных языках. У них даже есть свой фреймфорк для мобилок.
     
     
  • 3.7, Аноним (3), 13:02, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это на го и "не так много, как на остальных языках", серьёзно? Кстати, уже "даже есть фреймфорки для мобилок" на жс. Толку то с того.
     
     
  • 4.9, анонист (?), 13:45, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Это на го и "не так много, как на остальных языках", серьёзно?

    Go воспринимают в основном как инструмент для вэбни и в косвенно связанных с этим областях, нежели как десктоп.
    > Кстати, уже "даже есть фреймфорки для мобилок" на жс. Толку то с того.

    Хз, лучше спрашивать у его разработчиков это.

     
  • 2.8, Аноним (8), 13:10, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А давай посмотрим что у нас этими GUI библиотеками Qt - плюсовый, с вытекающей ... большой текст свёрнут, показать
     
     
  • 3.56, Аноним (56), 18:17, 27/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Каких Вить?
     
  • 2.31, leap42 (ok), 05:43, 25/06/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Начнём с того что Qt это C++ и к Си отношения не имеет вообще. Биндинги для GTK есть (gotk3), но сам GTK не сказать что что-то приятное, да и полноценно работает он только в Linux. А desktop приложеньки для Linux в принципе вещь супер маргинальная, так ещё и в эпоху Electron и Qt выбирать не их странно.
     

  • 1.17, COBA (?), 17:25, 24/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А может кто пояснить. Вот я разрешил протокол ssh в firewalld, а сам сервер ssh повесил на порт 445566. Он сам определит по протоколу или под ssh он понимает конкретно 22 порт?
     
     
  • 2.21, Аноним (21), 21:02, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    сервис это тот же хмл файл в котором написаны порты и тд, так не может.
    Ты или порт свой открывай или напиши свой хмл файл и назови его мой-ссш.
     
  • 2.22, Аноним (22), 21:06, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конкретно 22 порт. Каждый сервис описан в xml файле конфига. Для кастомного ssh порта нужен свой конфиг или руками открывать порт (без описания сервиса).
     
     
  • 3.23, Аноним (22), 21:08, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну вот... опоздал) с телефона не перепроверил(
     
  • 2.27, Аноним (27), 23:05, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +9 +/
    >сервер ssh повесил на порт 445566

    Будь уверен, к нему никто не получит доступ, ни при каких обстоятельствах.

     
     
  • 3.43, Пряник (?), 11:32, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Он гипотетически выражался. Но да, для повышения образованности стоит упомянуть, что максимальный порт ограничен размером integer.
     
     
  • 4.61, минона (?), 22:50, 28/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хе-хе.

    Размер номера порта ограничен uint16, т.е. 64K. Через это - боль и страдания, когда требуется больше соединений между двумя точками.

     
  • 2.48, Аноннейм (?), 14:35, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    firewall-cmd --permanent --add-port=22/tcp

    Достаточно удобная штука особенно для всяких скриптов автоматизации

     

  • 1.25, Аноним (25), 22:33, 24/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Когда будут пакеты в openSUSE Tumbleweed? Куда писать-жаловаться?
     
     
  • 2.28, Аноним (27), 23:09, 24/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В Спортлото
     
     
  • 3.29, Аноним (25), 00:40, 25/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Пробовал. Не помогло. Есть еще варианты?
     
     
  • 4.35, Аноним (15), 15:03, 25/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не сдавайся. Пиши еще раз, будь настойчив.
     

  • 1.26, Анонус (?), 22:54, 24/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А что, этот Little Snitch прям так хорош, что потребовалось делать его открытый клон?
     
     
  • 2.36, Аноним (15), 15:05, 25/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На вкус и цвет. Попробуй.
     
  • 2.47, Аноним (47), 13:49, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Напомнил мне по скриншоту Comodo Firewall. Во времена WinXP пользовался им. Полный контроль над соединениями.
     

  • 1.30, noc101 (ok), 02:25, 25/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    OpenSnitch 1.6 крутая прога, жаль написана программистом, без опыт UI
    Когда же в Линуксе начнут делать софт для людей, а не для программистов(
     
     
  • 2.32, leap42 (ok), 05:45, 25/06/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так делайте сами. В этом же вся мяготка. Не хотите - возьмите готовое (macOS каокой-нибудь). А тут всегда будет как есть 😁
     
     
  • 3.38, noc101 (ok), 01:00, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Так делайте сами. В этом же вся мяготка. Не хотите - возьмите
    > готовое (macOS каокой-нибудь). А тут всегда будет как есть 😁

    Ну вот так и будет Линукс в догоняющих, пока такие как ты будут.

     
     
  • 4.50, scriptkiddis (?), 21:09, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но ты будешь жаловаться но не писать. Зачем нам такие в линуксах?
     
     
  • 5.53, noc101 (ok), 23:23, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Но ты будешь жаловаться но не писать. Зачем нам такие в линуксах?

    Тебя спросить забыл.

     
  • 2.33, Jh (?), 07:05, 25/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Когда начнут в Т.З. писать: "сделать софт для людей"
     
     
  • 3.40, User (??), 07:33, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы ограничился первой частью: "Когда начут ТЗ писать" - а там, лет через несколько и "для людей" подтянется само собой )
     
     
  • 4.59, noc101 (ok), 00:16, 28/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Я бы ограничился первой частью: "Когда начут ТЗ писать" - а там,
    > лет через несколько и "для людей" подтянется само собой )

    40 лет жду(

     
  • 2.34, Sergey (??), 11:18, 25/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    1. Юзерам это вообще не нужно.
    2. Не понятно зачем админам Хгуй, они что двмают кто то держат на серваках х ?
     
     
  • 3.39, noc101 (ok), 01:01, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > 1. Юзерам это вообще не нужно.

    Нужно! И админ тоже юзер! Админу приятно в удобном интерфейсе работать!
    > 2. Не понятно зачем админам Хгуй, они что двмают кто то держат
    > на серваках х ?

    Был бы админом или близко к этому, то знал бы, что админы не только в консоле работают. Вообще админы разные бывают.


     
  • 3.41, User (??), 07:42, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Гм. Строго наоборот - это нужно именно что юзерам и именно что на десктопе.
    На сервере правила сетевого взаимодействия обычно достаточно строго определены и в случае сколько-нибудь приличной системы зафиксированы в эксплуатационной документации.
    А вот что именно и в какой момент из околодесктопной бабуйни полезет в интернет после очередного обновления ("Мамой клянус! Для улушения дектоп экспириентц, юзер фриендлинесс еула-аваре телеметри, на которую ты сам согласился нажав ассепт два года назад!") тебе не то, что "юзер" - тебе ни один админ не скажет, и вот иметь возможность (не) сказать "Стопэ!" в моменте - сильно лучше, чем пускать все и даже чем "запрещать все" а потом пытаться разобраться, почему вооон то, что вроде как позавчера работало - сегодня работать отказывается.
     
     
  • 4.45, Пряник (?), 11:44, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > в случае сколько-нибудь приличной системы зафиксированы в эксплуатационной документации

    нет

     
     
  • 5.46, User (??), 13:34, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что, и в проектной - тоже нет? \Горько вздыхает\ Ну нет, так нет - что я, спорить буду? \уходит заниматься неприличными системами\
     
  • 2.57, Аноним (56), 18:22, 27/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А софт делают для программистов?
     
     
  • 3.58, noc101 (ok), 00:15, 28/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да
     

  • 1.37, Аноним (37), 21:00, 25/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите, firewalld умеет блокировать исходящие подключения? Без direct rules, только на встроенных возможностях.
     
     
  • 2.55, Массоны Рептилоиды (?), 12:16, 27/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, только через direct
     

  • 1.44, Пряник (?), 11:41, 26/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошо, хоть не электрон. Но и так понятно, что это всё прототип. Серьёзные вещи только на Си\Си++ пишут, либо на ассемблере (не шутка, Си реально в ассемблер сначала перегоняет).

    Скорее особенность firewalld в введении новой сущности - зоны.

     
     
  • 2.51, scriptkiddis (?), 21:15, 26/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Си реально в ассемблер сначала перегоняет

    Точно не в язык рептилоидов?

     
     
  • 3.54, Пряник (?), 10:06, 27/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    gcc --save-temps myprogram.c -o myprogram

    1. Сначала обрабатывает #define #ifdef #include команды препроцессором, на выходе получаем новые исходники на Си
    2. Перегоняет Си в ассемблер
    3. Перегоняет ассемблер в машинный код
    4. Линкует код (тут пока не разобрался ещё, вроде как ссылки на функции проверяет/меняет)

     
     
  • 4.60, Аноним (60), 11:02, 28/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не верно. Си перегоняется в AST, потом перегоняется в IR компилятора (к примеру LLVM IR) и дальше из него после оптимизаций генерируется машинный код. Учи матчасть.
     
     
  • 5.63, Пряник (?), 09:45, 29/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Не верно. Си перегоняется в AST, потом перегоняется в IR компилятора (к
    > примеру LLVM IR) и дальше из него после оптимизаций генерируется машинный
    > код. Учи матчасть.

    AST - это синтаксический анализ. Не знаю насчёт Си, но есть утилиты для подсветки синтаксиса, которые это используют AST вместо регулярок.

    Про LLVM не знаю ничего, возможно он часть пункта перегона в ассемблер. И этот код ассемблера можно даже отдельно скомпилировать через gas (GNU Assembler) и потом слинковать через ld, как и случайный код ассемблера из интернета.

     

  • 1.52, Аноним (-), 21:58, 26/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Накатил из deb пакета OpenSnitch v1.6.0 на Debian 12.0 Bookworm, вроде работает, настраивается, но гдето через час система зависла.
     

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



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

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