transparenter Proxy, jeder Client eine IP
Clients hinter Proxy nicht verschleiern
Hallo,
für ein Projekt habe ich mir folgendes überlegt:
Mehrer Benutzer teilen sich eine Internetleitung mit mehreren externen IP Adressen. Jetzt hat jeder eine eigene externe Adresse und ich muss mir keine Gedanken über großartige logging Möglichkeiten machen, da ich nur die Zuordnung IP Adresse - Benutzer für rechtliche Zwecke mitloggen muss.
Mein Problem ist, dass ich geren einen http Proxy zwischen dem internen und öffentlichen Netz stellen will. Dieser dient eigentlich nur zur Bandbreitenminimierung (Cache). Jetzt ist aber ja eine der Aufgaben eines Proxys selbst als stellvertreter für einen Client auf zu treten. Wie schaffe ich es dem Proxy dies ab zu gewöhnen? Ich habe bisher noch nichts im Internet dazu gefunden, habe die Vermutung das dies auch nicht möglich ist.
Wenn nicht, gibt es eine alternative für den http Verkehr zu cachen?
Vielen Dank
Heiko
Hallo,
für ein Projekt habe ich mir folgendes überlegt:
Mehrer Benutzer teilen sich eine Internetleitung mit mehreren externen IP Adressen. Jetzt hat jeder eine eigene externe Adresse und ich muss mir keine Gedanken über großartige logging Möglichkeiten machen, da ich nur die Zuordnung IP Adresse - Benutzer für rechtliche Zwecke mitloggen muss.
Mein Problem ist, dass ich geren einen http Proxy zwischen dem internen und öffentlichen Netz stellen will. Dieser dient eigentlich nur zur Bandbreitenminimierung (Cache). Jetzt ist aber ja eine der Aufgaben eines Proxys selbst als stellvertreter für einen Client auf zu treten. Wie schaffe ich es dem Proxy dies ab zu gewöhnen? Ich habe bisher noch nichts im Internet dazu gefunden, habe die Vermutung das dies auch nicht möglich ist.
Wenn nicht, gibt es eine alternative für den http Verkehr zu cachen?
Vielen Dank
Heiko
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 104004
Url: https://administrator.de/contentid/104004
Ausgedruckt am: 05.11.2024 um 11:11 Uhr
1 Kommentar
Hallo Heiko,
Das Problem ist, das der Proxy auch im transparentem Modus die Verbindung terminiert und neu aufbaut. Das führt dazu, das alle nachfolgenden Systeme nicht mehr sehen, von welcher Quell-IP die verbindung eigentlich kommt. Ein HTTP-Proxy (vermutlich verwendest du Squid) ist in der Lage, im HTTP-Request die Zeile "Forward For", gefolgt von der IP-Adresse des Clients hinzuzufügen. Du aber aus den Protokollen am Proxy sehr genau sehen wer wann welche Seite wie lange aufgerufen hat. Kommt es nun zu einem Streitfall, muss der Kläger entweder die "FORWARD-FOR" IP angeben oder sehr sehr genaue Informationen über die besuchten Seiten und abgerufenen Dateien inkl. Zeitstempeln liefern. Daraus lässt sich die Quelle ebenfalls bestimmen.
Alternativ könntest du mit (sehr viel) Aufwand jedem internem Client eine private Adresse geben, alle Öffentlichen am Proxy terminieren und über Zugriffsregeln die richtige Quelladresse am ausgehendem Interface für Verbindungen vom jeweiligem Client nutzen. So etwas müsste man theoretisch mit mehreren pools und acl´s hinbekommen.
Das Problem ist, das der Proxy auch im transparentem Modus die Verbindung terminiert und neu aufbaut. Das führt dazu, das alle nachfolgenden Systeme nicht mehr sehen, von welcher Quell-IP die verbindung eigentlich kommt. Ein HTTP-Proxy (vermutlich verwendest du Squid) ist in der Lage, im HTTP-Request die Zeile "Forward For", gefolgt von der IP-Adresse des Clients hinzuzufügen. Du aber aus den Protokollen am Proxy sehr genau sehen wer wann welche Seite wie lange aufgerufen hat. Kommt es nun zu einem Streitfall, muss der Kläger entweder die "FORWARD-FOR" IP angeben oder sehr sehr genaue Informationen über die besuchten Seiten und abgerufenen Dateien inkl. Zeitstempeln liefern. Daraus lässt sich die Quelle ebenfalls bestimmen.
Alternativ könntest du mit (sehr viel) Aufwand jedem internem Client eine private Adresse geben, alle Öffentlichen am Proxy terminieren und über Zugriffsregeln die richtige Quelladresse am ausgehendem Interface für Verbindungen vom jeweiligem Client nutzen. So etwas müsste man theoretisch mit mehreren pools und acl´s hinbekommen.