Netzwerktraffic "filtern"

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
MaLo
Beiträge: 19
Registriert: 15.01.2005 22:20:42
Kontaktdaten:

Netzwerktraffic "filtern"

Beitrag von MaLo » 03.08.2006 18:33:08

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

Benutzeravatar
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ääääääää

Beitrag von chroiss » 04.08.2006 00:48:34

Ein Rechner mit 2 Netzwerkkarten soll den Traffic zwichen diesen beiden Anschlüssen "überwachen" und gegebenenfalls blockieren bzw verändern
--> iptables
Das ganze relativ dynamisch
du sprichst von MAC und dann von 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
über http einloggen.... ???!!!
wüsste nicht das man das kann ausser über .htaccess (Authentifizieren) ; und dann ftp benutzen ???!!!

--> SCP

oder vielleicht

Code: Alles auswählen

knockd ???
den kompletten Datendurchsatz der rein und rausgeht zu checken und explizit weiterzuschicken?
--> iptables

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.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 04.08.2006 10:12:37

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?

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 04.08.2006 10:29:00

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....
Perl macht Spass.

MaLo
Beiträge: 19
Registriert: 15.01.2005 22:20:42
Kontaktdaten:

Beitrag von MaLo » 04.08.2006 16:47:18

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?
Ok ... schönes Beispiel: T-dumm Hotspots.

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

MaLo
Beiträge: 19
Registriert: 15.01.2005 22:20:42
Kontaktdaten:

Beitrag von MaLo » 06.08.2006 11:00:10

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?

Benutzeravatar
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.)

Beitrag von chroiss » 06.08.2006 22:47:19

das nur eine explzite domain (genau eine ipadresse) über http erreichbar ist wäre über iptables realisierbar.

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
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:

Code: Alles auswählen

 iptables -t nat -A PREROUTING -i $INTDEV -p tcp --dport 80 -j REDIRECT --to-port 3128
und da per acl's bestimmen wo es hingehen darf oder auch nicht...


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.

MaLo
Beiträge: 19
Registriert: 15.01.2005 22:20:42
Kontaktdaten:

Beitrag von MaLo » 06.08.2006 22:58:20

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?

Antworten