Proxy trägt Route automatisch ein ?

hubivo

Vogtländer
Hallo,

ich habe heute folgende Beobachtung an unserem Proxy (squid) gemacht:

Wir haben im Netz einen Router (10.49.0.1) und eine Firewall (Sony Watchpack 10.49.0.7). Die beiden Komponenten sind im Netz "nebeneinander", nicht "hintereinander" gehängt.
Am Proxy ist als Default-Gateway der Router (10.49.0.1) eingetragen. Der Internetverkehr geht natürlich komplett über die Firewall (10.49.0.7).
Also müssten ja alle Anfragen an das Internet vom Proxy aus über den Router und dann über die Firewall laufen.
Das läuft aber nicht so ab. Der Proxy hat sich nun für den Internetverkehr die Route 10.49.0.7 eingetragen und zwar von selbst (ich selbst habe ihm keine Routen eingetragen). Das sehe ich zumindest, wenn ich irgendwohin ein traceroute mache.

1. Woher weiss denn der Router, dass alles, was in`s Internet gehen soll, über die Firewall (10.49.0.7) abzuwickeln ist ? Ist das im Router irgendwo eingetragen ?

2. Woher weiss den der Proxy jetzt, dass der Weg über die Firewall der kürzere ist, als wenn er erst über seinen Default-Gateway geht ?

3. Wo speichert der Proxy die Routen ? Gibt es da eine Datei ?

Denn eigentlich soll der Proxy wirklich erst über den Default-Gateway gehen.

thx in advance
kind regards
hubivo
 
Bringt $netstat -r was brauchbares?
Hast du mal mit "dynamic routing" rumgespielt?
Läuft der routed Daemon?
 
netstat -r bringt mir für default den Gateway 10.49.0.1 (Router, also richtig), alle Clients, die verbunden sind, gibt er mir mit ihrer MAC an und alle aufgerufenen Websites mit dem Gateway 10.49.0.7 (Firewall, da soll er ja eigentlich auch erst über den 10.49.0.1 gehen).

Mit dynamic routing hab ich bisher noch nicht "herumgespielt" *g*, denn davon, wovon ich noch nichts weiss, lass ich meist die Finger.

Und routed find ich unter top nicht.

regards
hubivo
 
Die Lösung ist ganz einfach:

Proxy, Router und Firewall benutzen u.A. das Protokoll ICMP. Mit ICMP sendest du z.B. deinen Ping aus. ICMP kann aber mehr. Einer der ICMP-Nachrichtentypen heißt Redirect und damit sagt der Router deinem Proxy, dass das Zielnetz eine kleinere Metrik besitzt, wenn der Proxy direkt über die Firewall geht. Der Proxy empfängt diese Nachricht und nutzt deshalb direkt die Firewall als Internetgateway.
 
danke Morph
....das sagt mir, dass meine Grundbildung, was Networking, Routing usw. betrifft stark zu wünschen übrig lässt, ich geh mich mal schämen ;'(

regards
hubivo
 
Wenn der Proxy auf ICMP-Redirects reagiert, dann bezeichne ich ihn hiermit als b0rken. Da koennte ja jeder kommen und den ganzen HTTP Verkehr mitsniffen!
 
Naja, also für Sniffergeschichten gibt es bessere Möglichkeiten. Aber wenn ich einen Fiesling in meinem Netz habe, könnte ich per Redirect alle Gatewayanfragen auf einen ClientPC lenken und die User würden das dann als Netzausfall wahrnehmen, weil das echte Gateway nicht mehr reagiert.
 
Das geht natuerlich auch ohne ICMP Redirects (man arp-poisoning), aber man muss es dem Angreifer doch nicht extra leicht machen, oder? Welcher IP-Host reagiert heutzutage noch auf ICMP-Redirects?

Und einen Netzausfall muss das auch nicht hervorrufen, dass waere ja super-bloed vom Angreifer, wenn er das Netz derart sabotiert, dass er sofort auffaellt.
 
Ich muss das Thema nochmal aufgreifen: Kann man dieses dynamische Routing irgendwo abstellen ? Wäre vorteilhaft für uns, da wir immer wieder per Hand falsch laufende Routen löschen müssen.

regards
hubivo
 
Hi,
also ganz kurz, ich denke, daß der Router ein ICMP-Redirect Paket an den Squid schickt. D.h. daß er darauf hinweist, daß es einen "direkteren" Weg ins Internet gibt. Die einzige Möglichkeit daß zu unterbinden ist, daß Du entweder am Router, oder sm Proxy-Server die Pakete rausschmeißt. Ist zwar nicht sauber, funktioniert aber. (Habe unter Linux mal nen ähnliches Problem gehabt).
Die Pakete kannst Du eigentlich nur über einen Paketfilter abfangen.

CU sknobl
 
"sysctl" sollte Abhilfe schaffen.

Bin mir nicht sicher wie die Optionen unter FreeBSD benannt sind, denke aber das diese ungefähr so aussehen:

#sysctl -w net.inet.icmp.drop_redirect=1
#sysctl -w net.inet.icmp.log_redirect=1
#sysctl -w net.inet.ip.redirect=0
#sysctl -w net.inet6.ip6.redirect=0

Nicht vergessen das Zeug in /etc/sysctl.conf einzutragen (wenn's stimmen sollte)

[EDIT] sysctl -w net.inet.icmp.log_redirect=0 sollte es sein :)
 
Zuletzt bearbeitet:
So, lange hat es gedauert, aber jetzt komme ich hoffentlich dazu.

Also bei mir sieht`s so aus, wenn ich mit sysctl -a abfrage:

net.inet.icmp.drop_redirect=0
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=1
net.inet6.ip6.redirect=1

Und aussehen soll es laut obsduser so:

net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0

Nun find ich aber unter FreeBSD unter man sysctl nur Variablen, um mir etwas anzeigen zu lassen (show, list). Nichts, um diese Werte zu ändern ?! Bin ich blind, oder mach ich was falsch ? Wie ändere ich diese Werte unter FreeBSD ?
Der blosse Eintrag in der /etc/sysctl.conf wird`s doch wohl nicht tun, oder ?

need a helping hand again.... ;'(

regards
hubivo
 
Hi,
versuchs mal mit
#sysctl <Variable>=<Wert>, also z.B.
#sysctl net.inet.ip.redirect=1

Wenn Du die Variablen dauerhaft brauchst, entsprechende Einträge in die /etc/sysctl.conf eintragen. (Format: <Variable>=<Wert>)

CU Knobi
 
Doch ... teste mal,die Datei wird beim Systemstart
eingelesen und ist insgesamt als mächtiges Instrument
anzusehen.

Die Variablen können natürlich auch auf der Konsole gesetzt werden sind dort nur hallt nich dauerhaft.

:)

MfG nap
---
Ich liebe mein Land aber ich habe Angst vor meiner Regierung.
 
Alles klar und vielen Dank !

Ich habe es mal im laufenden System nach sknobl`s Anweisung eingetragen. Hat funktioniert, also das System hat die Werte angenommen.

In die sysctl.conf habe ich es auch eingetragen, falls ich den Proxy doch irgendwann in den nächsten 100 Jahren einmal booten muss *g*.

Mal sehen, ob er die Routen jetzt immernoch selbst einträgt. Die Zeit, bzw. der nächste Leitungscrash, wird`s zeigen. Dann post ich hier nochmal.

best regards
hubivo
 
Zurück
Oben