ubuntuusers.de

ubuntuusers.deWikiProxyserver

Proxyserver

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./proxy_logo.png Dieser Artikel beschreibt den Zugriff auf ein Netzwerk (z.B. das Internet) über einen Proxyserver. Dabei werden hier lediglich die Konfigurationsmöglichkeiten über die Desktop-Umgebungen und über die Konsole aufgezeigt. Das Installieren und Einrichten eines Proxyservers wird hier nicht behandelt, sondern ist für verschiedene Programme über den Artikel Serverdienste zu finden.

An dieser Stelle nur als kurzer Hinweis: das Filtern von Inhalten verschlüsselter Verbindungen (z.B. HTTPS, SFTP) ist eine Problematik, die äußerst schwierig ist. Nutzt man einen Proxy als reinen URL-Filter (erlaubte/verbotene Internetadressen), sollte aber auch für diese Protokolle ein Proxy angegeben werden.

Proxy-Arten

Lokaler Proxy

Ein lokaler Proxy ist ein Proxyserver, der entweder auf dem Quell- oder Zielsystem eingesetzt wird. Er nistet sich zwischen dem Browser des Clients und dem Internet ein. Lokale Proxys werden meist als Filter oder Konverter benutzt.

Transparenter Proxy

Ein transparenter Proxy ist so konfiguriert, dass er nach extern hin als Proxyserver erkennbar ist und alle Clientanfragen und Browserdaten nahezu unverändert weiterreicht. Hierbei werden auch unter Umständen die IP-Adressen der Clients weitergereicht. Beim Einsatz eines Routers im kleinen Netzwerk ist ein transparenter Proxy nicht notwendig, da der Router nach außen hin nur eine IP-Adresse übermittelt und die IP-Adressen der Clients verborgen bleiben.

Anonymer Proxy

Ein anonymer Proxy ist so konfiguriert, dass er nach extern hin als Proxyserver erkennbar ist und alle Clientanfragen weiterreicht. Die IP-Adressen der Clients werden verborgen. Hiermit ist nach korrekter Einstellung der Filter- und Anonymisierungs-Optionen eine Verschleierung der Browserdaten der Clients möglich. Zu beachten ist jedoch, dass die IP-Adresse des Routers stets sichtbar ist und immer auch als IP-Adresse des anonymen Proxy's erscheint. Die IP-Adresse kann nicht verschleiert oder verborgen werden. Da jedoch die IP-Adresse des Routers im Internet "lautstark" behauptet, ein Proxy zu sein, erschwert es Datensammlern die Rückverfolgung. Abgesehen davon werden einige Browserdaten vorenthalten, was wiederum die Wiedererkennung erschwert. Diese Art des Proxyservers eignet sich, um als lokaler Proxy eingesetzt zu werden.

Unsichtbarer (Elite) Proxy

Ein unsichtbarer (Elite) Proxy ist im wesentlichen ein anonymer Proxy, der verheimlicht, ein Proxyserver zu sein. Er ist so konfiguriert, dass er nach extern unsichtbar ist und alle Clientanfragen weiterreicht. Die lokalen IP-Adressen der Clients werden verborgen. Zusätzlich verschleiern korrekte Filter- und Anonymisierungs-Optionen viele Einzelheiten über die Clients. Allerdings sind solche Proxys nicht gern gesehen, da die absolute Verschleierung die RFC-Standards verletzt. Diese Art des Proxyservers kann auch als lokaler Proxyserver Anwendung finden.

Systemaktualisierungen

Hinweis:

Werden die im folgenden beschriebenen Konfigurationsmöglichkeit genutzt, so kann die spezielle Konfiguration folgender Programme wirkungslos sein (die Liste ist möglicherweise nicht vollständig; siehe auch Links):

Eine fehlerhafte oder unvollständige Konfiguration kann also die Funktion dieser Programme verhindern, selbst wenn dort der Proxy korrekt konfiguriert ist.

