Eine Einführung in Proxies
Proxies sind die Vermittler zwischen einem Client und einem Server im Internet. In unserer Einführung zeigen wir Ihnen, wann ein Proxy von Vorteil ist und wie Sie die richtige Wahl zwischen Forward-Proxy und Reverse-Proxy treffen.
Was ist ein Proxy?
Ein Proxy, auch als Proxy-Server bezeichnet, ist eine Software, die als Vermittler zwischen einem Client und einem Server im Internet fungiert. Ohne einen Proxy würde ein Client eine Anforderung für eine Ressource direkt an einen Server senden, und der Server würde die Ressource direkt an den Client zurücksenden. Obwohl dieser Ansatz einfach zu verstehen und umzusetzen ist, bieten Proxies Vorteile in Form von erhöhter Leistung, Privatsphäre, Sicherheit und mehr. Als zusätzliche Durchgangsschicht fungiert ein Proxy als Torwächter des Internets zwischen Clients und Servern.
Im Allgemeinen wird das kombinierte Paket aus Server-Hardware mit installierter Proxy-Software auch oft als Proxy-Server bezeichnet. In diesem Artikel konzentrieren wir uns jedoch auf Proxies, die traditionell als Software und im Kontext von Webservern definiert sind. Wir werden eine Aufschlüsselung der beiden Haupttypen, den Forward-Proxy und den Reverse-Proxy, erhalten. Jeder Typ hat einen unterschiedlichen Anwendungsfall, der aufgrund der ähnlichen Namenskonventionen oft verwechselt wird.
Verständnis der Forward Proxies
Ein Forward Proxy, auch als offener Proxy bezeichnet, fungiert als Vertreter für einen Client, der versucht, eine Anforderung über das Internet an einen Ursprungsserver zu senden. In diesem Szenario werden alle Versuche des Clients, Anfragen zu senden, stattdessen an den Forward Proxy gesendet. Der Forward Proxy wird anstelle des Clients die Anfrage prüfen. Zuerst wird er feststellen, ob dieser Client autorisiert ist, Anfragen über diesen speziellen Forward Proxy zu senden. Er wird dann die Anfrage ablehnen oder sie an den Ursprungsserver weiterleiten. Der Client hat keinen direkten Zugang zum Internet; er kann nur das erreichen, was der Forward Proxy ihm erlaubt.
Ein häufiger Anwendungsfall für Forward Proxies besteht darin, erhöhte Privatsphäre oder Anonymität im Internet zu erlangen. Ein Forward Proxy greift anstelle eines Clients auf das Internet zu und kann dabei eine andere IP-Adresse als die ursprüngliche IP-Adresse des Clients verwenden.
Je nach Konfiguration kann ein Forward Proxy eine Reihe von Funktionen gewähren, unter anderem:
• Vermeidung von Ad-Tracking.
• Umgehung von Überwachung.
• Identifizierung von Beschränkungen basierend auf Ihrer Geolokation.
Forward Proxies werden auch in Systemen für zentrale Sicherheit und Zugriffssteuerung verwendet, wie zum Beispiel in einem Arbeitsplatz. Wenn der gesamte Internetverkehr durch eine gemeinsame Forward-Proxy-Schicht geht, kann ein Administrator nur bestimmten Clients den Zugriff auf das Internet durch eine gemeinsame Firewall gestatten. Anstatt Firewalls für die Client-Schicht zu pflegen, die viele Maschinen mit unterschiedlichen Umgebungen und Benutzern umfassen können, kann eine Firewall auf der Forward-Proxy-Schicht platziert werden.
Beachten Sie, dass Forward Proxies manuell eingerichtet werden müssen, um verwendet zu werden, während Reverse Proxies vom Client unbemerkt bleiben können. Je nachdem, ob die IP-Adresse eines Clients vom Forward Proxy an den Ursprungsserver weitergegeben wird, kann Privatsphäre und Anonymität gewährt oder transparent bleiben.
Es gibt mehrere Optionen für Forward Proxies:
• Apache oder Nginx: Zwei beliebte Open-Source-Webserver mit Forward-Proxy-Funktionalität.
• Squid: Ein Open-Source-Forward-Proxy, der das HTTP-Protokoll verwendet. Diese Option enthält keine vollständige Webserver-Lösung.
• Dante: Ein Forward-Proxy, der das SOCKS-Protokoll anstelle von HTTP verwendet und sich daher für Anwendungsfälle wie Peer-to-Peer-Verkehr besser eignet.
Verständnis der Reverse Proxies
Ein Reverse Proxy fungiert als Vertreter eines Web-Servers und bearbeitet eingehende Anfragen von Clients in seinem Namen. Dieser Webserver kann ein einzelner Server oder mehrere Server sein und auch ein Anwendungsserver wie Gunicorn sein. In jedem Fall würde eine Anfrage über das Internet, die an den Webserver gerichtet ist, zuerst durch den Reverse Proxy gehen, der entscheidet, welche Anwendungsserver die Anfrage bedienen soll.
Einige der Hauptanwendungen von Reverse Proxies sind:
• Lastausgleich: Ein Reverse Proxy kann eingehende Anfragen gleichmäßig auf mehrere Anwendungsserver verteilen, um sicherzustellen, dass kein Server überlastet wird.
• Caching: Ein Reverse Proxy kann häufig verwendete Inhalte zwischenspeichern, um die Anforderungen, die an den Server gestellt werden, zu verringern und so die Serverlast zu reduzieren.
• Komprimierung: Ein Reverse Proxy kann Inhalte komprimieren, bevor sie an den Client gesendet werden, um die benötigte Bandbreite zu reduzieren und die Geschwindigkeit zu erhöhen.
• SSL-Entschlüsselung: Ein Reverse Proxy kann dazu verwendet werden, SSL für einen Server zu handhaben, der diese Funktion nicht nativ unterstützt.
Es gibt viele verschiedene Optionen für Reverse Proxies, aber einige der beliebtesten sind Nginx und Apache.
Unterscheidung der Anwendungsfälle für Forward und Reverse Proxies
Da „Forward“ und „Reverse“ Konnotationen von Richtung und irreführende Vergleiche mit „eingehendem“ und „ausgehendem“ Datenverkehr haben, können diese Bezeichnungen verwirrend sein. Hier ist eine kurze Unterscheidung zwischen den beiden:
• Forward Proxy: Steht zwischen einem Client und dem Internet. In der Regel vom Client aus eingerichtet.
• Reverse Proxy: Steht zwischen dem Internet und einem Web-Server. In der Regel vom Betreiber des Webservers eingerichtet.
Ein Forward Proxy ist in erster Linie für den Client nützlich, da er die Privatsphäre erhöhen, den Zugriff kontrollieren und Inhalte filtern kann. Ein Reverse Proxy ist in erster Linie für den Server nützlich, da er Lastausgleich, Caching und Komprimierung handhaben kann.
Wenn Sie das nächste Mal einen Webserver einrichten oder Ihre Internet-Verbindung sicherer machen wollen, sollten Sie erwägen, einen Proxy zu Ihrem Vorteil zu nutzen.