Ru-Board.club
← Вернуться в раздел «UNIX»

» firewall

Автор: DarkAir
Дата сообщения: 15.03.2007 05:03
Существует ли application layer firewall (контроль над отдельными приложениями) под *nix ?
Автор: sda00
Дата сообщения: 15.03.2007 05:44
DarkAir
да.
AppArmror от Novell (SuSE)
а в Солярке возможен полный контроль - память, проц, квоты... всё в общем
Автор: DarkAir
Дата сообщения: 15.03.2007 07:26
sda00
Почитал про sel и apparmor, насколько я понял это дополнительные модули для ядра ос, обеспечивающие разграничение ресурсов системы в целом. На сайте novell в сравнении
написано что sel не может работать с частью проприетарного ПО из-за закрытости интерфейсов.
Сам apparmor насколько видно из документов работает только с отдельными указанными
процессами, а не контролирует все ресурсы, тем более он не заточен под решение задач
контроля доступа в интернет. Информации вообще мало, есть какой-либо опыт использования
именно для этих целей? Флаги tcp можно через неё контролировать?
Хотелось бы решить задачу на подобии такой:
приложение 1 может получать/отправлять по tcp 80 данные по всем адресам
приложение 2 может получать/отправлять по tcp/udp >1000 данные по ряду адресов, но порт 80
использовать не может
приложение 3 может получать/отправлять по tcp 80 данные только по заданным адресам
всем остальным приложениям доступ в интернет запрещён
Реально реализовать под linux такую схему работы?
Автор: ZaqwrKos
Дата сообщения: 15.03.2007 09:04
DarkAir
UID/GID не подойдёт?
насчёт linux незнаю, но думаю что умеет, а вот во freebsd
ipfw add 100 allow ip from any to any uid root
Автор: keyhell
Дата сообщения: 15.03.2007 09:57
опишите конкретно: что, зачем и как вы хотите "файрволить".
Автор: DarkAir
Дата сообщения: 15.03.2007 13:04
keyhell
Для приложений которым я считаю нужным дать в доступ в интернет, прописать конкретно по каким портам на какой диапазон можно отправлять/получать данные (для каждого отдельно, диапазоны могут пересекаться), всё остальное блокировать, что подробно расписывать то? Нигде невижу в
справке к iptables привязки к uid/gid, так ведь наверное потому что ip tables Слабая защита получается, предполагает использование рабочей среды с недоверенными приложениями а не
как cервер.
Автор: ZaqwrKos
Дата сообщения: 15.03.2007 13:07
DarkAir

--uid-owner userid
Matches if the packet was created by a process with the given
effective user id.

--gid-owner groupid
Matches if the packet was created by a process with the given
effective group id.

--pid-owner processid
Matches if the packet was created by a process with the given
process id.

--sid-owner sessionid
Matches if the packet was created by a process in the given ses-
sion group.

--cmd-owner name
Matches if the packet was created by a process with the given
command name. (this option is present only if iptables was com-
piled under a kernel supporting this feature)
Автор: DarkAir
Дата сообщения: 15.03.2007 13:17
ZaqwrKos
спасибо, сразу не увидел. Нет не подойдет, нужен не контроль по пользователям а по приложениям
pid я не представляю как можно использовать он ведь всё время изменяется.
Автор: ZaqwrKos
Дата сообщения: 15.03.2007 13:29
DarkAir

Цитата:
--cmd-owner name
Matches if the packet was created by a process with the given
command name. (this option is present only if iptables was com-
piled under a kernel supporting this feature)

а это простите что? ядро кстати, скорее всего придётся пересобрать
Автор: DarkAir
Дата сообщения: 15.03.2007 13:56
ZaqwrKos

Цитата:
ядро кстати, скорее всего придётся пересобрать
это не страшно, страшно другое

