2061383

Proxyserver mit Linux

24.07.2018 | 08:10 Uhr |

Als eine Internetverbindung noch über Modem oder ISDN ins Haus kam, waren eigene Proxyserver ein echter Geschwindigkeitsvorteil. Proxys sind aber auch zum Filtern oder Weiterleiten von Webtraffic über eine andere IP-Adresse sinnvoll.

Die Idee eines eigenen Proxyservers als zusätzlicher Zwischenspeicher für abgerufene Webinhalte kann Inhaber eines schnellen Internetzugangs ohne Volumenbegrenzung zunächst kalt lassen. Für jene Anwender, die eine langsame Internetverbindung haben, aus der mehrere Teilnehmer mit Webbrowsern beständig Daten zapfen, ist ein lokaler Proxy weiterhin interessant und verspricht bessere Geschwindigkeiten beim Surfen. Wo immer mehrere PCs und Geräte über den Browser Seiten aufrufen, gibt es Überschneidungen bei den abgerufenen Inhalten. Ein zwischenspeichernder Proxy liefert bereits per HTTP abgefragte Inhalte im Cache deutlich schneller aus als der entfernte Webserver. Reizvoll, gerade für Smartphones und Tablets, ist außerdem ein filternder Proxyserver, der bekannte Hosts von großen Werbefirmen blockiert und deren Werbebanner nicht weitergibt. Nicht zuletzt ist ein Proxyserver dann von Nutzen, wenn man im Browser seine eigene IP verschleiern möchte, um damit etwa Ländersperren zu umgehen.

Privoxy: Ein Proxy mit Filter

Ein zentraler Proxyserver im LAN kann als Client für Smartphones und Tablets als vorgeschalteter Werbefilter arbeiten. Der Proxy kann damit an einer zentralen Stelle dubiose Advertisingnetzwerke auf Webseiten blockieren, störende Banner filtern und Besuchertracker aussieben. Privoxy ist kein zwischenspeichernder Cache, sondern ein Filter. Der Proxy ist deshalb auch bei HTTPS-Verbindungen nützlich: Erkennt der Proxy einen Werbeanbieter in einer abgefragten URL, dann wird auch eine HTTPS-Anfrage blockiert. Andere HTTPS-Daten reicht der Proxy hingegen unverändert an den Browser weiter.

Privoxy in Betrieb nehmen: Bevor der Proxyserver für andere im LAN erreichbar ist, muss diese Zeile in der Konfiguration mit der IP-Adresse des Server versehen werden.
Vergrößern Privoxy in Betrieb nehmen: Bevor der Proxyserver für andere im LAN erreichbar ist, muss diese Zeile in der Konfiguration mit der IP-Adresse des Server versehen werden.

Privoxy läuft auf jedem Linux-System, kommt auch mit bescheidener Hardware zurecht oder läuft auf einem anderweitig genutzten Linux-PC brav im Hintergrund. Trotzdem haben sich die älteren beziehungsweise kleineren Modelle des Raspberry Pi als unzulänglich erwiesen: Die ARM-CPU mit einem Kern liefert für die Filterregeln von Privoxy nicht genügend Leistung, wenn mehrere Clients im Netzwerk auf den Proxy zugreifen. Erst ab einem Raspberry Pi 2 steht genügend Leistung bereit. Die Platine kann als Proxyserver nach empirischen Erfahrungswerten bis zu fünf Netzwerkteilnehmer bedienen. In allen verbreiteten Linux-Distributionen steht Privoxy fertig als Paket zur unkomplizierten Installation über den jeweiligen Paketmanager bereit. Unter Debian, Ubuntu, aber auch in Raspbian, ist der Proxyserver über den Befehl

sudo apt-get install privoxy

in der Kommandozeile flott installiert. Privoxy erwartet aber noch die Konfiguration, damit der Proxyserver im Netzwerk bereitsteht. Die mitgelieferte Konfigurationsdatei „/etc/privoxy/config“ verlangt dazu nur in einem Detail eine manuelle Anpassung: Um Privoxy erst mal mit Standardeinstellungen in Betrieb zu nehmen, ist im Abschnitt 4.1 die Zeile

listen-address localhost:8118

nach

listen-address [IP-Adresse]:8118

