Programmen Zugriff zum Internet (oder einem anderen Netz) verweigern |
||
---|---|---|
#0
| ||
28.08.2006, 19:54
Member
Beiträge: 5291 |
||
|
||
09.11.2006, 12:03
Ehrenmitglied
Beiträge: 831 |
#2
Zitat iptables -A OUTPUT -o eth1 -t filter -m owner --cmd-owner curl -j DROPArbeitet erfolgreich. Btw: Personal Firewall unter GNU/Linux http://fireflier.sourceforge.net/ Gruß Conny __________ http://linux.regionnet.de/ - http://www.pf-lug.de/ - http://www.4logistic.de/ - http://www.pfenz.de |
|
|
Jeder weiß das es keine Desktop-Firewall für GNU/Linux gibt
und sowas auch im allgemeinen nicht gebraucht wird.
Was wäre wenn wir einem bestimmten Programm den Zugriff zum Internet doch verbieten möchten?
Nun damit mußte ich mich letzte Woche außeinander setzen und bin zu folgendem einfachen Beispiel gekommen:
Da Linux Netfilter ja nur unterhalb des application layers funkioniert ist es schwierig Anhand von Programmen den Zugriff zu verweigern hier aber eine Lösung:
Man nehme Programm XY und ändere die Gruppe von diesem Prograrmm auf 'unpriviliged' diese Gruppe muss natürlich existieren.
nehmen wir einfach an die Gruppe unpriviliged hat die GID von 1005.
Dann sagen wir dem Netfilter folgendes:
iptables -A OUTPUT -t filter -o ppp0 -m owner --gid-owner 1005 -j DROP
(ppp0 ist bei ADSL das ausgehende Device, bei euch eventuell ein anderes)
Voila die Gruppe 1005 kann nicht mehr nach hause telefonieren
Da die user selber nicht unbedingt in Gruppe 1005 sind müssen wir dem Programm das sgid bit geben per chmod g+s /path/to/executable
Nun wird dieses Programm immer mit den 'unpriviliged' Gruppen-Rechten ausgeführt
und somit hat es auch keinen Zugriff mehr richtung ppp0 in diesem Fall.
Das ipt_owner modul (oder im Kernel) ist dafür notwendig.
Es gibt auch folgendes:
Zitat
Interessant - würde das SGID und die Gruppe ersparen allerdings stand auch folgendes dadrunter:Zitat
Arbeite leider auf einem SMP System.Kann ja mal jemand ausprobieren und diesen Thread erweitern.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode