Zapora ogniowa na proces?

18

Czytałem już, ale nie mogę znaleźć sposobu na tworzenie reguł zapory dla poszczególnych procesów. Wiem o iptables --uid-ownertym, ale to działa tylko w przypadku ruchu wychodzącego. Mam uważane skryptów netstati iptablesale ten wydaje się strasznie nieskuteczny, ponieważ jeśli proces jest aktywny tylko dla małej czasowych skrypt może go przegapić. Zasadniczo chcę egzekwować określone ograniczenia dotyczące portu i dst w procesie, pozostawiając niezmienione inne procesy. Jakieś pomysły?


Dla porównania selinux może to zrobić dokładnie i działa całkiem dobrze. Konfiguracja jest jednak trochę uciążliwa.

s3c
źródło
1
Może LXC (Linux Containers) załatwi sprawę? lxc.sourceforge.net
nsg
Co jest takiego trudnego w selinux? Pewnie jest trochę krzywej uczenia się, ale są świetne narzędzia, zarówno graficzne, jak i wiersza poleceń, które pomagają w konfiguracji. Wsparcie jest dostępne na IRC na #selinux, a także na #fedora
Panther
próbowałeś zamiast tego użyć Douane? askubuntu.com/a/330259/46437
Aquarius Power
Zapora graficzna GUI dla iptables pozwala to zrobić dokładnie i jest dość łatwa w użyciu.
BKilpat01

Odpowiedzi:

10

Twoje pytanie jest bardzo podobne do /programming/5451206/linux-per-program-firewall-similar-to-windows-and-mac-counterparts

Był --cmd-ownermoduł właściciela for iptables, ale został usunięty, ponieważ nie działał poprawnie. Teraz dostępna jest pierwsza wersja beta Leopard Flower , która rozwiązuje problem przez demona przestrzeni użytkownika.

Zasadniczo zapora ogniowa na proces nie jest bardzo przydatna, chyba że naprawdę wyodrębnisz i ograniczysz programy. W tym celu powinieneś przyjrzeć się rozwiązaniom bezpieczeństwa takim jak TOMOYO Linux, SELinux, AppArmor, grsecurity, SMACK, ...

Jofel
źródło
1

Łatwo, uruchom swój proces dla innego użytkownika i użyj „--uid-owner” :)

jirib
źródło
1
To była moja pierwsza myśl, ale jak zauważyłem, nie działa w procesach słuchania.
s3c
Co dokładnie masz na myśli? Aby upewnić się, że określony właściciel / proces ma własne otwarte porty dla połączenia przychodzącego / wychodzącego?
jirib