Цитата:
pid, sid and command matching are broken on SMP
, у меня Athlon 64 x2 5200 она его будте
как smp считать?
почитат еще сейчас http://ru.gentoo-wiki.com/Настройка_iptables_для_начинающих
вроде нашел что искал, получает что через модули iptables итак может как бы работать на уровне
приложений. Только -cmd-owner действует на исходящие соединения, а что делать с
входящими? Если нужно чтобы приложение принимало только входящие соединения с
заданных портов?
icmp ping не имеет владельца, как тогда последним правилам задать block all так чтобы при этом
можно было пинговать всех;)?

Добавлено:
Странно, linux вроде как сетевая ось, а технологии файрволлинга от виндовых уже сильно отстали,
в 90-х ещё можно было только по портам и адресам резать, тогда это не так актуально было.
Автор: ZaqwrKos
Дата сообщения: 15.03.2007 16:01
DarkAir
расскажите лучше про ваши цели, как вас уже спрашивал keyhell , IMXO можно запустить аналогичный процесс другим юзером с такимже названием, вас это не беспокоит?
Автор: DarkAir
Дата сообщения: 15.03.2007 17:02
ZaqwrKos
Цель: реализация принципа минимальных привилегий, чтобы для каждого приложения прописать
разрешить пересылку данных только по тем портам/адресам/протоколам по которым они в теории
и должны работать. Тогда любое отклонение от нормы (использование браузером дополнительных
портов (как на форуме хакер.ru например)) сразу же будет видно. Так можно быстро обнаружить
отсылку данных приложением не туда куда надо, любой троян, вирь и т.п. Создается не сервер
с заданным набором ПО а рабочая среда для которой не применимо в полном смысле понятие trusted
environment, предполагается наличие ряда приложений которые могут производить нежелательную
деятельность (т. п. проверка ключей, обновление, сгрузка рекламы и т.д.). Под linux сейчас это
пока ещё мало актуально, но количество проприетарного по растет (касперский, vmware...)
и всякая зараза с популярностью платформы переползает и сюда. Видел тут в соседнем треде
говорят что под линуксом приложения сами без спроса никуда не лазят - имхо гон за обновлениями
еще как лазят, итак уже mandriva как вторая винда, 3d меюшки, всякая гадость. Под виндой есть возможность хоть как-то защитится от этого, а тут вообще голый беззащитный совсем сидишь
Смысл в контроле ВСЕХ приложений.
Автор: sda00
Дата сообщения: 16.03.2007 00:34
DarkAir
AppArmor + конфиги софта из trusted environment. Реально. Но Ваш подход, как бы это так сказать, слишком M$-вый что ли...

Цитата:
Видел тут в соседнем треде говорят что под линуксом приложения сами без спроса никуда не лазят

да. именно. если лезут - то в терминах LOR-а: недобыдлоадминен кляйне дейч зольдатен делать квадратиш и практиш топливо для фтопка

Цитата:
Под виндой есть возможность хоть как-то защитится от этого, а тут вообще голый беззащитный совсем сидишь

а вот это и есть первое ощущение вендоадминен, пришедшего в *nix. Ибо основная угроза здесь - это неправильно сконфигурированные запущенные сервисы (...админен...) + rootkit (...админен...) + ессно iptables....


Цитата:
Цель: реализация принципа минимальных привилегий, чтобы для каждого приложения прописать
разрешить пересылку данных только по тем портам/адресам/протоколам по которым они в теории
и должны работать.


Решение: вобор соответствующих приложений и их конфигурация + правильная конфигурация юзеров и групп для Вашей рабочей (хм) среды.
Автор: DarkAir
Дата сообщения: 16.03.2007 10:14
sda00

Цитата:
вендоадминен
- извините не моя профессия, только для себя по необходимости интересуюсь

Цитата:
основная угроза
- я и не отрицаю что основная угроза в другом, мои преведущий пост почитайте

Цитата:
AppArmor + конфиги софта из trusted environment
- вопервых novell, во-вторых
Цитата:
не контролирует все ресурсы
в третьих ещё очень сыро и не достаточно проверено, на самом сайте novella идут
страницы с сылками на продукт пустые http://forge.novell.com/modules/xfcontent/downloads.php/apparmor/Development/

Цитата:
Решение: вобор соответствующих приложений
- преведущий пост невидно ?

Цитата:
слишком M$-вый
- это уже какие-то религиозные войны, под другой платформой видел
в определенной мере лучшую реализацию, как-то не мог предвидеть что тут возникнут
проблемы.
Защита - это мера комплексная, текущее решение мне эту комплексность реализовать не дает.
Пока читатл и смотрел всё тут для себя сделал вывод, что под linux сейчас нет вменяемого
контроля над трафиком приложений. Линксойды тут разводят воду лишь бы перед виндой куцо
не выглядеть.

Автор: keyhell
Дата сообщения: 16.03.2007 10:56
DarkAir,
я не буду с вами спорить и убеждать в чем-то.

в Linux/UNIX есть механизмы, которые в полной мере позволяют контролировать приложения. механизмы эти, в силу прозрачности реализации всего, что касается привилегий, намного более простые и прозрачные чем в MS Windows/DOS/ или с чем вам угодно сравнивать.

честно говоря, вот это описание от вас меня несколько насторожило:

Цитата:
Хотелось бы решить задачу на подобии такой:
приложение 1 может получать/отправлять по tcp 80 данные по всем адресам
приложение 2 может получать/отправлять по tcp/udp >1000 данные по ряду адресов, но порт 80
использовать не может
приложение 3 может получать/отправлять по tcp 80 данные только по заданным адресам
всем остальным приложениям доступ в интернет запрещён

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

увы, но для того, чтобы сделать то, что вы хотите (да и вообще все, что угодно!) на UNIX, надо читать и изучать систему.

а у ж механизмов различных "защит" тут море: начиная от простейшего контроля по ID (uid, euid, suid, ... ) до MAC. Один из лучших файрволлов pf есть в OpenBSD и FreeBSD. Chroot, Jail, etc.

короче говоря, вам будет проще на винде, ибо читать как видно, вы не пробовали.
Автор: DarkAir
Дата сообщения: 16.03.2007 17:16
keyhell

Цитата:
полной мере позволяют контролировать
- хотелось бы верить, но что-то невидно

Цитата:
современные файрволлы.
- скажите пожалуйста в чём же такое глобальное отличие в работе
современных файрволов от преведущих поколений

Цитата:
читать
супер, а в винде чтобы что-то нормально настроить читать ненадо, можно только тыкать

Цитата:
есть механизмы
вы бы сразу их в коплексе для решаемой задачи привели в первом ответе и
небыло бы никаких "споров", что действительно за такие безимянные механизмы?

Цитата:
это описание
- а что такого в этом описании? незнал что под виндой и линуксом такие различия
в постановке заданий. Приведите кстати правильную постановку для данной задачи, или сама
задача какая-то нетакая? не имеет права на существование?

Цитата:
намного более простые и прозрачные
-если они такие простые не быстрее ли было бы их описать
или указать, чем писать ваш пост?

Цитата:
чистейшей воды непонимание
- спасибо буду знать, с вас линки

Цитата:
uid, euid, suid,

Цитата:
MAC
- как всё это относится к моей задаче?

Цитата:
вам будет проще на винде
- спасибо в следующий раз за себя решайте

Цитата:
не пробовали
- да не только пробовал, по другим вопросам уже кое-чего нарешал
вы бы хоть имена этих механизмов привели что-ли, а то как я в google их искать то буду? (кстати
это случаем не механизм gcc ), пока что по запросам к тому же google у меня сложилось ощущение
что большинство линуксоидов про файрволл вообще ничего незнают и никогда им не пользовались.
Перечитывать терабайты всей подряд документации идущей с линух желанием не горю, указали
бы лучше направление поиска. Вы вообще всё время так посылаете новичков на... и включаете пипи....метры или только когда вопрос подрывает идеологическую линию?

sda00

Цитата:
рабочей (хм) среды
- да знаете линукс поставил чисто в тетрис поиграть, спасибо на добром слове
Автор: sda00
Дата сообщения: 16.03.2007 18:50
DarkAir
вот про таких как ВЫ и пишут на ЛОР-е:
недобыдлоадминен и тд... и тп... и это - самое мягкое, что могу сказать о Вас в этой ситуации.

ответ Вам здесь уже дали (причём без использования AppArmor, а родными средствами iptables. Квалифицированный и Грамотный ответ). Вы от ответа отмахнулись, ибо Вы - невежда и читать не умеете. Могу лишь Вам посоветовать и дальше продолжать себя вести в том же духе - глядишь будет толк...

Автор: keyhell
Дата сообщения: 16.03.2007 19:02
DarkAir, не зная вашего возраста и квалификации не буду делать выводов об общем уровне администраторских знаний, но про Linux/UNIX скажу точно: пока не поймете систему ничего у вас не будет.

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

удачи вам в ваших поисках. все, что было нужно, уже было сказано.
Автор: ZaqwrKos
Дата сообщения: 16.03.2007 21:36
DarkAir
Хватит пререкаться, просто вам рассказли всё что можно, дело осталось за вами, как вы это примените, если устроите вашу "схему" на ос виндовс вы герой, парус слов про понимание.... объясните мне, каким образом вообще впринципе возможно запретить входящие данные основываясь на НАЗВАНИИ приложения, как по вашему, как система будет реагировать на входящий пакет к примеру для httpd proftpd smbd и прочим сервисам запускающих десяток одноимённых приложений, предствьте себя на месте этой системы, я думаю вы зависните ))) так что либо uid/gid либо пишите скрипты на pid, да и что за приложение вы хотите так жёстко контролировать если не секрет?
Автор: DarkAir
Дата сообщения: 17.03.2007 01:52
sda00

Цитата:
ответ
- желаемое не надо выдавать за действительное, контроль по user id, group id не может
дать тоже что и контроль отдельных приложений, я так понимаю что для того чтобы чем-то так
управлять прийдется под каждое приложение создавать нового пользователя - это то что вы
предлагали в своём квалифициорованном ответе? Тем более не gid не sid не действуют на входящие
соединения.
keyhell

Цитата:
Вы от ответа отмахнулись (sda00)

ZaqwrKos
На названии не знаю, причем здесь оно. Вы винду под эмулятором поставьте сами и посмотрите как
на ней это можно сделать, откуда я знаю точную работу закрытых механизмов, там контроль можно
реализовать с предварительной проверкой имени&пути&md5 приложения.

Цитата:
десяток одноимённых приложений
- как же она бедная трилионы операций в секунду выполняет
а с этим не справится?
Насчёт задачи - всё указано выше. Имена конкретных приложений излишне, зачем? чтобы вы могли предложить мне поиск обходных путей ещё каким-то способом?
Меня интересует решения задачи так как она была поставлена с самого начала. Насколько я понял
решить её вообще под linux нельзя. keyhell & sda00 видимо умеют решать данную задачу, я посмотрю
ещё может быть чего и напишут полезного.
Автор: Nep
Дата сообщения: 17.03.2007 13:31
прекратили взаимные наезды быстро!
Автор: ZaqwrKos
Дата сообщения: 17.03.2007 14:42
DarkAir

Цитата:
Тем более не gid не sid не действуют на входящие
соединения.

реализуйте под freebsd
Автор: lopen3
Дата сообщения: 14.01.2008 10:12
Мда, тема заглохла На мой взгляд, DarkAir неточно сформулировал задачу:
1) в этом топике мы рассматриваем не сервер, а исключительно desktop.
2) защита от руткитов и т.п. действительно решается с помощью iptables и в этом топике не должна рассматриваться
3) проблема состоит в появлении ПО с закрытым кодом, содержащего шпионские модули, рекламные вставки, и т.п.

Т.о., если исключить совет отказаться от подобного ПО совсем (патчевание ввиду нарушения лицензии тоже исключим), возникает проблема ограничить некоторые приложения, запускаемые интерактивно разными пользователями, в доступе к интернету. Чистыми iptables это не решается. У кого-нибудь есть конструктивные мысли?
Автор: taelas
Дата сообщения: 15.01.2008 10:29
lopen3
http://l7-filter.sourceforge.net/

Цитата:
L7-filter is a classifier for Linux's Netfilter that identifies packets based on application layer data. It can classify packets as Kazaa, HTTP, Jabber, Citrix, Bittorrent, FTP, Gnucleus, eDonkey2000, etc., regardless of port. It complements existing classifiers that match on IP address, port numbers and so on.

ну а для контроля http, наверное стоит использовать прокси?
Автор: ZaqwrKos
Дата сообщения: 15.01.2008 23:21
lopen3
тогда только самому писать на сишнике =) какое нить подобие ната, который будет, сопоставлять как пример что за приложения и кому можно пускать в инет ... штатными средствами врятли....
Автор: TeeHa1F
Дата сообщения: 16.01.2008 04:48
Вот блин =), а я то думал.... всё предусмотренно =)
Просто токо начинаю юзать Linux, уж простите за секунду гуру не становятся....
Автор: HighwayStar
Дата сообщения: 16.01.2008 08:12
lopen3

Цитата:
3) проблема состоит в появлении ПО с закрытым кодом, содержащего шпионские модули, рекламные вставки, и т.п
Во- первых закрытое ПО со шпионскими модулями и рекламными вставками не нужно.
Выявить его можно без труда при помощи AppArmor-инструмента который позволяет отследить что делает программа не только в сети но и на локальном компьютере (чтение и запись фалов, каталогов).

Цитата:
если исключить совет отказаться от подобного ПО совсем (патчевание ввиду нарушения лицензии тоже исключим), возникает проблема ограничить некоторые приложения,

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

AppArmor испкаропки есть в openSUSE и Ubuntu. В openSUSE еще есть и очень удобные инструменты для его настройки в виде модулей Yast.

Добавлено:
Вообще ИМХО это паранойя, подцепить руткит довольно сложно, даже практически невозможно если выполнять элементарные правила: ставить софт из репозитариев и не ставить ничего с рапиды и китайских варезников.

ЗЫ Доки по AppArmor
Автор: lopen3
Дата сообщения: 16.01.2008 09:24
HighwayStar

Цитата:
Во- первых закрытое ПО со шпионскими модулями и рекламными вставками не нужно.

Если бы для всего существовал бесплатный Opensource аналог - я бы с этим не спорил, более того, я сам предпочитаю открытый код. А так - бесполезный спор.
У меня есть одна купленная мной программа которая проверяет по UDP, что не запущен ли где еще один экземпляр, а также анонсирует по UDP свой запуск. Я не хочу чтобы хоть кто-нибудь в сетке знал о том, что у меня есть такой софт, а производитель, так как я частное лицо и не закупаю их софт на мегабаксы - не реагирует. Также стоит VoIP софтфон, т.е. перекрыть диапазон UDP - нельзя. Все более частая картина, по мере распространения коммерческого софта, не так ли?

Еще раз повторюсь - я данную ветку рассматриваю исключительно не как средство защиты от руткитов, а как исключительно домашний вариант, где мощные интеллектуальные прокси и анализаторы траффика на выделенном железе исключены!

P.S. Ушел читать доки по AppArmor
Автор: IrWert
Дата сообщения: 30.01.2008 22:13
Как вариант - запретить все и всем, проги запускать скриптами, которые по pid-у будут рулить правилами iptables, костыли, конечно, но, думаю, реализуемо...
Автор: DarkAir
Дата сообщения: 21.07.2013 14:13
Так и не произошло никаких позитивных изменений в этом направлении для Linux за всё это время, а жаль.
http://askubuntu.com/questions/45072/how-to-control-internet-access-for-each-program

Страницы: 12

Предыдущая тема: Что такое AIGLX?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.