zu ändern, wobei der Platzhalter „[IP-Adresse]“ für die die tatsächliche lokale IP-Adresse des Servers im LAN steht. Die Zeile lautet also beispielsweise „listen-address192.168.1.31:8118“. Wie bei jedem Serverdienst sollten Sie auch hier dafür sorgen, dass der zuständige Rechner vom Router eine feste IP erhält, damit die in die Proxykonfiguration eingetragene Adresse dauerhaft Gültigkeit hat.

Verbindungstest: Die URL http://config.privoxy.org zeigt eine Diagnoseseite an.
Vergrößern Verbindungstest: Die URL http://config.privoxy.org zeigt eine Diagnoseseite an.

Danach starten Sie den Privoxy-Dienst mit dem Befehl

sudo systemctl restart privoxy.service

neu. Auf älteren Versionen von Debian und Ubuntu (ohne Systemd) lautet der Befehl folgendermaßen:

sudo service privoxy restart

Bei den Distributionen, die von Debian abstammen, hat sich Privoxy schon bei der Installation selbständig über das Init-System als Dienst eingerichtet, aber bei Fedora und Open Suse muss dieser Schritt noch mit dem Kommando

sudo systemctl enable privoxy.service

nachgeholt werden.

Ob der Proxyserver läuft und auf dem Port 8118 auf eingehende Verbindungen wartet, zeigt das Kommando

netstat -a | grep 8118

an. Gibt der Befehl etwa Folgendes aus, war die Einrichtung erfolgreich:

tcp 0 0 raspberrypi:8118 *:* LISTEN

Jetzt können Sie in Browsern anderer PCs im lokalen Netzwerk sowie auf Mobilgeräten die IP-Adresse des Servers samt Port 8118 als Proxyserver angeben. Um die Konfiguration zu testen, rufen Sie im Browser zunächst die Diagnoseseite http://config.privoxy.org auf. Wenn sich Privoxy dort mit „This is Privoxy“ meldet, dann ist die Proxyverbindung aktiv.

Bereits ohne weitere Einstellungen filtert Privoxy mit sehr hoher Trefferquote ab sofort unerwünschte Werbung und Tracker beim Surfen aus und reduziert Banner in Apps.

Lesetipp So surfen Sie absolut anonym im Internet

Browser: Verbindung zum Proxy

Die Browser, welche Privoxy nutzen sollen, richten Sie nun so ein, dass diese die IP-Adresse des Raspberry Pi als Proxy verwenden. In Firefox finden Sie diese Option in den Einstellungen unter „Erweitert –› Netzwerk –› Verbindung –› Einstellungen“. Aktivieren Sie hier die „manuelle Proxy-Konfiguration“ und tragen Sie im Feld „HTTP-Proxy“ die IP des Raspberry ein, in dieser Beispielanleitung als 192.168.1.33. Den „Port“ dahinter legen Sie auf „8118“ fest. Chrome/Chromium verwenden dagegen die Proxy-Standardeinstellung des Systems oder müssen mit der Proxyangabe als Startparameter nach dem Schema

/usr/bin/google-chrome --proxyserver="[IP-Adresse]:8123"

beziehungsweise bei Chromium mit

/usr/bin/chromium-browser --proxyserver="[IP-Adresse]:8118"

aufgerufen werden.

Die Browsererweiterung Proxy Helper ist eine sinnvolle und komfortable Ergänzung.
Vergrößern Die Browsererweiterung Proxy Helper ist eine sinnvolle und komfortable Ergänzung.

Die kostenlose Erweiterung Proxy Helper vereinfacht die Proxykonfiguration in Chrome/Chromium, insofern sie ein Extrasymbol in der Symbolleiste der Browser unterbringt.

Proxy in Opera: Ländersperren umgehen

Der Browser Opera hat seit 2016 einen eigenen Proxydienst, der
direkt im Browser verfügbar ist.

