[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Brainstorming: passive firewall



hi,

Alles in Allem wesentlich einfacher als ich zu erst dachte.

Für die, die es interessiert, hier mein vorgehen:
Eines war klar: der Aufruf von iptables über einen externen Trigger
ist etwas, dass man sich überlegen sollte, ob das so gut ist. Ich
entschied mich für einen Kompromiss.
ich wollte einen Webservice nutzen, der auf Eingaben wartet.
Webservice deswegen, da er auch über http vergügbar ist und ich mich
um das Protokoll nicht kümmern brauche, sehr einfach zu implementieren
ist, mit tomcat security constraints möglich sind und Clients in so
ziemlich jeder Hochsprache ohne Mühen fix geschrieben sind.
Tomcat als root starten kommt nicht in Frage. iptables ist aber nur
durch root aufzurufen. Ok, sudo. Jetzt wollte ich auch nicht alle
Funktionen von iptables tomcat zur Verfügung stellen. Deswegen schrieb
ich ein paar kleine Scripte und stellte die per sudo tomcat zur
Verfügung. Das hat den Funktionsumfang deutlich begrenzt und ich
konnte die Parameter in den Scripten sehr einfach durch regex
überprüfen (man will ja keine Injections, auch wenn man die Clients
selber schreibt.).

Der Webservice war mit dem Invoker vom ProcessBuilder auch kein
Problem. Somit konnte ich nun gelockte IPs in einer bestimmten chain
abrufen, blocken und freigeben.
Wie bekomme ich nun aber mit, wenn eine neue Verbindung besteht, die
mir dann zur Entscheidung zur Verfügung steht, WebService sind
Pull-Services?
Ich entschied mich für die faule Variante.  Ich übergab iptables eine
Regel in der ich diese verbindung mit syslog logge und syslog bekam
die Aufgabe, diese Meldung an meinen Client weiterzureichen. Nun
brauchte ich nur noch auf UDP Port 514 warten und die Pakete nach der
Meldung filtern.

Das ist alles natürlich noch nicht ausgereift. Funktioniert aber schon
ganz gut. Ich überlege mir noch, den Werbservice dahingehend zu
erweitern, dass man syslog  anweisen kann die Clientliste zu
erweitern.
Durch die Security Constraints von Tomcat funktioniert das Ganze auch
mit einer bisher bewerten Authentifizierung.
Natürlich Tomcat und Java sind keine Leichtgewichte, aber als PoC geht
das schon durch.

Folgendes soll dann noch hinzukommen:

- VPN und Routen-Verwaltung
- Snort-Meldungen über Priority 1 Warnungen
- Port-Tunnel-Verwaltung

Meinungen?

Gruß,
Björn


Reply to: