Circuit Level Proxy (generischer Proxy) Erklärung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „*Als Circuit Level Proxy (auch Generischer Proxy genannt) wird ein Paketfiltermodul bezeichnet, mit dem man auf einer Firewall beliebige IP-Adressen und Ports…“)
 
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
*Als Circuit Level Proxy (auch Generischer Proxy genannt) wird ein Paketfiltermodul bezeichnet, mit dem man auf einer Firewall beliebige IP-Adressen und Ports sperren bzw. freischalten kann, ohne jedoch die Möglichkeit zu haben, die Paketinhalte damit zu analysieren.
+
=Gateways auf Leitungsebene=
*Ein solcher Proxy, der auf den OSI-Schichten 3 und 4 operiert, reicht die Pakete mitunter einfach durch, ohne die Verbindungen selbst zu terminieren.  
+
 
*Der Circuit Level Proxy realisiert die Adressumsetzung dann mithilfe von NAT auf der OSI-Schicht 3.
+
*Ein Circuit-Level-Gateway (Schaltungsebene-Gateway) arbeitet auf der Transportebene (OSI-Schicht 4) und vermittelt TCP- oder UDP-Verbindungen zwischen zwei Netzwerken.
*Während die Adressfilterung ebenfalls auf der dritten OSI-Schicht angesiedelt ist, realisiert er zudem eine Port-Filterung auf der vierten OSI-Schicht.
+
*Im Wesentlichen handelt es sich dabei um einen Proxy-Server für TCP-Verbindungen.
*Es gibt auch Circuit Level Proxys, die dank einem speziellen Protokoll eine Authentifizierung auf der OSI-Schicht 5 realisieren können.
+
*Das Gateway übernimmt die Sitzungserstellung zwischen Client und Server, ohne in den Datenstrom auf Anwendungsebene einzugreifen.
*Der Client holt sich so eine Verbindungsgenehmigung z. B. per Eingabe einer Kennung nebst Passwort.
+
 
*Dieses spezielle Authentifizierungsprotokoll muss der Client allerdings kennen, weshalb ein derart befähigter Circuit Level Proxy weniger generisch ist (er funktioniert nur mit Anwendungen auf dem Client zusammen, die entsprechend erweitert wurden). Als Beispiel für ein solches Authentifizierungsprotokoll sei SOCKS genannt.
+
==Funktionsweise==
*Solch ein erweiterter Circuit Level Proxy greift nicht zwangsläufig auf NAT zurück.  
+
*Ein Client ist so konfiguriert, dass er seine Verbindungen über das Circuit-Level-Gateway aufbaut.
*Einige von ihnen machen dies gar vom Protokoll abhängig; so wird z. B. die TCP-Verbindung terminiert, während eine UDP-Verbindung schlicht weitergereicht wird.
+
*Wenn der Client eine TCP-Verbindung zu einem Zielserver öffnen möchte:
*Ein generischer Proxy kann auch für eine einfache Weiterleitung genutzt werden.
+
**Das Gateway empfängt die Verbindungsanforderung vom Client.
*Der denkbar einfachste Proxy ist das Linux-Programm Redir, das auf einer Schnittstelle und einem Port lauscht und die Daten auf ein anderes Interface und Port weitergibt.
+
**Es kann den Benutzer oder den Client authentifizieren und autorisieren.
*Dies ist auch mit dem iptables-Kommando unter Linux möglich und wird beispielsweise verwendet, um den Exit-Datenverkehr eines Tor-Servers über mehrere Proxys zu leiten, um so den Tor-Server zu schützen.
+
**Es baut im Auftrag des Clients eine zweite TCP-Verbindung zum Zielserver auf.
 +
*Nach erfolgreichem Aufbau der zweiten Verbindung leitet das Gateway die Datenpakete zwischen den beiden Verbindungen unverändert weiter.
 +
*Das Circuit-Level-Gateway analysiert oder verändert die übertragenen Daten nicht – es kennt das verwendete Anwendungsprotokoll nicht.
 +
*Dadurch ist die Implementierung einfacher als bei Application-Level-Gateways, die das Protokoll interpretieren können.
 +
 
 +
==Abgrenzung zum Application-Level-Gateway==
 +
*Ein Application-Level-Gateway (ALG) versteht die verwendeten Anwendungsprotokolle (z. B. HTTP, SMTP, FTP) und kann die übertragenen Inhalte prüfen, filtern oder verändern.
 +
