Proxies und Virtual Private Networks (VPNs)
Proxys und VPNs unterscheiden sich in ihrer Art, obwohl sie einige der gleichen Dienste bereitstellen können. Ein VPN leitet den gesamten Netzwerkverkehr auf einem Clientcomputer durch einen Tunnel zu einem anderen Servercomputer weiter. Es ist keine individuelle Anwendungskonfiguration erforderlich. Im Gegensatz dazu muss für die Verwendung eines Proxys jede Anwendung einzeln konfiguriert werden, um sicherzustellen, dass der Datenverkehr den Proxy durchläuft.
Mit einem VPN soll einem Remoteclientcomputer der Zugriff auf Netzwerkressourcen an einem anderen Ort ermöglicht werden, als befände er sich physisch im selben Büro. Eine dieser Netzwerkressourcen kann der Zugriff auf das Internet sein, das die IP-Adresse des Remotecomputers maskiert. Aus diesem Grund sind VPNs in letzter Zeit immer beliebter geworden, da sie sowohl ein Geo-Obfuscation-Tool für den Zugriff auf Inhalte sind, die im Land des Clientcomputers nicht verfügbar sind (z. B. US Netflix von außerhalb der USA), als auch ein Tool zum Schutz der Privatsphäre, um die IP des Clients zu verhindern Adresse von entdeckt werden. Ein Proxy ist insofern eingeschränkt, als er keinen Zugriff auf Remoteressourcen bietet, aber Ihre IP-Adresse maskieren und Geoverdeckungsdienste bereitstellen kann.
Arten von Proxies
Die beiden häufigsten Arten von Proxys sind HTTP (Hyper Text Transfer Protocol) und SOCKS5 (Secure Sockets 5). Die Protokolle SOCKS4 und SOCKS4a unterstützen weder UDP noch Authentifizierung. Die aktuellen SOCKS5- und HTTP-Proxys unterscheiden sich folgendermaßen:
- Im Allgemeinen kann der HTTP-Proxy nur HTTP-Datenverkehr (TCP) per Proxy übertragen, wohingegen ein SOCKS5-Proxy jede Art von Datenverkehr über TCP oder UDP verarbeiten kann.
- Ein SOCKS5-Proxy interpretiert den durch ihn gesendeten Datenverkehr in keiner Weise, wohingegen ein HTTP-Proxy dies normalerweise tut. Dies bedeutet, dass ein SOCKS5-Proxy universeller ist und mit mehr Anwendungen verwendet werden kann.
- Ein HTTP-Proxy kann nur mit HTTP-Clients wie einem Webbrowser verwendet werden. Da er jedoch den HTTP-Inhalt kennt, kann er zusätzlich zum Proxy-Dienst auch clevere Dinge wie das Zwischenspeichern oder Umschreiben von Headern ausführen. Aus Gründen der Anonymität und des Datenschutzes ist ein SOCKS5-Proxy die bessere Wahl, da er allgemeiner verwendet werden kann.
In diesem Beitrag beschäftigen wir uns mit der Einrichtung der einfachsten Art von SOCKS5-Proxy mithilfe von SSH (Secure Shell). Wir richten bei Digital Ocean einen kostengünstigen VPS ein, konfigurieren den SSH-Server und richten einige Client-Anwendungen für die Verwendung des Proxys ein.
Richten Sie den Proxy-Server ein
Fast jede Art von VPS wird dafür funktionieren. Einige Webhosting-Konten funktionieren möglicherweise auch, da Sie lediglich einen SSH-Zugriff ohne Rootberechtigung benötigen. Die Verwendung eines Webhosting-Kontos als Proxyserver kann jedoch gegen die Nutzungsbedingungen einiger Hosts verstoßen. Digital Ocean ist ein bekannter und erschwinglicher Cloud-Anbieter, und einer seiner Server für 5 USD / Monat eignet sich gut für einen SSH-Proxy.
Digital Ocean ist ein Virtual Private Cloud (VPC) -Anbieter, bei dem Sie keinen bestimmten Server kaufen. Stattdessen erstellen Sie ein Konto und verknüpfen eine Zahlungsmethode damit. Anschließend können Sie beliebig viele virtuelle Server erstellen. VPCs bieten in der Regel eine bessere Kontrolle über die Systemspezifikationen und können viel weniger kosten als herkömmliche VPS. Hier finden Sie eine gute Erklärung für die Unterschiede zwischen einem VPS und einem VPC.
Um ein Droplet zu erstellen, klicken Sie auf das Menüelement Droplets und treffen Sie eine Auswahl, um es anzupassen. Ich habe Ubuntu 16.04 LTS (Long Term Support) als Betriebssystem und als kleinste (kostengünstigste) Größe ausgewählt. Tröpfchen werden stundenweise aufgeladen. Die kostengünstigste Option funktioniert gut und kostet für den gesamten Monat nur etwa 5 US-Dollar.
Nun möchten Sie einen Ort für Ihr Droplet auswählen. Beachten Sie, dass bei Verwendung Ihres Proxys der Datenverkehr von der IP-Adresse Ihres Droplets ausgeht. Wenn Sie einen Proxy speziell für Geo-Obfuscation-Zwecke einrichten, sollten Sie einen Ort in oder in der Nähe des Landes auswählen, aus dem Sie stammen möchten.
Sobald Ihr Droplet erstellt wurde, erhalten Sie von Digital Ocean eine Bestätigungs-E-Mail mit der IP-Adresse und den Anmeldeinformationen.
Konfigurieren Sie OpenSSH auf dem VPS
Digital Ocean Droplets werden mit installiertem SSH geliefert und sind sofort einsatzbereit. Das Passwort des Root-Benutzers wird in der Begrüßungs-E-Mail angegeben, sodass auf dem Server keine zusätzliche Einrichtung erforderlich ist. Am besten ist es jedoch, das Standardkennwort zu ändern und einen Benutzer zu erstellen, der speziell für das Proxying vorgesehen ist.
Stellen Sie mit SSH unter MacOS (OSX) oder Linux eine Verbindung zum Droplet her
Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, um eine Verbindung mit der IP-Adresse aus Ihrer Begrüßungs-E-Mail herzustellen:
ssh 66.77.88.99 -l root
Sie werden aufgefordert, den Schlüssel zu akzeptieren. Geben Sie das Passwort aus Ihrer Willkommens-E-Mail ein und ändern Sie das Passwort.
Stellen Sie unter Windows mit PuTTY eine Verbindung zum Droplet her
Wenn Sie Windows verwenden, benötigen Sie einen SSH-Client, um eine Verbindung zu Ihrem Droplet herzustellen. Der am häufigsten verwendete SSH-Client ist PuTTY.
Geben Sie die IP-Adresse Ihres Droplets in das Feld Hostname ein und klicken Sie auf die Schaltfläche Öffnen.
Stellen Sie sicher, dass das System auf dem neuesten Stand ist
Stellen Sie sicher, dass die Systemsoftware auf dem neuesten Stand ist. Veraltete Software ist eine der Hauptursachen für Systemhacks. Die zwei Befehle, um dies in Ubuntu zu tun, sind:
apt-get update
Apt-Get-Upgrade
Auf meinem Droplet gab es nur sehr wenig zu aktualisieren, was bedeutet, dass Digital Ocean die Bilder auf dem neuesten Stand hält.
Fügen Sie einen Benutzer hinzu
Das Droplet wird mit einem Benutzer ausgeliefert – dem allmächtigen Root-Benutzer. Es ist eine gute Sicherheitspraxis, dem System einen weniger privilegierten Benutzer hinzuzufügen und mit diesem Konto eine Verbindung zu Ihrem Proxy herzustellen.
Setzen Sie den folgenden Befehl ab, um einen normalen Benutzer namens myuser hinzuzufügen:
adduser myuser
Legen Sie ein Passwort und mindestens einen richtigen Benutzernamen fest. Sie müssen keine weiteren Informationen eingeben.
Wir haben jetzt alles, was wir brauchen, um den Proxy zu verwenden.
Stellen Sie eine Verbindung zum Proxy her
Um den Proxy zum Tunneln des Datenverkehrs zu verwenden, muss eine Verbindung hergestellt werden. Unix-ähnliche Betriebssysteme verfügen über einen integrierten SSH-Client, während Windows eine Drittanbieteranwendung wie PuTTY benötigt
Verwendung von SSH unter MacOS (OSX) oder Linux
Die Methode zum Herstellen einer Verbindung zum Proxy ist für Linux und MacOS (OSX) identisch. Öffne ein Terminal und verbinde dich mit SSH wie folgt:
ssh 66.77.88.99 -l myuser -D 12345
Ersetzen Sie 66.77.88.99 durch die IP-Adresse aus Ihrem Begrüßungsschreiben von Digital Ocean.
Der Schalter -D weist den SSH-Client an, den an Port 12345 auf Ihrem lokalen Computer gesendeten Datenverkehr an Ihren Proxy weiterzuleiten. Sie können eine beliebige Portnummer verwenden, solange sie über 1024 liegt. In der Hilfedatei führt der Schalter -D Folgendes aus:
Gibt eine lokale “dynamische” Portweiterleitung auf Anwendungsebene an. Dies funktioniert durch Zuweisen eines Sockets zum Abhören des Ports auf der lokalen Seite, der optional an die angegebene bind_address gebunden ist. Wann immer eine Verbindung zu diesem Port hergestellt wird, wird die Verbindung über den sicheren Kanal weitergeleitet und das Anwendungsprotokoll wird dann verwendet, um zu bestimmen, wo von dem entfernten Computer aus eine Verbindung hergestellt werden soll. Derzeit werden die Protokolle SOCKS4 und SOCKS5 unterstützt, und ssh wird als SOCKS-Server fungieren.
Trennen Sie diese SSH-Sitzung nicht. Sie können es minimieren, um es aus dem Weg zu räumen, da Sie nichts weiter tun müssen, sondern es so lange laufen lassen, bis Sie den Proxy nicht mehr verwenden.
PuTTY unter Linux oder Windows verwenden
Wenn Sie PuTTY öffnen, befinden Sie sich auf der Registerkarte Sitzung. Geben Sie die IP-Adresse Ihres Droplets ein und belassen Sie den Port bei 22.
Navigieren Sie zu SSH -> Registerkarte “Tunnel”. Geben Sie 12345 (oder einen beliebigen Port) in das Feld Quellport ein. Aktivieren Sie das Optionsfeld Dynamisch und klicken Sie auf die Schaltfläche Hinzufügen.
Wenn Sie dies nicht jedes Mal tun möchten, wenn Sie PuTTY öffnen, navigieren Sie zurück zur Registerkarte “Sitzungen”, markieren Sie die Zeile “Standardeinstellungen” in der Liste “Gespeicherte Sitzungen” und klicken Sie auf die Schaltfläche “Speichern”.
Konfigurieren Sie Ihren Browser und andere Anwendungen für die Verwendung des Proxys
Jetzt, da Sie mit dem Proxy verbunden sind, gibt es drei grundlegende Möglichkeiten, ihn zu verwenden:
- Legen Sie die Netzwerkeinstellungen jeder Anwendung fest, um den Proxy zu verwenden. Nicht alle Anwendungen unterstützen Proxys, aber Webbrowser.
- Verwenden Sie ein Plugin wie das FoxyProxy-Plugin für Firefox und Chrome, um die Anwendungskonfiguration für Sie vorzunehmen.
- Konfigurieren Sie das Betriebssystem selbst so, dass der Proxy für alle Anwendungen verwendet wird.
Die zweite Option ist die einfachste, da Sie den Proxy schnell aktivieren oder deaktivieren und den Browser so konfigurieren können, dass der Proxy nur für bestimmte Sites verwendet wird. Die anderen beiden Optionen erfordern viel Hin- und Herschalten, wenn Sie den Proxy aktivieren oder deaktivieren möchten.
Verwenden der integrierten Netzwerkeinstellungen der Anwendung
Jede Anwendung, die SOCKS5-Proxys unterstützt, sollte den SSH-Tunnel verwenden können. Verwenden Sie einfach die Proxy-Host-IP von 127.0.0.1 (die lokale Host-IP) und den Port von 12345 (oder die von Ihnen ausgewählte Portnummer)..
In Firefox finden Sie die Proxy-Einstellungen in den Einstellungen -> Fortgeschritten -> Netzwerk -> die Einstellungen.
In Chrome müssen Sie unten auf der Seite “Einstellungen” auf den Link “Erweiterte Einstellungen” klicken und dann zu “Netzwerk” navigieren -> Proxy-Einstellungen ändern. Chrome verfügt nicht über eigene Proxy-Einstellungen. Dadurch wird lediglich das Proxy-Einstellungsfeld Ihres Betriebssystems geöffnet.
Wenn Sie Internet Explorer verwenden, finden Sie Ihre Proxy-Einstellungen in den Internetoptionen -> Registerkarte “Verbindungen” -> LAN-Einstellungen. Dadurch wird das Applet für die Systemsteuerung der Windows-Proxyeinstellungen geöffnet. Ähnlich wie in Chrome gibt es keine dedizierten Internet Explorer-Einstellungen für Proxys.
Verwendung eines Plugins für Firefox oder Chrome.
Es gibt eine Reihe von Proxy-Plugins für Firefox und Chrome. Ein beliebtes ist FoxyProxy. Es befindet sich in Ihrer Browserleiste und Sie können den Proxy aktivieren oder deaktivieren, indem Sie darauf klicken. Dies ist viel einfacher als das Durchsuchen Ihres Betriebssystems oder der Browsereinstellungen.
FoxyProxy kann auch so konfiguriert werden, dass bestimmte Sites von der Verwendung des Proxys ausgeschlossen werden. Dies ist nützlich, wenn Sie möchten, dass der Proxy die ganze Zeit ausgeführt wird, aber nicht über die Abwehr Ihrer Bank stolpern und plötzlich in einem anderen Land zu sein scheinen.
Laden Sie FoxyProxy für Ihren Browser herunter.
Wenn Sie FoxyProxy zum ersten Mal starten, enthält das Hauptfenster einen Proxy, der bereits eingerichtet, aber nicht aktiv ist. Es gibt viele Optionen und Konfigurationseinstellungen in FoxyProxy, aber wir konzentrieren uns nur auf die wenigen, die wir benötigen, um den Proxy zum Laufen zu bringen.
Markieren Sie den vorhandenen Proxy und klicken Sie auf die Schaltfläche Auswahl bearbeiten.
Gehen Sie zur Registerkarte Proxy-Details und geben Sie 127.0.0.1 als Host-IP-Adresse und 12345 in das Feld Port ein.
Klicken Sie auf den SOCKS-Proxy? Aktivieren Sie das Kontrollkästchen und aktivieren Sie das Optionsfeld SOCKS5.
Klicken Sie anschließend auf die Registerkarte Allgemein, und stellen Sie sicher, dass die Option Remote-DNS-Suche für Hostnamen durchführen, die über diesen Proxy geladen werden, aktiviert ist. Dies hilft, DNS-Lecks zu vermeiden. Sie werden nicht vollständig ausgeblendet, da WebRTC-Suchvorgänge weiterhin dazu dienen, Ihre echte IP-Adresse zu ermitteln. Mit diesem Tool können Sie DNS-Lecks überprüfen. Es gibt Plugins für Firefox und Google Chrome, die WebRTC-Funktionen deaktivieren.
Schließen Sie das Fenster “FoxyProxy-Einstellungen” und aktivieren Sie den Proxy, indem Sie “Proxy-Standard für alle URLs verwenden” auswählen. Sie können überprüfen, ob Ihr Proxy funktioniert, indem Sie eine Website wie “Wie lautet meine IP-Adresse?” Aufrufen. Dort sollte nun Ihre Proxy-IP-Adresse anstelle der Ihres Internetdienstanbieters angezeigt werden.
Wenn Sie bestimmte URLs identifizieren möchten, die vom Proxy verwendet oder ausgeschlossen werden sollen, müssen Sie einen benutzerdefinierten Proxy erstellen. Klicken Sie auf die Schaltfläche Add New Proxy (Neuen Proxy hinzufügen). Oben im Einstellungsbildschirm wird eine zusätzliche Schaltfläche mit dem Namen URL Patterns (URL-Muster) angezeigt. Klicken Sie auf diese Schaltfläche, um benutzerdefinierte Filter einzurichten.
In diesem Bildschirm können Sie Websites und Muster eingeben, die übereinstimmen oder ausgeschlossen werden sollen.
Verwenden der Netzwerkeinstellungen des Betriebssystems
Anstatt die Proxy-Einstellungen in jede Anwendung einzugeben, können die Details auf Betriebssystemebene einmal festgelegt werden. In diesem Fall müssen Sie nur jeder Anwendung mitteilen, dass sie den Proxy auf Systemebene verwenden soll.
Windows
Sie können unter Windows auf zwei Arten auf das Internetoptionen-Applet zugreifen. Rufen Sie die Systemsteuerung auf -> Internetoptionen oder greifen Sie über das Einstellungsmenü in Internet Explorer auf die Internetoptionen zu.
Von dort aus können Sie den Anweisungen für Internet Explorer im obigen Abschnitt folgen.
MacOS (OSX)
Klicken Sie oben links in der Menüleiste auf das Apple-Symbol und wählen Sie “Systemeinstellungen”. Wählen Sie Netzwerk und dann Proxies.
Klicken Sie auf die Schaltfläche Erweitert, um auf die Netzwerkeinstellungen zuzugreifen und zur Registerkarte Proxies zu navigieren.
Aktivieren Sie das Kontrollkästchen SOCKS-Proxy und geben Sie die Host- und Portinformationen ein.
Linux
Jede Linux-Desktop-Umgebung verfügt über ein anderes Bedienfeldelement zum Konfigurieren der Netzwerkeinstellungen. Die beiden häufigsten Desktops sind Gnome und KDE.
Auf dem Gnome-Desktop (von Ubuntu verwendet) die Einstellungen -> Das Netzwerkbedienfeld ist der Ort, an dem der Proxy eingerichtet wird.
Wählen Sie die Option Manuell.
Stellen Sie dann den SOCKS-Proxy ein und klicken Sie auf die Schaltfläche Systemweit anwenden.
Der KDE-Desktop (von Kubuntu verwendet) verfügt über die Netzwerkeinstellungen in den Einstellungen – Systemeinstellungen -> Netzwerkeinstellungen -> Proxy.
Sobald der Proxy im Betriebssystem eingerichtet ist, muss jede Anwendung für die Verwendung konfiguriert werden. Diese Option befindet sich in den Netzwerkeinstellungen für jede Anwendung. In Firefox steht diese Einstellung beispielsweise oben in den Proxy-Einstellungen.
ist ausreichend für unsere Zwecke. Um den Proxy-Server einzurichten, müssen wir zunächst einen VPS bei Digital Ocean erstellen und den SSH-Server konfigurieren. Anschließend können wir den Proxy-Server einrichten und unsere Client-Anwendungen für die Verwendung des Proxys konfigurieren. Es ist wichtig zu beachten, dass die Verwendung von Proxys und VPNs für den Schutz der Privatsphäre und die Umgehung von geografischen Einschränkungen immer beliebter wird. Es ist jedoch auch wichtig, sicherzustellen, dass wir uns bewusst sind, welche Daten wir über den Proxy senden und empfangen, da der Proxy-Betreiber möglicherweise in der Lage ist, diese Daten zu sehen.