Контроль исходящих соединений в Debian

Автор sidbar, 21 февраля 2016, 18:34:04

« назад - далее »

0 Пользователи и 5 гостей просматривают эту тему.

sidbar

Поделитесь, пожалуйста, как вы контролируете исходящие соединения, используя систему как десктоп. Смотрел несколько программ, сложно разобраться в настройке. Может кто-нибудь прольет милость?
Devuan GNU/Linux

ihammers

Как вариант можно всё(почти всё) завернуть через proxy (squid). А что вы хотите сделать ограничить доступ программам или что-то другое?
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Malaheenee

#2
Можно контролировать через iptables при помощи совпадения по: владельцу процесса, портам, адресам, длине запроса... Вы скажите что Вам конкретно нужно?

Cообщение объединено 22 февраля 2016, 20:42:09

Цитата: ihammers от 22 февраля 2016, 17:58:39завернуть через proxy (squid)
Это, пожалуй, слишком сильно :)
Все мы где-то, когда-то и в чем-то были новичками.

sidbar

Цитата: ihammers от 22 февраля 2016, 17:58:39Как вариант можно всё(почти всё) завернуть через proxy (squid). А что вы хотите сделать ограничить доступ программам или что-то другое?
squid раньше использовал для экономии трафика, как все разрулить и завернуть может посоветуете почитать что-нибудь, хорошую статейку или поделитесь своими наработуками и настройками? Я хотел бы в первую очередь, сделать визуальный контроль, например окно терминала в котором бы отображались все соединения, в реальном времени, по выбранным портам. Раньше я пользовался гуевой прогой под osx, в ней, при попытке какого-либо приложения или системного сервиса, всплывало окошко, которое предлагало создать правило, временное или постоянное, например, поломился броузер и разрешил для него обращения на 443 порт, больше вопрос не задает, правила можно редактировать, простая программа в настройке.

Цитата: Malaheenee от 22 февраля 2016, 20:39:57Можно контролировать через iptables при помощи совпадения по: владельцу процесса, портам, адресам, длине запроса... Вы скажите что Вам конкретно нужно?
Спасибо, может подскажите, на простом примере как можно это реализовать, или что почитать? Я настроил iptables по мануалам из сети, очень нравятся широкие возможности управления. Но остановило, в изучении, не совсем понимаю как работают некоторые правила, стейты и т.д., доступ открывается по первому обращению программы в сеть, а потом уже идет передача по выделенным портам и как происходит контроль соединений, если к программе нет доверия. Было бы хорошо видеть обмен программ на пакетном уровне, что они присылают от серверов и посылают какие запросы.
Devuan GNU/Linux

Malaheenee

По squid - можно начать отсюда. Статья рассчитана на неопытного читателя, однако в ней как раз рассматривается вариант работы прокси на локальной машине, а не на шлюзе.
iptables - здесь.
Всяческие всплывающие окошки и все такое прочее - можно "на коленке" написать скрипт.
Все мы где-то, когда-то и в чем-то были новичками.

sidbar

Цитата: Malaheenee от 23 февраля 2016, 14:16:25По squid - можно начать отсюда.
iptables -t nat -A OUTPUT -m owner --uid-owner 13 -j ACCEPT
Спасибо за хорошую ссылку, интересная статья. Если я правильно понял, для контроля всех возможных исходящих соединений, достаточно перечислить в правилах iptables все uid'ы пользователей и сервисов на моей тачке?
Devuan GNU/Linux

Malaheenee

Цитата: sidbar от 23 февраля 2016, 20:38:37достаточно перечислить в правилах iptables все uid'ы пользователей и сервисов на моей тачке?
Не совсем. Не все сервисы имеют собственный uid. Приложения, запускаемые пользователем и вовсе числятся под его uid. Т.е. нужно строить довольно хитрую схему а-ля DroidWall (приложения такое для Android).
Можно запретить доступ от любых uid, кроме пользовательского. А потом уже просто прикрыть все порты, кроме 80, 443 и какие Вам там еще нужны.
Все мы где-то, когда-то и в чем-то были новичками.

sidbar

Цитата: Malaheenee от 24 февраля 2016, 14:02:03А потом уже просто прикрыть все порты, кроме 80, 443 и какие Вам там еще нужны.
Вроде понимаю, но каким образом будет осуществляться контроль приложения, ведь оно ломится в сеть и по 80-му и 443 порту тоже. То есть, задача не контролировать на уровне пользователей, а используя некую неизвестную мне программу, работающую на уровне ядра и способную перехватывать соединения и выводить в лог/аларм на экран, ждать команды, если отсутствует правило для такого типа соединения. Задача контролировать соединения, плюс визуальное действие происходящего на экране. Например, пока я печатаю это сообщение, у меня сейчас запущен Iceweasel, и он открывает соединение на проверку обновлений, вот это мне хотелось бы контролировать как я описал выше, простите меня, не умею нормально излагать мысли.
Devuan GNU/Linux

Malaheenee

Вполне здраво излагаете :) Это Вы хотите что-то вроде Касперского  ;) Посмотрите в сторону apparmor, но мы таковым сроду не пользовались.
Все мы где-то, когда-то и в чем-то были новичками.

sidbar

Для десктоп безопасности вроде естественные желания, может я заблуждаюсь, но с таким приложением мне было бы спокойней юзать debian как десктоп. Проги для мониторинга iptraf и iftop  показывают соединения, а как их контролировать я не умею, уверен что в linux это можно как-то разрулить, надо только избавиться от невежества.
Аpparmor запускается с грубом, наверное на уровне ядра отлавливает? В Jessie  добавили к нему конфиг в файле, но так и не разобрался в нем.  Сама идея конфигурации и работы не совсем понятна. этот уровень не совершенный, настроить и забыть по портам или номерам идентификаторов пользователя, если получить права, можно добавить нового пользователя отсутствующего в правилах конфига, если там правило как в файрволе — что не разрешено, то запрещено ?. SELinux мне напомнил о могуществе микрософт) Не смотрел его, но по описанию, понятно, что потратить время можно запросто не понятно для чего, у меня не так много времени осталось в этом теле, чтобы разбираться в не нужном функционале. Не надо все эти бесполезные политики, надо только ловить исходящие поползновения неопознаных программ и сервисов и вручную им назначить права доступа, если программа обновится и поменяет контрольную сумму бинарника, она должна снова попадать в список неизвестных правил и задаваться вопрос о доступе в сеть. Это хорошая защита для десктоп юзверей как я, и если в касперском такой функционал реализовали, значит они молодцы парни, но сидеть под виндой уже ни сил, ни здоровья ни денег)
Подскажите как правильно запустить tail вместе с lsof?
Devuan GNU/Linux

Malaheenee

Вот наткнулись на такую штуку. По описанию - как будто то, что Вам надо.
Все мы где-то, когда-то и в чем-то были новичками.

sidbar

#11
У меня прожка не пошла.

Cообщение объединено 26 февраля 2016, 11:27:58

Цитата: sidbar от 25 февраля 2016, 12:25:58Подскажите как правильно запустить tail вместе с lsof?
возможно ли использовать средства tail, запустить lsof -i  так, чтобы соединения показывались по мере их создания и программа не завершала работу?
Devuan GNU/Linux

Malaheenee

Все мы где-то, когда-то и в чем-то были новичками.

sidbar

Malaheenee, низкий вам поклон, как раз то что было нужно!. Собственно половина программы можно считать уже сделаной.
Devuan GNU/Linux