*Ein Circuit-Level-Gateway hingegen leitet nur die TCP- oder UDP-Verbindung selbst weiter, unabhängig vom darüberliegenden Protokoll.
 +
*Damit bietet es eine gute Balance zwischen Sicherheit und Performance, jedoch ohne inhaltsbasierte Kontrolle.
 +
 
 +
==SOCKS als Beispiel==
 +
*Das bekannteste Circuit-Level-Gateway ist das Protokoll '''SOCKS'''.
 +
*SOCKS implementiert die Vermittlung von TCP-Verbindungen zwischen Client und Server über ein Gateway.
 +
*Dazu muss der Client für SOCKS angepasst („socksifiziert“) sein.
 +
*Ein '''socksifizierter Client''' ist in der Lage, SOCKS-Verbindungsaufrufe zu erzeugen, die über das Gateway laufen.
 +
*Viele Webbrowser (z. B. Firefox oder Microsoft Edge) unterstützen SOCKS nativ.
 +
*Alternativ können angepasste TCP/IP-Stacks verwendet werden, die SOCKS-Unterstützung systemweit bereitstellen.
 +
*Der SOCKS-Server selbst läuft meist auf einer Firewall und vermittelt Verbindungen zwischen internen Clients und externen Servern, ohne dass auf Serverseite Änderungen notwendig sind.
 +
 
 +
=Quelle=
 +
*[https://flylib.com/books/en/4.179.1.22/1/ Flylib – Circuit-Level Gateway]

Aktuelle Version vom 4. November 2025, 20:47 Uhr

Gateways auf Leitungsebene

  • Ein Circuit-Level-Gateway (Schaltungsebene-Gateway) arbeitet auf der Transportebene (OSI-Schicht 4) und vermittelt TCP- oder UDP-Verbindungen zwischen zwei Netzwerken.
  • Im Wesentlichen handelt es sich dabei um einen Proxy-Server für TCP-Verbindungen.
  • Das Gateway übernimmt die Sitzungserstellung zwischen Client und Server, ohne in den Datenstrom auf Anwendungsebene einzugreifen.

Funktionsweise

  • Ein Client ist so konfiguriert, dass er seine Verbindungen über das Circuit-Level-Gateway aufbaut.
  • Wenn der Client eine TCP-Verbindung zu einem Zielserver öffnen möchte:
    • Das Gateway empfängt die Verbindungsanforderung vom Client.
    • Es kann den Benutzer oder den Client authentifizieren und autorisieren.
    • Es baut im Auftrag des Clients eine zweite TCP-Verbindung zum Zielserver auf.
  • Nach erfolgreichem Aufbau der zweiten Verbindung leitet das Gateway die Datenpakete zwischen den beiden Verbindungen unverändert weiter.
  • Das Circuit-Level-Gateway analysiert oder verändert die übertragenen Daten nicht – es kennt das verwendete Anwendungsprotokoll nicht.
  • Dadurch ist die Implementierung einfacher als bei Application-Level-Gateways, die das Protokoll interpretieren können.

Abgrenzung zum Application-Level-Gateway

  • Ein Application-Level-Gateway (ALG) versteht die verwendeten Anwendungsprotokolle (z. B. HTTP, SMTP, FTP) und kann die übertragenen Inhalte prüfen, filtern oder verändern.
  • Ein Circuit-Level-Gateway hingegen leitet nur die TCP- oder UDP-Verbindung selbst weiter, unabhängig vom darüberliegenden Protokoll.
  • Damit bietet es eine gute Balance zwischen Sicherheit und Performance, jedoch ohne inhaltsbasierte Kontrolle.

SOCKS als Beispiel

  • Das bekannteste Circuit-Level-Gateway ist das Protokoll SOCKS.
  • SOCKS implementiert die Vermittlung von TCP-Verbindungen zwischen Client und Server über ein Gateway.
  • Dazu muss der Client für SOCKS angepasst („socksifiziert“) sein.
  • Ein socksifizierter Client ist in der Lage, SOCKS-Verbindungsaufrufe zu erzeugen, die über das Gateway laufen.
  • Viele Webbrowser (z. B. Firefox oder Microsoft Edge) unterstützen SOCKS nativ.
  • Alternativ können angepasste TCP/IP-Stacks verwendet werden, die SOCKS-Unterstützung systemweit bereitstellen.
  • Der SOCKS-Server selbst läuft meist auf einer Firewall und vermittelt Verbindungen zwischen internen Clients und externen Servern, ohne dass auf Serverseite Änderungen notwendig sind.

Quelle