PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PersonalFirewall unter Unix



Lukas
14.06.2004, 18:16
Hallo zusammane,
gibt es unter Linux oder Bsd eine PersonalFirewall wie es unter Windows üblich ist?
Beispiel: ich vertraue (local) Evolution nicht bzw nur so weit dass es Emails von gmx.net abholen darf, weil ich denke dass es eine "Spyware" ist (keine Panik, nur ein Beispiel)... wie könnte ich das unter Linux oder Bsd lösen
(hab da an netstat -nap bzw fstat gedacht... aber das ist keine saubere lösung)
grüsse
Lukas

qmasterrr
14.06.2004, 18:35
du denkst evolution ist eine spyware? das _kann_ nicht sein da der code von vielen unabhängigen entwicklern durchgesehen wird

ich empfehle dir iptables

thorus
14.06.2004, 18:37
Mir ist keine solche Software bekannt, aber iptables bietet diese Funktionalität, da man nach PID filtern kann.

Auszug: man iptables

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

Man könnte nun alle Pakete generell verbieten und ein Programm auf den Syslog-Ouput lauschen lassen. Wenn nun ein Paket mit unbekannter ID an die Firewall "klatscht", gibts einen Eintrag im syslog und der Zugriff wird erkannt.
Nun poppt irgend ne Meldung auf, ob man diesem Programm vertrauen will, klickt man auf Yes, wird der Programmname und Pfad gespeichert. Evtl. noch ein Hash von der Binary, zur Sicherheit.
Nun kann man die PID temporär freigeben, bis das Programm beendet wird.

Die Personal Firewall solle also, sagen wir in Abständen von 10s checken, welche Programme gestartet sind. Wird ein freigegebens Programm (anhand von Pfad, Prog, Hash) gestartet, wird eine Regel in eine Chain eingefügt, die diese IP berechtigt zu senden/empfangen.
Wird ein bereits freigegebenes Programm beendet, wird die Regel für die PID wieder aus der Chain gelöscht und fertig. ;)

Puh, das wär doch mal ne Idee für ein Programm, oder kennt jemand so eins schon? ;)
Also mich persönlich würde es interessieren, sowas zu programmieren.

Lukas
14.06.2004, 19:45
@qmasterrr
nein, das denke ich nicht... hab nur ein _Hypothetisches_-Beispiel gebraucht
@thorus
du sagst syslog... und da fällt mir systrace ein (ganz vergessen dass es das noch gibt)... und das ist auch die Lösung(soweit ich davon gelesen habe) für BSD und Linux... danke für den Tipp ;)
grx
lukas
ps.:
http://www.systrace.org/
http://www.linux-magazin.de/Artikel/ausgabe/2003/01/systrace/systrace.html