Um der Paketverwaltung ungehinderten Zugriff auf das Internet zu gewähren (also unter Umgehung des Proxy, falls das auf dem Gateway erlaubt ist), erstellt bzw. bearbeitet man die Datei /etc/apt/apt.conf mit Root-Rechten und ergänzt folgende Zeile:

1
Acquire::http::proxy "false";

Falls aber auf dem Gateway die Ports 80 (http), 443 (https) und 20/21 (ftp) gesperrt sind und diese Dienste nur über den Proxy zu erreichen sind, muß man dies nicht nur im Networkmanager eintragen, sondern zusätzlich der Paketverwaltung apt in der Datei /etc/apt/apt.conf mitteilen (insbesondere bei Lubuntu):

1
2
3
Acquire::http::proxy "http://proxy-IP:port/";
Acquire::https::proxy "https://proxy-IP:port/";
Acquire::ftp::proxy "ftp://proxy-IP:port/";

Unity und GNOME 3

./unity_proxy.png Über "Systemeinstellungen -> Netzwerk" kann man über den Menüpunkt "Netzwerk-Proxy" den Proxy angeben (siehe auch GNOME3 Systemeinstellungen). Mit dem Schaltfläche "Systemweit anwenden" werden diese Einstellungen für alle Nutzer übernommen. Natürlich ist hierzu das Administratorkennwort notwendig.

Muss man sich am Proxy authentifizieren, so gibt man den Server mit Benutzernamen und Passwort in der Form:

username:passwort@proxyserver

an.

KDE

./kde_proxy.png KDE bietet unter

  • "Systemeinstellungen -> Verbindungen -> Proxy"

verschiedene Möglichkeiten, einen Proxy einzustellen. Allerdings muss beachtet werden, dass sich diese Einstellungen nur auf KDE-Programme auswirken. Daher sollte auch unter KDE das alternative Verfahren (siehe nächster Abschnitt) genutzt werden und im hier genannten Dialog die Option "Voreingestellte Umgebungsvariablen für Proxy verwenden" gewählt werden. Direkt hinter dem Optionstitel befindet sich eine Schaltfläche mit der Aufschrift "Einrichtung...". Hier öffnet sich ein Dialog, in dem nun noch folgende Werte eingetragen werden müssen:

KDE-Proxyeinstellungen
Feld Wert
HTTP http_proxy
HTTPS https_proxy
FTP ftp_proxy

Alternatives Verfahren

Ein Proxy kann auch unabhängig von der grafischen Desktop-Umgebung eingerichtet werden. Dies bietet den Vorteil, dass diese Einstellungen auch systemweit Gültigkeit haben können, was gerade auf einem Mehrbenutzersystem hilfreich sein kann. Möchte man die Einstellungen bei diesem Verfahren nur für einen bestimmten Benutzer einrichten, so muss die versteckte Datei ~/.profile im Homeverzeichnis des entsprechenden Benutzers bearbeitet werden. Für eine systemweite Konfiguration dagegen ist es die Datei /etc/profile, die mit Root-Rechten [2] editiert werden muss. (Bei Lubuntu müssen die folgenden Zeilen zusätzlich in die Datei /etc/environment eingetragen und die Datei /etc/apt/apt.conf entsprechend ergänzt werden, wie oben im Abschnitt Systemaktualisierungen beschrieben.)

Folgende Zeilen müssen am Ende der Datei hinzugefügt werden [1] (SERVER-IP_ODER_NAME:PORT bitte anpassen):

export http_proxy=SERVER-IP_ODER_NAME:PORT
export https_proxy=SERVER-IP_ODER_NAME:PORT
export ftp_proxy=SERVER-IP_ODER_NAME:PORT
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export FTP_PROXY=$ftp_proxy

Verlangt der Proxy eine Authentifizierung, sind folgende Zeilen erforderlich:

export http_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT
export https_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT
export ftp_proxy=http://BENUTZER:PASSWORD@SERVER-IP_ODER_NAME:PORT
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export FTP_PROXY=$ftp_proxy

Die Platzhalter "BENUTZER", "PASSWORD", "SERVER-IP_ODER_NAME" und "PORT" müssen entsprechend gesetzt werden.

Außerdem kann man festlegen, für welche Hosts man keinen Proxyserver verwenden möchte. Hierzu kann man eine durch Kommata getrennte Liste von IP-Adressen oder Namen in der Umgebungsvariable no_proxy speichern. Möchte man beispielsweise weder für example.com noch für die IP-Adresse 192.0.2.42 über den Proxy gehen, so muss man zusätzlich zu den oben genannten Einträgen noch die folgende Zeile zur Datei /etc/profile hinzufügen:

export no_proxy=example.com,192.0.2.42

Die Einstellungen in /etc/profile werden erst nach einem erneuten Anmelden aktiv.

Gesonderte Konfiguration

Manche Programme berücksichtigen die bisher beschriebenen Einstellungen nicht und benötigen trotz systemweiter Einstellung dennoch eine eigene Konfiguration. Soweit bekannt, werden diese Programme im Folgenden beschrieben.

Firefox

Ab Firefox 3.x benutzt Firefox üblicherweise die im System hinterlegten Proxy-Einstellungen. Will man, dass diese Einstellungen nicht durch den Benutzer deaktiviert werden können, so kann man ab Firefox 5 die entsprechenden Einstellungen in der globalen Datei /etc/firefox/syspref.js (oder /etc/firefox/pref/syspref.js; siehe auch Firefox/Einstellungen Sperren) mit Root-Rechten vornehmen:

lockPref("network.proxy.http", "PROXY_SERVER_IP_ODER_NAME");
lockPref("network.proxy.http_port", PROXY_SERVER_PORT);
lockPref("network.proxy.ssl", "PROXY_SERVER_IP_ODER_NAME");
lockPref("network.proxy.ssl_port", PROXY_SERVER_PORT);
lockPref("network.proxy.type", 1);
lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1 ");
lockPref("network.proxy.share_proxy_settings", true);

Ob die Einstellungen erfolgreich übernommen worden sind, kann man überprüfen, in dem man "about:config" in die Adresszeile des Firefox eingibt und nach den genannten Einstellungen filtert.

Falls aus bestimmten Gründen die systemweiten Einstellungen nicht genutzt werden sollen, findet man die entsprechenden Parameter in den Einstellungen unter "Bearbeiten -> Einstellungen -> Erweitert -> Netzwerk -> Einstellungen...". Hier reicht die Angabe der Proxy-Adresse und des Ports. Benutzername und Passwort - falls erforderlich - dürfen nicht mit angegeben werden. Firefox stellt die Notwendigkeit dieser Daten beim ersten Zugriff auf den Proxy fest und bietet dann einen Dialog zur Eingabe an.

Chromium

Zumindest unter GNOME und KDE übernimmt Chromium bzw. Google Chrome automatisch die systemweiten Einstellungen. Sonderfälle wie Xfce und LXDE sind im Artikel Chromium beschrieben.

Opera

Analog zu Firefox und Chromium können auch bei Opera systemweite Vorgaben gesetzt werden, die von Benutzern nicht geändert werden sollen. Siehe Opera/Anpassen.

Subversion

Damit die Versionsverwaltung Subversion über einen Proxy kommuniziert, muss dies in der Datei ~/.subversion/servers (als Benutzer) oder /etc/subversion/servers (systemweit; nur mit Root-Rechten editierbar) angegeben werden:

[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
# http-proxy-host = defaultproxy.whatever.com
# http-proxy-port = 7000

http-proxy-host = WEB.PROXY.NAME
http-proxy-port = PORT

Diese Revision wurde am 29. April 2014 21:00 von Kupferstecher erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, System, Server