как ограничить доступ в сеть для определенной проги?
dv 10 ноября, 2008 - 14:28
Собственно сабж. У меня есть прога, и мне не надо чтобы она имела доступ к определенным сетевым адресам. Возможно ли такое? Желателньо так же иметь возможность настраивать это на лету. Сразу оговорюсь, что в сетевом администрировании и файрволлинге я полный нуб, использую генту по профилю, а именно работа с графикой. Поэтому прошу - воспримите правильно мое стремление к упрощению этого, побочного для меня, процесса.
Насколько я понял, iptables такое не умеет. Вообще желательно решение в стиле файрволлов для винды - выскакивает окошко где сообщается что прога Х ломится по адрессу У - запретить/пропустить. Наверное для линуксов такие подходы не практикуются? ))
»
- Для комментирования войдите или зарегистрируйтесь
На сколько я знаю, ничего
На сколько я знаю, ничего подобного не бывает, но можно попробовать пойти с другого конца: никакая программа не может лезть в "весь интернет" и по всем портам, поэтому, можно попробовать прикрыть некоторые определённые адреса и порты.
А что за программа?
>>У меня есть прога, и мне не
>>У меня есть прога, и мне не надо чтобы она имела доступ к определенным сетевым адресам
Собсно айпитейблс.
1) оно работае на уровне tcp/ip пакета. А в пакете не писано что за прога и какой юзер все это сформировало. Потому уж ежели рубит - то рубит для всех.
2) Ограничения типа "можно все кроме" работают не ахти. Бо интернет относительно бесконечен.
ЗЫ
Похоже на попытку злобного хака пропиетарного софта чтоб хозяевам не фискалил.
>> Собсно айпитейблс.
>> Собсно айпитейблс.
Господин модератор, Вы на каком языке пишите?
«пишете» (-;Е
«пишете» (-;Е
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
мне не на внешние адреса
мне не на внешние адреса надо, а в пределах локалки.. впрочем разницы особо нет
а вообще это была попытка замутить костыль для чудо рендер менеджера drqueue
но видимо все же придется вникать в пропиетарный но халявный gridbox..
странно вообще то что в линуксе нет таких реализаций. файрволл все же.
Quote:странно вообще то что в
Ни одни внешний к системе файрволтакое делать никогда не сможет. Поэтому на серверных ОС такие фишки обычно и не нужны.
>>мне не на внешние адреса
>>мне не на внешние адреса надо, а в пределах локалки..
Тогда проще. Во-первых на хосте с которого клиент ломится по адресам/портам скорей всего должно быть ограничение, иначе это уж совсем уныло. Тогда она просто не будет ломиться куда ни попадя. Во-вторых на серверах где порт открыт - запрет прохождения пакетов на определенный порт со всех адресов кроме явно перечисленных. Можно настройкой сервера (почти все умеют не принимать пакеты с указанных адресов), можно через айпитейблс ( на вики статеек полно как это замутить). Обращать внимание на наличие в вики /etc/init.d/iptables start/stop/save (сейчас под гентой этот способ инициализации наиболее идеологически верен)
ЗЫ
>>на каком языке...
пешу на СИ,асме,пхп,перле и "олбанском" лехко ;)
Уровень "олбанского" соответсвует уровню телепатических возможностей, ожидаемых вопрошающим.
iptbales это умеет
Плохо Вы понимаете работу iptables, это кое-что покруче простого фильтра заголовков ip.
Почитайте man iptables на предмет --uid-owner, --gid-owner. Собственно говоря, это и есть ответ на искомый вопрос: заведите программе отдельного пользователя и блокируйте его.
Per aspera ad astra!
>>>Плохо Вы понимаете работу
>>>Плохо Вы понимаете работу iptables, это кое-что покруче простого фильтра заголовков ip.
С айпитейблс действительно работал мало, ибо прячусь за циской. Только сути это не меняет.
Еще раз об уровнях OSI. ip не требует наличия в в пакете инфы о пользователе/приложении. Потому резка по пользователю/приложению возможно только тогда, когда пакет сформирован локально ядром. Как будет это работать если пакет из локалки? Да и на хосте виртуалкой обходится на раз. Плюс многое от протокола приложения зависит. Потому там где анализируются/изменяются не заголовки айпи (другими словами как гейтвей уровня приложения) использование айпитейблс весьма сомнительное удовольствие.
прочитайте первый пост, пожалуйста
Речь изначально шла именно о локальной машине. Естественно, что uid/gid и т.п. в заголовках IP не передаётся.
Per aspera ad astra!
iptables такое умеет, только
iptables такое умеет, только для локальной машины, естественно. Хотя возможно требуется наложить какой-то дополнительный патч на ядро. Просто есть свои тонкости, например исполняемая программа может даже не существовать на диске. И есть у меня подозрение, что command name может быть как разная у одинаковых процессов, так и одинаковая у разных.
P.S. А для чего возникла такая надобность? У меня все решается тем, что что и как работает я знаю. Ни одна программа не полезет в интернет, если я её на то прямо не укажу.
верно, как минимум,
верно, как минимум, достаточно создать отдельного пользователя для этой проги и написать правила с модулем owner
:)
попробуй раскурить вот это -
попробуй раскурить вот это - net-firewall/nufw на сайте разраба утверждается, что позаоляет управлять доступом не только на уровне ip/юзеров, но и приложений.
P.S.: Linux - это красная таблетка :-) Windows - синяя...
На русскоязычной Gentoo Linux
На русскоязычной Gentoo Linux Wiki была статья "Настройка iptables для начинающих".
Из нее:
так что возможно этим можно "--cmd-owner NAME"
Спасибо всем ответившим.
Спасибо всем ответившим. Костыль получился, все работает если прогу запускать от юзверя.
Гуи
Как вариант - net-firewall/guarddog - гуи оболочка, может поможет в конфигурировании...
сапсибо. я правда уже в
сапсибо.
я правда уже в качестве оболчки kmyfirewall поставил, кде-шный, там тааакой геморой.... так что лучше я как-нибудь ручками конфиги посоставляю