Netzwerktraffic "filtern"
Netzwerktraffic "filtern"
Hallo!
Ich hab folgendes vor:
Ein Rechner mit 2 Netzwerkkarten soll den Traffic zwichen diesen beiden Anschlüssen "überwachen" und gegebenenfalls blockieren bzw verändern, auf MAC-Basis. Das ganze relativ dynamisch, so dass man z.B. erst über http einloggen muss um ftp nutzen zu können. Gibts da irgendeine Möglichkeit ein (im Optimalfall) C++-Programm den kompletten Datendurchsatz der rein und rausgeht zu checken und explizit weiterzuschicken? Wenn ja, wie sieht mein Ansatz aus?
Ich hab rumgegoogelt aber außer Sniffer und Firewalls ned viel gefunden -.-
Wäre froh wenn mir jemand helfen könnte.
MFG
Matthias
Ich hab folgendes vor:
Ein Rechner mit 2 Netzwerkkarten soll den Traffic zwichen diesen beiden Anschlüssen "überwachen" und gegebenenfalls blockieren bzw verändern, auf MAC-Basis. Das ganze relativ dynamisch, so dass man z.B. erst über http einloggen muss um ftp nutzen zu können. Gibts da irgendeine Möglichkeit ein (im Optimalfall) C++-Programm den kompletten Datendurchsatz der rein und rausgeht zu checken und explizit weiterzuschicken? Wenn ja, wie sieht mein Ansatz aus?
Ich hab rumgegoogelt aber außer Sniffer und Firewalls ned viel gefunden -.-
Wäre froh wenn mir jemand helfen könnte.
MFG
Matthias
- chroiss
- Beiträge: 332
- Registriert: 29.10.2004 09:29:43
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)
hääääääää
--> iptablesEin Rechner mit 2 Netzwerkkarten soll den Traffic zwichen diesen beiden Anschlüssen "überwachen" und gegebenenfalls blockieren bzw verändern
du sprichst von MAC und dann von dynamisch ???!!!Das ganze relativ dynamisch
eventuell meinst du etwas in richtung wie...
Code: Alles auswählen
iptables -I INPUT -p 80 -m mac --mac-source AT:TA:CK:ER:00:00 -j DROP
wüsste nicht das man das kann ausser über .htaccess (Authentifizieren) ; und dann ftp benutzen ???!!!über http einloggen.... ???!!!
--> SCP
oder vielleicht
Code: Alles auswählen
knockd ???
--> iptablesden kompletten Datendurchsatz der rein und rausgeht zu checken und explizit weiterzuschicken?
sei mir nicht böse, aber entweder ich verstehe dich nicht, oder du schilderst etwas was ich/niemand verstehen kann
gruss chroiss
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.
ich glaube, er meint soetwas wie BorderManager (?) von Novell.
Man muss erst im Novellnetzwerk (diesen Part übernimmt dann eine Webanwendung) angemeldet sein, um den Proxy nutzen zu dürfen. Nur dass hier kein Proxy zum Einsatz kommt, sondern eben dynamisch irgendwelche IP-Tables Regeln gesetzt werden müssten....
Man muss erst im Novellnetzwerk (diesen Part übernimmt dann eine Webanwendung) angemeldet sein, um den Proxy nutzen zu dürfen. Nur dass hier kein Proxy zum Einsatz kommt, sondern eben dynamisch irgendwelche IP-Tables Regeln gesetzt werden müssten....
Perl macht Spass.
Ok ... schönes Beispiel: T-dumm Hotspots.nepos hat geschrieben:Also, zum Filtern von Paketen ist wie schon gesagt wurde iptables dein Freund.
Das mit HTTP verstehe ich so, dass du dich quasi erstmal an deinem Rechner, der den Traffic ueberwachen soll anmeldest und der dann die Regeln fuer den entsprechenden User/Rechner aktiviert. Oder seh ich das nun falsch?
Bevor man da on kann, muss man sich auf nem Webinterface einloggen. Alles andere ist gesperrt und wird nicht weitergeleitet. Sobald man sich auf diesem Webinterface (das meinte ich mit HTTP) eingeloggt hat, kann man auch den Rest (FTP, Telnet, SSH, wasweis ich alles) benutzen. Basierend allerdings auf MACs. Dynamisch deswegen, weil man die Regeln ja ändern muss für jedes ein/ausloggen.
Das alles geht mit iptables?
Ziel ist sowas ähnliches wie ein Hotspotsystem (Technisch eigentlich ziemlich gleich aber es gibt noch Unterschiede)
MFG
Matthias
Ok, hab mich n wenig in iptables reingearbeitet, sieht schonmal nicht schlecht aus
Ein Problem hab ich noch (aber ich glaub das geht nicht mit iptables):
Ich möchte, dass eine einzige Domain erreichbar ist über HTTP, und wenn eine andere angefordert wird soll umgeleitet werden. Wie bekomm ich das hin?
Ein Problem hab ich noch (aber ich glaub das geht nicht mit iptables):
Ich möchte, dass eine einzige Domain erreichbar ist über HTTP, und wenn eine andere angefordert wird soll umgeleitet werden. Wie bekomm ich das hin?
- chroiss
- Beiträge: 332
- Registriert: 29.10.2004 09:29:43
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)
das nur eine explzite domain (genau eine ipadresse) über http erreichbar ist wäre über iptables realisierbar.
schwieriger wird es da schon mit dem umlenken..
da würde ich dir squid empfehlen.
vorher einfach per iptables bestimmen ,das alles über den squid laufen muss
BSP:
und da per acl's bestimmen wo es hingehen darf oder auch nicht...
gruss chroiss
Code: Alles auswählen
iptables -I FORWARD -i $INTDEV -p tcp -s 192.168.1.1 --dport 80 -d ! 66.66.66.66 -m state --state NEW,ESTABLISHED,RELATED -j DROP
da würde ich dir squid empfehlen.
vorher einfach per iptables bestimmen ,das alles über den squid laufen muss
BSP:
Code: Alles auswählen
iptables -t nat -A PREROUTING -i $INTDEV -p tcp --dport 80 -j REDIRECT --to-port 3128
gruss chroiss
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.
Eben da ist das Problem ... es muss ne Domain sein, IP is schon zu viel.
Habs mir so überlegt: Aller HTTP-Traffic wird auf localhost umgeleitet (wenn nicht geauthed), der hat virtualhost * und ne rewriterule leitet alle "falschen" domains auf die richtige um (also auch localhost) und DA is dann diese loginseite drauf ...
machbar?
Habs mir so überlegt: Aller HTTP-Traffic wird auf localhost umgeleitet (wenn nicht geauthed), der hat virtualhost * und ne rewriterule leitet alle "falschen" domains auf die richtige um (also auch localhost) und DA is dann diese loginseite drauf ...
machbar?