За процесс брандмауэр?

18

Я читал вокруг, но не могу найти способ создать правила межсетевого экрана для каждого процесса. Я знаю, iptables --uid-ownerно это работает только для исходящего трафика. Я рассмотрел сценарии netstatи , iptablesно это кажется очень неэффективно , так как если процесс активен только в течение небольшого времени кадра сценарий может пропустить. По сути, я хочу применить определенные ограничения в отношении порта и dst для процесса, оставляя другие процессы без изменений. Есть идеи?


Для справки selinux может сделать именно это, и это работает довольно хорошо. Установка немного боли, хотя.

S3C
источник
1
Может быть, LXC (Linux Containers) подойдет? lxc.sourceforge.net
nsg
Что такого сложного в selinux? Конечно, есть немного кривой обучения, но есть отличные инструменты, как графические, так и командной строки, чтобы помочь с настройкой. Поддержка доступна на IRC на #selinux, а также на #fedora
Panther
Вы пытались использовать вместо Дуан? askubuntu.com/a/330259/46437
Водолей Сила
Firewalld GUI для iptables позволяет вам делать это, и его довольно просто использовать.
BKilpat01

Ответы:

10

Ваш вопрос очень похож на /programming/5451206/linux-per-program-firewall-s Similar- to- windows-and-mac-counterparts

Был --cmd-ownerмодуль для владельца iptables, но он был удален, потому что он работал не правильно. Теперь доступна первая бета-версия Leopard Flower , которая решает проблему с помощью демона пользовательского пространства.

В целом межсетевой экран для каждого процесса не очень полезен, если вы действительно не изолируете и не ограничиваете программы. Для этого вам следует взглянуть на решения безопасности, такие как TOMOYO Linux, SELinux, AppArmor, grsecurity, SMACK, ...

jofel
источник
1

Легко, запустите ваш процесс под другим пользователем и используйте «--uid-owner» :)

jirib
источник
1
Это была моя первая мысль, но, как я заметил, она не работает для процессов прослушивания.
s3c
Каково именно ваше намерение? Чтобы быть уверенным, что конкретный владелец / процесс имеет свои открытые порты для входящего / исходящего соединения?
Джириб