Opera steht als DEB-Paket für Debian, Ubuntu, Linux Mint und auch als RPM-Datei unter http://www.opera.com zum Download bereit. Der Proxyservice ist kostenlos und wird von der kanadischen Firma Surfeasy Inc. bereitgestellt. Meist nutzt Opera aber keine Server in Kanada, sondern in den Niederlanden, um die wahren IP-Adressen von Opera-Nutzern zu verschleiern. Irreführend ist, dass Opera diesen Proxy als „VPN“ ausgibt, denn diese Bezeichnung trifft hier nicht. Anders als in einem echten VPN leitet der Browser nur den eigenen Traffic und DNS-Abfragen an einen Proxyserver weiter. Es gilt außerdem zu beachten, dass ist dieser Proxy kein Anonymisierungsdienst ist. Für eine schnelle Umgehung von Ländersperren ist der Dienst aber durchaus geeignet und schnell eingerichtet: In Opera findet sich die VPN-Option über das Menü „Bearbeiten –› Einstellungen –› Datenschutz & Sicherheit –› VPN aktivieren“. Ab sofort taucht neben der URL ein VPN-Symbol auf, das den Dienst ein- und ausschalten kann. Ein Klick darauf zeigt außerdem die eigenen Nutzungsstatistiken an.

In Opera gibt es eine Funktion, den Traffic über den VPN-Anbieter Surfeasy umzuleiten.
Vergrößern In Opera gibt es eine Funktion, den Traffic über den VPN-Anbieter Surfeasy umzuleiten.

Socks-Proxy: Einfach per SSH

Um den Traffic im Browser im Stil eines Pseudo-VPNs verschlüsselt über einen Proxy umzuleiten, bedarf es nur wenig Vorbereitung und Konfigurationsarbeit. Denn der SSH-Server von Linux, der meist sowieso zur Grundausstattung gehört, kann auch als Proxyserver dienen und allen Browsern und Programmen über das Socks-Protokoll eine Schnittstelle bieten.

Nützlich ist ein eigener Socks-Proxy, um die IP des entfernten Systems für Besuche auf Webseiten zu nutzen oder um den eigenen Traffic im lokalen Netz durch Verschlüsselung wie in einem VPN zu schützen.

Der SSH-Serverdienst gehört auf einem Linux-System zur Grundausstattung, ist aber im Bedarfsfall auch schnell nachinstalliert. In Debian, Ubuntu und Raspbian erledigt der Befehl

sudo apt-get install openssh-server

nicht nur die Installation, sondern setzt den Dienst auch gleich in Gang.

