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…“)
 
 
(Eine dazwischenliegende Version desselben Benutzers wird 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.  
+
*Im Wesentlichen ist ein Circuit-Level-Gateway ein Proxy-Server für TCP
*Der Circuit Level Proxy realisiert die Adressumsetzung dann mithilfe von NAT auf der OSI-Schicht 3.
+
*Genauer gesagt macht ein Circuit-Level-Gateway die folgenden drei Dinge, wenn ein Client eine TCP-Verbindung zu einem Server herstellen möchte
*Während die Adressfilterung ebenfalls auf der dritten OSI-Schicht angesiedelt ist, realisiert er zudem eine Port-Filterung auf der vierten OSI-Schicht.
+
*Es empfängt die TCP-Verbindungsaufbauanforderung, die vom Client gesendet wird (weil der Client so konfiguriert ist, dass er das Circuit-Level-Gateway verwendet).
*Es gibt auch Circuit Level Proxys, die dank einem speziellen Protokoll eine Authentifizierung auf der OSI-Schicht 5 realisieren können.
+
*Es authentifiziert und autorisiert möglicherweise den Client (oder den Benutzer hinter dem Client).
*Der Client holt sich so eine Verbindungsgenehmigung z. B. per Eingabe einer Kennung nebst Passwort.
+
*Er baut im Auftrag des Clients eine zweite TCP - Verbindung zum Server auf .
*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.  
+
*Nachdem die zweite TCP-Verbindung erfolgreich aufgebaut wurde, leitet das Circuit-Level-Gateway einfach Anwendungsdaten hin und her.
*Solch ein erweiterter Circuit Level Proxy greift nicht zwangsläufig auf NAT zurück.
+
*Als solches stört es den Datenstrom nicht.  
*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.
+
*Dies unterscheidet ein Circuit-Level-Gateway von einem Application-Level-Gateway.
*Ein generischer Proxy kann auch für eine einfache Weiterleitung genutzt werden.
+
*Da der Application-Level-Gateway das von den beiden Endpunkten der Verbindung verwendete Anwendungsprotokoll verstehen kann.  
*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.
+
*Das bedeutet im Grunde, dass das Circuit-Level-Gateway das verwendete Anwendungsprotokoll nicht verstehen muss.  
*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.
+
*Dies vereinfacht die Implementierung und den Einsatz von Circuit-Level-Gateways erheblich.
 +
*Das wichtigste Gateway auf Schaltungsebene, das heute verwendet wird, ist SOCKS.  
 +
*Es ist ein Circuit-Level-Gateway, das einem angepassten Client-Ansatz folgt, was bedeutet, dass es Anpassungen und Modifikationen an der Client-Software erfordert
 +
*Genauer gesagt erfordert SOCKS Änderungen entweder an der Client-Software oder am TCP/IP-Stack, um das Abfangen an der Firewall zwischen dem Client und dem Server zu ermöglichen:
 +
*Ein Client, der modifiziert wurde, um SOCKS-Interaktionen zu handhaben, wird allgemein als ˜ ˜socksifizierter Client bezeichnet.  
 +
*Gemäß dieser Terminologie sind die meisten Webbrowser (z. B. Microsofts Internet Explorer) SOCKS-Clients und geben SOCKS-Aufrufe aus, die für ihre Benutzer transparent sind.
 +
*Sockified TCP/IP-Stacks sind ebenfalls verfügbar, was die Notwendigkeit von Client-Software-Modifikationen überflüssig machen kann.
 +
*In beiden Fällen befindet sich der SOCKS-Server an der Firewall und interagiert mit den Socksified-Clients oder TCP/IP-Stacks.
 +
*Für die Server, die sich entweder im Internet oder im Intranet befinden können, sind keine weiteren Änderungen erforderlich.
 +
=Quelle=
 +
*https://flylib.com/books/en/4.179.1.22/1/

Aktuelle Version vom 6. Dezember 2022, 10:41 Uhr

Gateways auf Leitungsebene

  • Im Wesentlichen ist ein Circuit-Level-Gateway ein Proxy-Server für TCP
  • Genauer gesagt macht ein Circuit-Level-Gateway die folgenden drei Dinge, wenn ein Client eine TCP-Verbindung zu einem Server herstellen möchte
  • Es empfängt die TCP-Verbindungsaufbauanforderung, die vom Client gesendet wird (weil der Client so konfiguriert ist, dass er das Circuit-Level-Gateway verwendet).
  • Es authentifiziert und autorisiert möglicherweise den Client (oder den Benutzer hinter dem Client).
  • Er baut im Auftrag des Clients eine zweite TCP - Verbindung zum Server auf .
  • Nachdem die zweite TCP-Verbindung erfolgreich aufgebaut wurde, leitet das Circuit-Level-Gateway einfach Anwendungsdaten hin und her.
  • Als solches stört es den Datenstrom nicht.
  • Dies unterscheidet ein Circuit-Level-Gateway von einem Application-Level-Gateway.
  • Da der Application-Level-Gateway das von den beiden Endpunkten der Verbindung verwendete Anwendungsprotokoll verstehen kann.
  • Das bedeutet im Grunde, dass das Circuit-Level-Gateway das verwendete Anwendungsprotokoll nicht verstehen muss.
  • Dies vereinfacht die Implementierung und den Einsatz von Circuit-Level-Gateways erheblich.
  • Das wichtigste Gateway auf Schaltungsebene, das heute verwendet wird, ist SOCKS.
  • Es ist ein Circuit-Level-Gateway, das einem angepassten Client-Ansatz folgt, was bedeutet, dass es Anpassungen und Modifikationen an der Client-Software erfordert
  • Genauer gesagt erfordert SOCKS Änderungen entweder an der Client-Software oder am TCP/IP-Stack, um das Abfangen an der Firewall zwischen dem Client und dem Server zu ermöglichen:
  • Ein Client, der modifiziert wurde, um SOCKS-Interaktionen zu handhaben, wird allgemein als ˜ ˜socksifizierter Client bezeichnet.
  • Gemäß dieser Terminologie sind die meisten Webbrowser (z. B. Microsofts Internet Explorer) SOCKS-Clients und geben SOCKS-Aufrufe aus, die für ihre Benutzer transparent sind.
  • Sockified TCP/IP-Stacks sind ebenfalls verfügbar, was die Notwendigkeit von Client-Software-Modifikationen überflüssig machen kann.
  • In beiden Fällen befindet sich der SOCKS-Server an der Firewall und interagiert mit den Socksified-Clients oder TCP/IP-Stacks.
  • Für die Server, die sich entweder im Internet oder im Intranet befinden können, sind keine weiteren Änderungen erforderlich.

Quelle