Предложены для тестирования наработки проекта OpenSnitch (https://www.opensnitch.io/), в рамках которого развивается открытый аналог проприетарного динамического межсетевого экрана Little Snitch (https://www.obdev.at/products/littlesnitch/index.html). Приложение позволяет в интерактивном режиме контролировать сетевую активность пользовательских приложений и блокировать нежелательный сетевой трафик. Код проекта написан на языке Go (GUI на Python и PyQt5) и распространяется (https://github.com/evilsocket/opensnitch) под лицензией GPLv3.
При обнаружении попыток установки приложением сетевых соединений, не подпадающих под ранее установленные разрешения, OpenSnitch выводит пользователю диалог с предложением принять решение о продолжении сетевой операции или блокирования сетевой активности. Программа позволяет создавать достаточно гибкие правила доступа, позволяющие учитывать приложения, пользователей, целевые хосты и сетевые порты. Разрешения могут создаваться как на постоянной основе, так и ограничиваться только текущим процессом или сеансом работы пользователя. OpenSnitch также позволяет вести статистку сетевой активности приложений и выполненных блокировок.В основе OpenSnitch лежит написанный на языке Go фоновый процесс opensnitchd, который выполняется с правами root и взаимодействует с очередью пакетов через Netfilter (libnetfilter-queue), вносит изменения в правила iptables и отслеживает сетевой трафик (libpcap). Лог работы процесса сохраняется в файле /var/log/opensnitchd.log, а база правил фильтрации размещается в /etc/opensnitchd/rules, правила хранятся в формате JSON. Отдельно в непривилегированном режиме выполняется интерфейс пользователя, который написан на языке Python 3 с использованием PyQt5. Интерфейс взаимодействует с управляющим процессом через unix-сокет с использованием протокола gRPC.
URL: https://github.com/evilsocket/opensnitch
Новость: https://www.opennet.dev/opennews/art.shtml?num=48517
Я правильно понимаю что этой штукой можно пользоваться в качестве fiddler?
какие аналоги fiddler можете посоветовать?
Charles
wireshark. Правда придется 1 раз разобраться.. А так там есть фильтр всего что он ловит. Пишешь туда "https" и все.Кажись ловит https даже из хрома. Я не помню уже
> Кажись ловит https даже из хрома. Я не помню ужеИз чего угодно ловит. Если ключи дашь.
>SnitchНазвание-то какое... мерзкое.
Лучше стучать, чем перестукиваться! (с)С другой стороны, название напрямую объясняет суть приложения, это редкость.
Интересно, а есть ли у этого слова позитивный оттенок. Мне кажется что оно имеет омерзительный смысл всегда и везде, но я не специалист, не лингвист. Я это слово слышал исключительно в смысле "крыса", но никогда в хорошем смысле если таковой имеется.
Есть. В Хогвартсе.
А?
https://en.wikipedia.org/wiki/Quidditch#Game_progression
если silent mode будет нормально работать, то круто да, а счас мне пока что лень такое иметь в линуксе.
Если вам нужен silent mode -- настройте iptables и радуйтесь.
> Если вам нужен silent mode -- настройте iptables и радуйтесь.Лучше контейнеры, канители меньше. Например вообще не настраивать рабочую сеть в дефолтном неймспейсе и явно вгонять в недефолтный тех кому сеть вообще нужна. Дешево и сердито. И обойти это для программы довольно проблематично. Ну то-есть если программа запускается от рута и притащит искусственный интеллект который ей сеть настроит - она это конечно обойдет. Но такие программы мне не попадались, да и под рутом я запускать программы не люблю. А CAP_NET_ADMIN на дороге все же не валяется.
Выглядит вкусно. Надо пробовать.
Кушайте да не обляпайтесь... Вот уж дурацкая формулировка - "вкусно"
Я тоже не понимаю. У немцев растпространено про технологии или технику говорить "sexy". Изврещенцы долбаные!
У аудиофилов всё ещё сложнее. Например "контрабас звучит угловато"
или "терпкий колорит старинных народных ладов"
Вероятно, всё это из-за голода, ведь голод не тётка?
Нет, это от синестезии. Это такая странность, которая у некоторых случается в запущенном варианте, у большинства же она чуть ли не на подпороговом уровне работает. Нейросетки -- они такие: дёргаешь один вход, а уровни возбуждения меняются чуть ли не на всех нейронах.
> Вероятно, всё это из-за голода, ведь голод не тётка?Голод не тетка - он мужского рода.
автор коммента писал про тётку, не про тетку
> автор коммента писал про тётку, не про теткуНу тогда и предложение надо было начинать с заглавной буквы и заканчивать точкой.
Вот именно: говорить "полово(е)(я)" о технике -- это настоящие извращенцы.Вот только получается, что они её отыметь хотят, а вы -- сожрать. Что лучше?
Пока ещё нет. Нужно переписать на С и опакетить.
нужен такой фаревол, который сканирует адресную строку браузера и разрешает коннекты и днс запросы только к тем адресам, которые ввёл пользователь!
> нужен такой фаревол, который сканирует адресную строку браузера и разрешает коннекты и
> днс запросы только к тем адресам, которые ввёл пользователь!Ты хоть представляешь себе, как выглядит современная веб-страничка?!.. :) Да там сотня-полторы ссылок на всякие CDNы и иже с ними... У тебя тогда почти ничего работать не будет!
Не фиг тянуть контент с третьих сайтов- там в основном реклама и слежка!
ваши бы слова да нашим братьям меньшим в уши.
> Не фиг тянуть контент с третьих сайтов- там в основном реклама и
> слежка!Ставишь RP https://requestpolicycontinued.github.io/ , например, или какой ни-то uMatrix или как там , в нём включаешь по умолчанию не ходить никуда, кроме домена страницы и... готовишься узнавать о своих самых обчных и привычных сайтах типа опеннета много "неосновного". Делов-то.
Правда, исследователи "интернетов" обнаруживают всё новые путя, которыми разработчики броузеров "отдают" тебя своим друзьям-монетизаторам. Следить за Новостями тоже надо. Половина HTTP, udp-websocket-ы, css-програмляние по тюрингу, ... ... ... Гугль, Микрософт, Фейсбук работают. АНБ, Моссад, ZOG, рептилоиды довольны.
Направление развития выбрано неверно. Ну, может, следующая цыливизация... )
> Правда, исследователи "интернетов" обнаруживают всё новые путя, которыми разработчики
> броузеров "отдают" тебя своим друзьям-монетизаторам. Следить за Новостями тоже надо.
> Половина HTTP, udp-websocket-ы, css-програмляние по тюрингу, ... ... ... Гугль,
> Микрософт, Фейсбук работают. АНБ, Моссад, ZOG, рептилоиды довольны.А тем, кто не доволен, советую бороться за отмену государства. Оное отменить нельзя, зато оно само отомрёт за ненадобностью при полной победе коммунизма.
А пока вас будут иметь описанные Андрюшенькой конторки, да.
>>.. ... ... Гугль,
>> Микрософт, Фейсбук работают. АНБ, Моссад, ZOG, рептилоиды довольны.
> А тем, кто не доволен, советую бороться за отмену государства.Из перечисленного мной к "государству" отосятся хоть как-то анб и моссад.
"--Пал Андреич, Вы антисемит!?"
> Оное отменить
> А пока вас будут иметь описанные Андрюшенькой конторки, да.
Кое-что можно смягчить через Decentraleyes и некоторые китайские поделки-аддоны, они там примерно тем же озабочены, только всерьез и надолго. :)
Дополнение uMatrix делает то же самое, но средствами браузера.
И у него куча пользователей, которые сами настраивают правила про эти CDN'ы.
Сам пользуюсь и не испытываю проблем. Но браузеру доверять не очень хочется. Лучше бы это файрвол делал.
есть uMatrix, замечательный фаервол для браузера и выполняет как раз эту функцию
uMatrix для браузера конечно хорош!Остальные приложения можно заблокировать с помощью брандмауера, но если разрешены днс запросы для браузера,то и остальные приложения шлют от себя запросы к днс серверу, что я считаю не очень хорошо
pluckeye так может, но только вкупе с браузерным расширением
Когда я был маленький и глупый, мне тоже нравились такие штуки. Outpost Firewall 1.0 долго пользовался. Но то были времена диалапа, когда не было принято, чтобы каждая программа лезла в сеть, и уже тогда количество вопросов утомляло.
> Когда я был маленький и глупый, мне тоже нравились такие штуки. Outpost
> Firewall 1.0 долго пользовался. Но то были времена диалапа, когда не
> было принято, чтобы каждая программа лезла в сеть, и уже тогда
> количество вопросов утомляло.А что изменилось: поглупели или стали слишком старым, чтобы задуматься об безопасности и смерти?
Поумнел и понял, что к безопасности это никакого отношения не имеет.
> А что изменилось: поглупели или стали слишком старым, чтобы задуматься об безопасности
> и смерти?Он стал большим и с раздолбанными отверстиями, вестимо, поэтому ему скрывать (уже) нечего.
Уходите с винды, в линуксе с этим проще
Так давно уже. Но вот и сюда эту бестолковину зачем-то пытаются притащить в очередной раз.
> Когда я был маленький и глупый, мне тоже нравились такие штуки. Outpost Firewall 1.0 долго пользовался. Но то были времена диалапа, когда не было принято, чтобы каждая программа лезла в сеть, и уже тогда количество вопросов утомляло.Однако работало оно тогда банальным инжектом своей DLL в процесс и хуками на виндовые API в либах процесса (если мне не изменяет память – подменяя адреса в таблице экспортируемых адресов загруженных системных DLL) и обходилось тривиальнейшим образом – парсим экспорты DLL самостоятельно и получаем "реальные" адреса функций, вызов которых совершенно не ловится "Огнестеной".
Это если захотелось развлечься, т.к. можно просто вызвать штатный браузер с нужными параметарми+URL или инжектить в него свою DLLку для слива инфы.В общем, ловило оно (и вся подобная мишура, типа ZoneAlarm) только тех, кто не особо прятался ;-)
Откуда инфа? Насколько я помню, брандмауэр использовал штатный виндовый механизм pluggable protocol (не помню, как точно называлось), т.е. ставил свой драйвер, реализующий сокеты. Этот их драйвер-перехватчик после фильтрации перенаправлял вызовы штатному драйверу.
Это, кстати, имело некоторые побочные эффекты. В винде была возможность вызывать ReadFile с хэндлом сокета. Не помню, это официально разрешалось или это была недокументированная возможность. Так вот, после установки Outpost Firewall это больше не работало.
> Откуда инфа? Насколько я помню, брандмауэр использовал штатный виндовый механизм pluggable
> protocol (не помню, как точно называлось), т.е. ставил свой драйвер, реализующий
> сокеты. Этот их драйвер-перехватчик после фильтрации перенаправлял вызовы штатному драйверу.От Оли. Обходил прямо в ней ;)
Однако, вполне допускаю за давностью лет (~2003 +- год), что это все же вполне могла быть и "грозная" защита от инжекта кода в процесс из белого списка (т.е. браузер).
Еще оно когда-то ловилось на кастомных путях в импортах (можно было "импортировать" DLLку из интернета, прописав ее адрес) но это пофиксили достаточно быстро :)А вообще, еще году в ~2008 не все из топа "суперзащитников" перекрывали не слишком тривиальные пути инжектов – например, OpenProcess/WriteProcessMemory/CreateRemoteThread в чужой процесс прилежно отлавливали, однако вполне можно было делать хитрые финты ушами типа SuspendThread, SetThreadContext (REG1 = Content1, REG2 = ..., IP = "mov dword ptr [REG1], REG2); JMP-2", ResumeThread.
Благо найти нужную последовательность пары опкодов в какой нибудь системной DLLке абсолютно не проблема.Еще, абсолютно не отлавливались (в том числе и антивирями – возможно, разве что в режиме "параноик") разные манипуляции с собственным чайлд-процессом. Вангую, что из-за распространененности всяких разных защит от "крякеров".
Чему все киддисы и не только они, были очень рады, т.к. это позволяло достаточно просто расшифровывать (и перезаписывать) экзешники прямо в памяти (причем, даже c помощью VB6), уже после проверки антивирем при запуске.
Метода (RunPE,http://web.archive.org/web/20120328114901/http://www.securit... ) известна с 2004, широко применялась с конца 2005, имеет весьма специфичную последовательность АПИ вызовов, но вариации с использованием NtFooBar API прокатывали на всех антивирях и прочих защитниках даже десять лет спустя.
> Это, кстати, имело некоторые побочные эффекты. В винде была возможность вызывать ReadFile
> с хэндлом сокета. Не помню, это официально разрешалось или это была недокументированная возможность.Обращение к наружному серверу Webdav (через Create/ReadFile и UNC путь) прокатывало как минимум до ~2015 года (это я в последний раз тыкал все палочкой в Comodo, Outpost и Kaspersky).
У касперского еще можно быле через виндовы DNS сервис "сливать инфу". Тыкал чисто из любопыства, на демо-триал-версиях.Вообще, если интересно, можно заглянуть сюда:
http://www.matousec.com/projects/proactive-security-challeng...
даже "топы топов" там ловили далеко не все:
http://www.matousec.com/projects/proactive-security-challeng...ЧСХ: cама страничка была доступна как минимум с ~ 2006, тесты с сорцами можно было скачать тоже достаточно давно (да и нет там ничего излишне мудреного), но закрывать дыры никто из торговцев змеиным маслом ^W^W "сикурностью" особо не стремился.
1)Возможно, мы недопоняли друг друга. Я имел в виду старый добрый Outpost Firewall, еще когда его не превратили в комбайн с антивирусом и проактивной защитой. Не думаю, что в функции файервола входила защита от инжекта и прочие вещи, которыми должна заниматься ОС или антивирус.2)Я говорил не о Create/ReadFile с UNC путями до наружных серверов, а
SOCKET sock = socket(AF_INET, ...);
ReadFile(sock, ...);
> 1)Возможно, мы недопоняли друг друга. Я имел в виду старый добрый Outpost
> Firewall, еще когда его не превратили в комбайн с антивирусом и
> проактивной защитой. Не думаю, что в функции файервола входила защита от
> инжекта и прочие вещи, которыми должна заниматься ОС или антивирус.Погуглил, ресурс с обсуждением к сожалению "канул в Лету".
Точно могу сказать, что было это где-то в 2002 +- год, тема была "обход" файерволов и Аутпост уже тогда загружала свою DLL в память каждого запущенного процесса, манипулируя таблицы экспортов.
И ЕМНИП, оно (да и ZA) уже в ~2001 позиционировалось как "защита от злобных хакеров и троянов":
https://web.archive.org/web/20011024152805/http://outpostfir.../
> It gives peace of mind from any threats by Cookies, Ads, E-mail viruses, Backdoors, Spyware, Crackers, Adware and virtually every other Internet danger.https://web.archive.org/web/20020223233858/http://www.outpos...
> It gives peace of mind from any threats by Cookies, Ads, E-mail viruses, Backdoors, Spyware, Crackers, Adware and virtually every other Internet danger. This is the first firewall that supports plug-ins so its capabilities can easily be extended.
> Version - 1.0.1125 Release Candidate 1Т.е. еще до того, как маркетологи решили обозвать все это "проактивной защитой" ;)
> SOCKET sock = socket(AF_INET, ...);Можешь вгрузить LD_PRELOAD'ом либу которая на это -1 возвращает, если делать нефиг. Это своеобразный способ обломить всяким умникам сеть, но он работает. И мало кто ожидает такое западло.
Неужели. 2018. Очередная попытка сделать нормальный фаерволл для приложений.
Там в заголовке всплывающего диалогового окна написано "opensnitch-qt v1.0.0b" о каком "нолрмальном" фаерволе ты говоришь? Он сделан мутантами для мутантов которым "и так сойдет".
Так все делается. Скажи спасибо что не на php написано..
Возможность фильтровать по pid была в iptables лет 15 назад, но была настолько ненужной, что ее давно выкинули. С тех пор появилось несколько вариантов контейнеров, которые решают задачу изоляции приложения куда лучше. Но некоторые всё никак не могут преодолеть синдром утенка.
Ага, ну будем пилить изоляцию между процессами, а будем пилить контейнеры, которые не для безопасности(со слов разработчиков), а "удобства" управления. И при этом находятся одаренные, которые их используют для "изоляции"
Контейнеры и разработчики бывают разные. Например есть openvz который уже много лет хостерами используется как раз для изоляции. И в отличии от какого-нибудь Xen об уязвимостях в нем слышно редко.
Также стоило бы понимать, что есть изоляция от действий приложения и изоляция от действий человека. Это две большие разницы. С первым отлично справится и docker.
> Ага, ну будем пилить изоляцию между процессами, а будем пилить контейнеры, которые
> не для безопасности(со слов разработчиков), а "удобства" управления.И таки кроме всего прочего они весьма удобно могут выпустить в сеть, или наоборот заизолировать, те или иные программы. Или даже выпустить программу в какую-то очень отдельную сеть, специально для нее созданную.
И, кстати, это может например справиться и с ситуацией когда фаер еще не инициализирован или его правила почему-то не вгрузились. Например, прога может не получить сеть пока все что связано с настройкой сети не отработает. И хрен прога это оспорит.
Т.е. ты предлагаешь пихать каждое приложение в контейнер, вместо того чтобы один раз нормально настроить файрвол? Да ты просто гений.
Можешь не пихать в контейнер, достаточно запихать в cgroup. Одноимённый модуль в iptables в наличии.
Я вот как-то за пару десятилетий не могу припомнить случая, когда мне бы был нужен фаервол уровня приложений. Так что для меня загадка, что ты там хочешь нормально настроить и чем не устраивает обычный фаервол. Однако я понимаю, что если действия какого-то приложения мне будут не по нраву, то я не захочу ограничиваться только фаерволом, а предпочту полноценную песочницу.Чисто из любопытства, а чем поможет фаервол приложений, если приложение для действия воспользуется вызовом другой программы, например curl?
> Я вот как-то за пару десятилетий не могу припомнить случая, когда мне бы был нужен фаервол уровня приложений.Данная ваша "позиция" влияет на общую ситуацию и вы, обманув себя, обманываете других.
Следующий ваш вброс:> Возможность фильтровать по pid была в iptables лет 15 назад, но была настолько ненужной, что ее давно выкинули
является ложью, т.к. удалили вовсе не из-за того что она была ненужной, а потому что ее реализацией нашли проблему (я не буду описывать все детали - слишком легко отделаетесь). Я тщательно изучал этот вопрос, т.к. в отличии от пользователей, мне такой функционал очень бы не помешал.
PS: Продолжая вашу логику я могу вам продолжить вашу позицию: зачем нужна возня с контейнерами когда есть виртуалки. Я предпочитаю полноценную виртуалку вместо контейнеров.
> Данная ваша "позиция" влияет на общую ситуацию и вы, обманув себя, обманываете других.Ну так раскрой же нам правду, расскажи, зачем такой фаервол нужен.
> удалили вовсе не из-за того что она была ненужной, а потому что ее реализацией нашли проблемуЯ тебе сейчас раскрою одну из тайн мироздания. Когда находят проблему в чем-то нужном - исправляют проблему. Когда проблему находят в чем-то ненужном, это ненужное выкидывают. Догадайся с трех раз, в какую из двух категорий попадала фильтрация по pid.
> PS: Продолжая вашу логику я могу вам продолжить вашу позицию: зачем нужна возня с контейнерами когда есть виртуалки.Значительно меньшее потребление ресурсов, проще взаимодействие. При этом в данной задаче никакого преимущества виртуалка не имеет, только недостатки.
> никакого преимущества виртуалка не имеет, только недостатки.Изоляция в случае виртуалки все же покрепче чем в случае контейнера. Ядро изначально не делалось под контейнеры, поэтому неизбежно есть довольно много острых краев где что-то может пойти не так. А "злобный юзерь" (потенциально - хаксор) скармливает сисколы прямо системному ядру host. И если что-то пойдет не так и ядро удастся одурачить - поимеют прямо хоста. Что как бы далеко не лучший вариант развития событий на свете.
А в случае виртуалки - даже если там одурачат ядро, хост виртуалке изначально полностью не доверяет, код в ней доступа к железу не имеет, не может произвольные вызовы фигачить, и вообще. Только то что гипервизор изволит. Ну это в теории. На практике конечно же одурачить можно и гипервизор иной раз. Но в целом гипервизоры (даже встроенные в ядро) обычно изначально делают под недружественное окружение, а виртуализатору и ядру хоста не надо транслировать свой внутренний мир в представление виртуалки, так что многие краевые случаи отпадают сами собой просто из-за иной абстракции. Да, могут появиться новые баги - в виртуальной железке или virtio каком. Но в целом это несколько менее стремные абстракции. С точки зрения "а насколько это просто взять и надурить?"
Титеретикам предлагается посмотреть сколько раз за последние годы обнаруживались способы подломить xen(виртуалка), а сколько openvz(контейнеры). Начать можно с соседней новости. Также они могут зайти на любого хостера, использующего openvz, и попробовать его взломать, после чего доложить о результатах. Предлагать взломать solaris zones даже не буду, боюсь титеретики про них не слышали.
Теорию тоже неплохо бы подтянуть, особенно на тему "код в ней доступа к железу не имеет".
Ну и наконец освоить понятие контекста и понять, что значит "в данной задаче", после чего перестать рассказывать про злобных хацкеров, когда речь идет об изоляции приложения.
> Титеретикам предлагается посмотреть сколько раз за последние годы обнаруживались способы
> подломить xen(виртуалка), а сколько openvz(контейнеры).Практики читают тематические рассылки и форумы. И знают, что к каждому второму эксплойту Linux Kernel - приписка что "у нас-де есть приватный сплойт VZ, но здесь мы вам его не дадим". Потому что скрипткидисы тут же все разворотят, а профита авторам сплойта ноль.
Это даже если забыть о том факте что команда делающая VZ тупит, поэтому в VZшном ядре может болтаться энное количество широко известных CVE неопределенное время. Xen хрен его знает, я KVMом пользуюсь. В нем дыр умеренно, патчат вовремя. В майнлайне известные дыры долго не живут, да и в майнтайнерских/LTSных ядрах тоже. И не надо фикшеное ядро туповйэтить месяцами.
> Начать можно с соседней новости.
Это про нового спектра? И как, его уже запатчили в VZшных ядрах? Все 8? Или надо полгодика подождать, сидючи с широко известной дыренью класса "полный пэ", как обычно у VZ?
> Также они могут зайти на любого хостера, использующего openvz, и попробовать его взломать,
Так для этого надо сначала зайти на черный рынок и купить приватный сплойт. Нахаляву VZшные эксплойты особо не дают. Традиция такая.
> после чего доложить о результатах.
А там есть что-то ценное, чтобы окупить коммерческий сплойт? А то виртуалок можно нарезать и просто купив у хецнера дедик за копье и нарезав его. За это в отличие от - в кутузку не упакуют, так что круто шифроваться не придется. За стоимость VZшного сплойта можно довольно долго аренду дедика оплачивать.
> Предлагать взломать solaris zones даже не буду, боюсь титеретики про них не слышали.
А практики тупо не найдут с ними хост в интернете. А так ты и мой LD_PRELOAD не сломаешь, но не потому что офигенно безопасный, а просто потому что не ожидаешь такого западла. А был бы он на миллионе хостов - на черно-серых рынках на него быстренько бы склепали воркэраунд.
На именно VZ - все есть, но обычно за денежку и достаточно увесистую.
> Теорию тоже неплохо бы подтянуть, особенно на тему "код в ней доступа к железу не имеет".
В случае KVM/Qemu это в основном таки обычный user-mode процесс. И напрямую он в железо хоста слазить - ну вообще совсем не того. Ему тут же exception прилетит от проца за такое поползновение. А то что гипервизор может вмешаться и в каких-то сильно отдельных случаях приврать что нечто все-таки сработало - уже на усмотрение гипервизора.
Еще виртуалка не может фигарить сисколы ядра напрямую. А покормить ядро г-ном через сисколы достаточно перспективно. Если храбрый - запусти fuzzer сисколов на одном из VZ контейнеров. Правда если у тебя в результате подохнет весь хост - я таки не несу ответственности за ущерб репутации и проч, ты должен был знать на что шел.
> Ну и наконец освоить понятие контекста и понять, что значит "в данной
> задаче", после чего перестать рассказывать про злобных хацкеров, когда речь идет об изоляции приложения.Ну во первых, требования к изоляции приложения тоже могут быть разные. Какие-то приложения долбают больше, какие-то меньше. С разным уровнем технологий атак в процессе. Во вторых, OVZ для этого использовать вообще жоский мазохизм. Ибо сразу +20 к геморрою майнтенанса системы, за сам факт. В этом плане даже докер поганый будет сильно лучше. По крайней мере он запустится на стандартном ядре дистра и там не будет пачка известных vuln месяцами висеть.
> Т.е. ты предлагаешь пихать каждое приложение в контейнер, вместо того чтобы один
> раз нормально настроить файрвол? Да ты просто гений.Можно 1 раз настроить отсутствие сети в дефолтном неймспейсе и рабочую сеть в недефолтном. И потом в него пускать тех кому сеть явно нужна. При том это можно оформить alias-ами и шорткатами на десктопе. Да и загон в контейнер - звучит страшно, но набрать 1 команду никто не разваливался. Какая разница, с контейнером или без? Разница в нескольких набираемых буковках. Или слегка отредактированном ярлыке. Или что там у тебя.
А бонусом - можно взять штуку типа firejail. И не только с сетью разобраться, но и кучу иных левых поползновений зарубить. Ну вот например, читалке PDF решительно нечего делать в кишках системы. Не требуется это для чтения PDF. А сервису VPN совершенно ни к чему иметь возможность что-то делать в юзеровском /home. Это ему тоже совершенно не требуется для работы. И без чтения пдфки он, определенно, обойдется. Как и без доступа к большинству системных утилит.
Как бы системная безопасность только сетью не заканчивается, а программы работающие с сетью - кандидаты номер 1 на то чтобы им доступ порубать. Потому что они - крайние. И получат первую пулю от хакеров. Очень кстати если хакер при этом все-таки не получит полный доступ и встрянет по какой-нибудь веселой причине. Вплоть до отсуствия ls в представлении системы и неработы большинства сисколов связанных с ФС, потому что например сетевой программе это было ни к чему.
> Возможность фильтровать по pid была в iptables лет 15 назад, но была
> настолько ненужной, что ее давно выкинули. С тех пор появилось несколько
> вариантов контейнеров, которые решают задачу изоляции приложения куда лучше. Но некоторые
> всё никак не могут преодолеть синдром утенка.поделитесь скриптом для запуска "скайпа/телеграма" в контейнере ?
а вариант с динамической настройкой правил со списком "программка ломилась туда-то" только через просмотр логов iptables?
> поделитесь скриптом для запуска "скайпа/телеграма" в контейнере ?Мне это никогда не было нужно, так что не поделюсь. А что, есть какие-то проблемы с этими приложениями для "домохозяек"? Там же должна быть тривиальная установка.
> а вариант с динамической настройкой правил со списком "программка ломилась туда-то" только через просмотр логов iptables?
Вы так говорите, как будто это что-то плохое.
> Неужели. 2018. Очередная попытка сделать нормальный фаерволл для приложений.На Go с выходом на Python? Вы же пошутили, признайтесь.
Использую vuurmuur все устраивает да конечно gui примитивный без доп описаний как в Outpost но работает как по мне все же время экономит для настройки хотя и в консоли можно правила iptables писать но лениво.
Хорошая штука, но по процессам он же всё-равно не умеет фильтровать.
Выглядит страшненько.
не прошло и двадцати лет, как в линуксе начали появляться user-friendly файрволы
>файрволыпишите с андройда, небось?
>>файрволы
> пишите с андройда, небось?вкусно одев пальто
>пишите с андройда, небось?Садись, два, «граммарнаци».
прочитал "OpenSwitch", уж надеялся на открытую прошивку для нинтенды
> прочитал "OpenSwitch", уж надеялся на открытую прошивку для нинтендыА я - на аналог JunOS, например (:
>А я - на аналог JunOS, например (:Зачем вам еще один VyOS
>диалог с предложением принять решение
>правила доступа, в которых можно учитывать приложенияДА, ЧЕРТ ПОБЕРИ, ДА. Интересно, как реализуется второе. Спам групповыми политиками?
> Интересно, как реализуется второе.Да оборжака просто: https://github.com/evilsocket/opensnitch/blob/master/daemon/...
Вообще не об этом вопрос был.
> Вообще не об этом вопрос был.А о чём? Как фильтрация работает? Ну так NFQUEUE уже много лет как существует для этого. Хотя эти, конечно, могли и что-то более извращённое придумать.
Чем оно отличается от OPNsense и IPFire? Объясните для совсем непонятливых.
А мне вспомнился Гарри Поттер и Квиддич. :)
> А мне вспомнился Гарри Поттер и Квиддич. :)Поттер любит изоляцию сети BPFом и у него вся магия прописывается в конфиг юнита.
> написан на языке Go (GUI на Python и PyQt5)Надо было сразу на электроне фигачить.
>> написан на языке Go (GUI на Python и PyQt5)
> Надо было сразу на электроне фигачить.Жаль, что Fortran позабыт. Или даже FORTRAN. Вот на нём бы накропали лучше. А кто скажет, что не получится, тот не познал Чань.
Fortran IV - язык для настоящих мужчин . Уже фортран-77 не то - хипстота.
хорошая альтернатива, консольному iptables
> хорошая альтернатива, консольному iptablespeer guardian есть.
все равно что сказать что "пшшшаудио - альтернатива альсе". Оно основано на иптаблес, как бы. Тут скорее - годная альтернатива gufw, firestarter и прочим
>gufwну это Вы уж совсем планку занизили
Раньше говорили, что ядро не могет такое и проги нужно от разных юзеров запускать. Через 20 лет выясняется, что могет, просто никому не надо было.
Оно как работает то вообще? Прога открывает порт и это событие фиксируется их зондодемоном? А если без порта? =)
> А если без порта?Новое слово в сетевом программировании? Ну давай, покажи свой код "без порта".
> Новое слово в сетевом программировании? Ну давай, покажи свой код "без порта".Например: socket(... SOCK_RAW ...). А что такое "порт" для хотя-бы ICMP?
А ты смоги сначала raw-сокеты или ICMP без рута.
> А ты смоги сначала raw-сокеты или ICMP без рута.Пожалуйста! CAP_NET_ADMIN процессу - и телемаркет. Поэтому он сможет в RAW и конфигурацию сети, но во всем остальном это может быть весьма обрубленый по правам юзерь, который и близко не рут.
> Раньше говорили, что ядро не могет такое и проги нужно от разных
> юзеров запускать. Через 20 лет выясняется, что могет, просто никому не
> надо было.Не могёт. Но с помощью проволоки, синей изоленты, палок и ещё одной субстанции…
Проги от разных юзеров?
Это как?
нужноно судя по коментам выше нужно не только что оно делает, но и инструмент (в том числе с простым режимом клик-клик) для удобного запихивания программки типа "телеграмм" в подконтрольное окружение (контейнер какого-то типа? просто cgroups?)
Очень просто
sudo adduser appsbyfsb
sudo -u appsbyfsb
telegram
> Очень просто
> sudo adduser appsbyfsb
> sudo -u appsbyfsb
> telegramэто всего лишь запуск под отдельным юзером
а где фаервол и требуемая комментариями выше контейнеризация?
> а где фаерволiptables
> и требуемая комментариями выше контейнеризация?Запускай через браузер свои фсбшные зонды, а лучше вообще нигде. В крайнем случае установи в формате snap или flatpak.
>> а где фаервол
> iptablesвозможно есть некий скрипт-обёртка для болеменее автоматического запуска с таким окружением?
>> и требуемая комментариями выше контейнеризация?
> Запускай через браузер свои фсбшные зонды, а лучше вообще нигде. В крайнем
> случае установи в формате snap или flatpak.а как snap или flatpak относятся к контейнеризации? это ж всего лишь "все дебы зависимостей ношу с собой"
> Запускай через браузер свои фсбшные зонды, а лучше вообще нигде.увы мир не такой радужный, и временами требуется
> а как snap или flatpak относятся к контейнеризации?Это изолированные контейнеры.
> это ж всего лишь "все дебы зависимостей ношу с собой"
Это про AppImage.
> увы мир не такой радужный, и временами требуется
Это не скайп. Оно тебе точно не нужно 99%.
> возможно есть некий скрипт-обёртка для болеменее автоматического запуска с таким окружением?Можешь сделать Docker образ со всеми настройками iptables и запускать свой зонд одним кликом в будущем.
> возможно есть некий скрипт-обёртка для болеменее автоматического запуска с таким окружением?В лине такое firejail называется.
> увы мир не такой радужный, и временами требуется
Совсем откровенные зонды лучше в отдельную виртуалку. Не очень наглые - в контейнер.
есть какой-нибудь фаревол, который умеет разрешать днс запросы от одних приложений и блокировать от других?
> есть какой-нибудь фаревол, который умеет разрешать днс запросы от одних приложений и
> блокировать от других?netfilter
Неплохо так. Но мне и голых таблисов хватает
Этому проекту около 5 лет. Что поменялось с того времени? Неужели таки допилили?
> Этому проекту около 5 лет.https://github.com/evilsocket/opensnitch/commit/549af454c456...
с приходом проприетарщины в линукс, такая программа просто необходима.
GUI не юзабелен, ибо отжирает 100% CPU на вкладке с текущими коннектами.Имхо, проще написать какой-нибудь свой велосипед, который бы:
1. просто генерил правила для iptables по дефолту логировать попытки соединений.
2. анализировал эти логи и показывал GUI для создания правил.
3. Писал бы эти правила в iptables.Ну и для интеграции с браузерами для разделения прав для отдельных сайтов достаточно расширения к нему, у которого можно было бы узнать, какой pid вкладку с каким доменом содержит. Там вроде всё просто.
Ну раз так все просто
Ждем этот велик от тебя
фоновый процесс opensnitchd, который выполняется с правами root и
как-то слишком жирно, как по мне - opensnitchd - от имени пользователя opensnitchd, а если нужно что-то поменять, то через скрипты, для которых по полному пути в /etc/sudoers что-то прописано.
Пользователь opensnitchd без шела и пароля.