Der einzig aufwendigere Schritt ist die allgemeine Vorbereitung des Servers, um über das Internet erreichbar zu werden. Hier ist wieder die typische Portweiterleitung im Router zum Rechner mit dem Socks-Proxy erforderlich. Der Standardport für SSH ist Port 22. Ebenfalls Standard in solchen Fällen ist die Einrichtung eines dynamischen Hostnamens etwa über No-IP ( https://www.noip.com ), Free DNS ( https://freedns.afraid.org ) oder ähnliche Dienste. Danach sind dann Anmeldungen über SSH aus dem Internet heraus möglich: Der Browser geht dann über den heimischen Anschluss ins Internet und der eigentliche Verkehr bleibt so in unsicheren Netzwerken und WLANs verborgen.

Ist die SSH-Verbindung mit Socks-Option aktiv, dann steht ein Proxyport auf dem „localhost“ zur Verfügung.
Vergrößern Ist die SSH-Verbindung mit Socks-Option aktiv, dann steht ein Proxyport auf dem „localhost“ zur Verfügung.

1. Zum Aufbau der Verbindung verbinden Sie sich in einem Terminalfenster mit dem folgenden Befehl

ssh -ND 8080 [User]@[Hostname]

zum eigenen Server zu Hause. Das Terminalfenster bleibt anschließend für die Dauer der Verbindung geöffnet.

2. Steht die SSH-Verbindung, geht man in die Browsereinstellungen und trägt dort als „SOCKS Host“ beziehungsweise „SOCKS Proxy“ einfach „localhost“ ein und als Port 8080. Ab jetzt gehen die Browseranfragen per SSH zunächst zum Server, der die Webseiten als Proxy abruft und verschlüsselt zurück zum Browser schickt. Das Terminalfenster muss dazu geöffnet bleiben. Der Datendurchsatz zwischen SSH-Client und Server ist zwar nicht schnell, weil eine ungünstige Kapselung von TCP über TCP stattfindet, dabei aber verschlüsselt wie bei einem echten VPN.

Für Windows-Clients: Auch Windows profitiert vom Linux-Server zu Hause und kann die SSH-Verbindung nutzen. In dieser Konstellation braucht der Windows-Rechner den Terminalclient Putty ( PC-WELT Download ). In Putty geht man zum Aufbau eines Tunnels nach der Konfiguration der Serveradresse unter „Session“ auf „Connection –› SSH –› Tunnels“ und trägt unter „Source Port“ eine Portnummer für den Tunnel ein, etwa die 8080. Außerdem aktiviert man die Option „Dynamic“ und geht dann auf „Add“, um einen Eintrag unter „Forwarded Ports“ zu erzeugen. Im Webbrowser, am besten im Firefox, der seine eigene Proxykonfiguration mitbringt, ist jetzt ein Besuch der Proxyeinstellungen nötig: Unter „Einstellungen –› Netzwerk-Proxy –› Einstellungen“ aktivieren Sie die „Manuelle Proxy-Konfiguration“ und geben unter „SOCKS-Host“ den „localhost“ ein und als Port den zuvor in Putty eingerichteten Sourceport, in unserem Beispiel „8080“. Soll die Verbindung zum Internet im Browser wieder ohne Socks-Proxy erfolgen, schalten Sie im Firefox diese Netzwerkeinstellungen wieder zurück auf „Kein Proxy“.

Lesetipp Sichere Surfsysteme: Wir zeigen Ihnen wie Sie die Websicherheit noch optimieren

Pi-Hole: Werbung blockieren

Unerwünschte Inhalte filtern – das geht nicht nur mit einem Proxyserver, sondern auch mit einem filternden DNS-Server. Genau dies leistet die Open-Source-Software Pi-Hole .

Weil dieser Filter auf DNS-Ebene arbeitet, funktioniert Pi-Hole für alle Protokolle und verlangt auf den Clientgeräten keine Anpassung der Proxyeinstellungen. Pi-Hole muss stattdessen als Domain Name Server eingetragen werden – am besten zentral auf dem verwendeten Router im Heimnetz. Die verbundenen Clients bekommen dann die Adresse des Pi-Hole-Servers als DNS automatisch per DHCP mitgeteilt.

Zwar weist schon der Name darauf hin, dass sich dieser Server auf einem Raspberry Pi zu Hause fühlt, die Software läuft aber auch auf jedem regulären Debian, Ubuntu, Fedora oder Cent-OS. Der PC oder die Platine, auf welcher Pi-Hole laufen soll, benötigt im LAN eine feste IP-Adresse, die man dem Rechner in der Administrationsoberfläche des Routers zuerst zuweisen muss.

Zur Installation liefern die Entwickler ein Bash-Script, das die Einrichtung in wenigen Schritten erledigt. Bevor Sie das Script herunterladen und ausführen können, sollten Sie sich noch das Kommandozeilentool curl installieren, das in den Paketquellen aller verbreiteten Linux-Distributionen vorliegt. Anschließend startet der Befehl

curl -sSL https://install.pi-hole.net | bash

die Installation. Das Script zeigt im Terminal zu jedem Schritt, der eine Eingabe zur Konfiguration erwartet, englischsprachige Menüs an und rüstet eventuell zusätzlich benötigte Pakete bei Bedarf über den jeweiligen Paketmanager nach. Nach der gelungenen Installation zeigt Pi-Hole nochmal die eigene IP-Adresse an sowie eine URL, die im lokalen Netzwerk eine hübsche Statistik im Browser anzeigt. Wichtig ist, sich das hier angezeigte Admin-Passwort für die erste Anmeldung auf dieser Übersichtsseite zu notieren.

Damit Pi-Hole etwas zu tun bekommt, trägt man die lokalen IPAdressen (IPv4 und IPv6) des Pi-Hole-Servers in den DNS-Einstellungen des Routers ein. In den Administrationsmenüs der verbreiteten Fritzbox findet sich diese Einstellung beispielsweise unter „Internet –› Zugangsdaten –› DNS-Server“, sofern rechts oben die „Erweiterte Ansicht“ aktiviert ist. Falls der Router keine Änderung der DNS-Einstellungen gewährt, dann können Sie die IP-Adressen des Pi-Hole-Servers aber auch direkt auf den Clients in deren Netzwerkkonfiguration als DNS eintragen.

Bei Pi-Hole handelt es sich um keinen Proxyserver, sondern um einen DNS-Server für das LAN.
Vergrößern Bei Pi-Hole handelt es sich um keinen Proxyserver, sondern um einen DNS-Server für das LAN.

PC-WELT Marktplatz

0 Kommentare zu diesem Artikel
2061383