Proxy-Konfiguration

Anwendungsspezifische Konfigurationshinweise

Betriebssysteme

  • Linux

    Die meisten Linux-Applikationen nutzen die Einstellungen in Umgebungsvariablen als Proxy-Definition (manchmal auch als „System-Proxy“ bezeichnet). Die Umgebungsvariablen können in der Shell oder in Skripten gesetzt werden, üblicherweise werden sie zentral in /etc/environment hinterlegt:

    # /etc/environment
    # Setzen des LUH-Web-Proxy
    #http_proxy=http://anon-proxy.rrzn.uni-hannover.de:3130
    #http_proxy=http://filter-proxy.rrzn.uni-hannover.de:3129
    #http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128
    http_proxy=http://secure-proxy.rrzn.uni-hannover.de:3131
    https_proxy=http://secure-proxy.rrzn.uni-hannover.de:3131
    ftp_proxy=http://secure-proxy.rrzn.uni-hannover.de:3131
    no_proxy=localhost,127.0.0.1,uni-hannover.de
    soap_use_proxy=on
    

    Die Variablen-Namen sind wohl sprechend und wenig überraschend, zusätzlich werden hier auch SOAP-Webservices über den Proxy geschickt. Das Beispiel nutzt den sehr restriktiven Secure-Proxy, der für Server sinnvoll ist. Die Auswahl eines anderen Proxys geschieht durch entsprechende Umsetzung des Kommentar-Zeichens # und entsprechende Anpassungen für https und ftp (Variablenersetzungen wie https_proxy=$http_proxy funktionieren hier nicht!).

    Damit die gemachten Änderungen aktiv werden, muss man sich einmal vom System ab- und am System erneut anmelden. Das Kommando-Zeilen-Tool wget kann dann gut genutzt werden, um den Proxy zu testen und ggf. Proxy-Fehlermeldungen zu sehen:

    wget --spider 'http://debian.org'
    

    Dieser Befehl sollte die Nutzung des Proxy darlegen, ggf. detaillierter mit der zusätzlichen Option "-d", was auch Proxy- Header anzeigt. Wenn man hingegen die URL "http://4btc.cc" (eine bekannte C&C-Site des Zeus-Trojaners) herunterladen will, sollte der Proxy das unterbinden.

  • Debian / Ubuntu Paketverwaltung

    Meist greift zwar die in /etc/environment gemachte Angabe für alle Skripte, Cron-Jobs, viele Anwendungen und eben auch die Paket-Verwaltung. Für die APT-basierte Paketverwaltung von Debian-Systemen kann aber eine explizite Angabe vorgenommen werden, indem eine Datei /etc/apt/apt.conf.d/10rrzn-proxy angelegt wird:

    // /etc/apt/apt.conf.d/10rrzn-proxy
    // Updates ueber den Whitelist-Proxy
    Acquire::http::Proxy "http://secure-proxy.rrzn.uni-hannover.de:3131";
    Acquire::https::Proxy "http://secure-proxy.rrzn.uni-hannover.de:3131";
    Acquire::http::Proxy::ftp.rrzn.uni-hannover.de "DIRECT";
    Acquire::http::Proxy::ftp.uni-hannover.de "DIRECT";
    Acquire::http::Proxy::debian.rrzn.uni-hannover.de "DIRECT";
    // gemaess man apt.conf funktioniert FTPoverHTTP-Proxy nur mit
    // Umgebungsvariable ftp_proxy und nicht durch Angabe hier
    //Acquire::ftp::Proxy "http://secure-proxy.rrzn.uni-hannover.de:3131";
    Acquire::ftp::Proxy::ftp.rrzn.uni-hannover.de "DIRECT";
    Acquire::ftp::Proxy::ftp.uni-hannover.de "DIRECT";
    

    Müssen Quellen eingebunden werden die im Secure-Proxy keine Freigabe haben, so können diese über den filter-proxy genutzt werden. Hier am Beispiel von dl.gna.org:

    // /etc/apt/apt.conf.d/11rrzn-proxy-extra
    Acquire::http::Proxy::dl.gna.org "http://filter-proxy.rrzn.uni-hannover.de:3129";
    Acquire::https::Proxy::dl.gna.org "http://filter-proxy.rrzn.uni-hannover.de:3129";

    Hinweis: Wenn die Quelle unter sources.list mit http://www.dl.gna.org[…] eingetragen ist, muss das "www" auch in der Proxykonfiguration eingetragen werden (Acquire::http::Proxy::www.dl.gna.org[…])

  • Paketverwaltung bei Redhat Derivaten

    Auch bei Redhat-basierten Systemen wie z.B. Scientific-Linux kann für die Paketverwaltung explizit ein Proxy angegeben werden:

    # /etc/yum.conf
    proxy=http://secure-proxy.rrzn.uni-hannover.de:3131
    

    Die Konfiguration von Repositories über die "mirrorlist" Direktive ist nicht vom Proxy unterstützt, es ist daher notwendig alle benötigten (enabled=1) Repositories mittels baseurl zu konfigurieren:

    # /etc/yum.conf.d/X.repo
    
    [X]
    enabled=1
    baseurl=http://ftp.uni-hannover.de/..
    
  • Windows

    Unter Windows ist die Einstellung des Proxy grundsätzlich nicht so einfach, da Windows keine systemweite Proxy- Einstellung vorsieht:

    • es sind verschiedene Bibliotheken einzustellen (WinINET & WinHTTP)
    • die Einstellungen des Internet-Explorer (=WinINET) gelten nur je Benutzer und können nicht (genauer: nicht mehr seit IE10) für den ganzen PC und somit alle Nutzer gleichzeitig eingestellt werden.

    Die Einstellungen können auf verschiedenen Wegen vorgenommen werden (vgl. Abschnitte unten), wobei wir zur Umgehung der o.g. Problematik einen Installer bereitstellen werden (noch in der Entwicklung/Test).

    Konfiguration über Skript & Registry

    WinHTTP

    Diese Einstellungen müssen über eine als Administrator ausgeführte Eingabeaufforderung vorgenommen werden. Dazu dienen die Befehle netsh.exe winhttp ... proxy ...:

    netsh.exe winhttp set proxy proxy-server="secure-proxy.rrzn.uni-hannover.de:3131" bypass-list=",*.uni- hannover.de" netsh.exe winhttp show proxy

    In 64-Bit-System setzt man die 64-Bit-Einstellungen über %windir%\System32\netsh.exe, die 32-Bit-Einstellungen über %windir%\SysWOW64\netsh.exe .

    WinINET

    Über den Import einer .reg-Datei mit folgendem Inhalt (gilt für 32- und 64-Bit):

    Regedit4

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]

    "ProxyEnable"=dword:00000001

    "ProxyServer"="http://secure-proxy.rrzn.uni-hannover.de:3131"

    "ProxyOverride"="*.uni-hannover.de;localhost;" ; alternativ ginge auch ueber WPAD-URL (bei ProxyEnable=0): ;

    "AutoConfigURL"="https://www.luis.uni-hannover.de/fileadmin/it_sicherheit/proxy/secure-proxy.pac"

    Oder über die Einstellungen im Internet-Explorer: Internet-Optionen¬Verbindungen¬LAN-Einstellungen.

    Mittels Group-Policy-Preferences

    Eine (WinINET-) Proxy-Einstellung ist anders als früher nicht mehr über Gruppenrichtlinien möglich. Stattdessen müssen die Group-Policy-Preferenes (GPP) genutzt werden, die einer Einstellung von Nutzerprofilen entspricht (passend dazu, dass eben keine Maschinen-Einstellung des Proxy mehr möglich ist). Dafür im Gruppenrichtlinien-Objekt unter Benutzereinstellungen die Preferences und weiter Registry öffnen. Da dann die o.g. Registry-Schlüssel und -Werte eingeben.

Internet-Browser

  • Chrome / Chromium

    Chrome verwendet normalerweise die Systemeinstellungen:

    • Unter Windows die gleichen wie beim Internet-Explorer und Windows selbst. Geht man über das Chrome-Menü zu den erweiterten Einstellungen und dort Verbindungen/Proxy, so gelangt man zum üblichen Einstellungsfenster von Windows (vgl. Proxy-Nutzung unter Windows).
    • Unter Linux werden die Werte aus den Umgebungsvariablen http_proxy etc. verwendet.
       

    Proxy-Einstellung über Parameter:

    chromium-browser --proxy-pac-url=https://www.luis.uni-hannover.de/fileadmin/it_sicherheit/proxy/filter-proxy.pac

    Über die Änderung der Eigenschaften des Aufruf-Icons / Programmeintrags im Menü kann der Proxy permanent eingerichtet werden.

  • Edge

    Microsoft’s Chrome basierter Edge Browser versteht die Chrome Optionen und kann über die UI konfiguriert werden.

  • Firefox

    Im Burgermenü über Einstellungen nach "Proxy" suchen, dort können die Verbindungseinstellungen konfiguriert werden:

Weitere Programme und Tools

  • curl
    curl --proxy web-proxy.rrzn.uni-hannover.de:3128 www.kernel.org/pub/linux/kernel/README
    
  • Docker

    Hinweise zur Proxy-Nutzung in Docker finden Sie in der Docker-Dokumentation.

  • gem / ruby

    Alternativ statisch via /etc/gemrc oder ~/.gemrc:

    http_proxy: web-proxy.rrzn.uni-hannover.de
    
  • git

    Auch hier hat man die Wahl zwischen persistenten oder temporären Einstellungen.

    via ~/.gitconfig

    ~/.gitconfig:

    über das Environment

    $ http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 https_proxy=http://web-proxy.rrzn.uni-hannover.de:3128
    git clone github.com/the/project
    

    als Argument

  • pip / python

    Unter Python/pip ist es leider etwas versionsabhängig ob der Parameter "proxy" respektiert wird, es kann sein, dass nur die Umgebungsvariablen http_proxy&https_proxy verwendet werden:

    pip --proxy http://web-proxy.rrzn.uni-hannover.de:3128 install requests

    Alternativ falls dies nicht funktioniert in /etc/environment temporär den Proxy setzen (Benötigt Logout, damit die Änderungen wirksam werden):

    http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128

    https_proxy=http://web-proxy.rrzn.uni-hannover.de:3128

    Dann:

    pip install requests

    Für Python3 / pip3 ist das analog umzusetzen.

  • rvm / ruby

    Ruby/rvm Ergänzend zur offiziellen Dokumentation:

    http_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 https_proxy=http://web-proxy.rrzn.uni-hannover.de:3128
    curl -sSL get.rvm.io | sudo -E bash -s stable
    
  • saltstack

    Als Ergänzung zur offiziellen Dokumentation:

    PROXY='http://web-proxy.rrzn.uni-hannover.de:3128' curl -o bootstrap-salt.sh -L -x "$PROXY"
    bootstrap.saltstack.com | sudo sh bootstrap-salt.sh -G -H "$PROXY" git
    
  • Teamviewer

    Im grafischen Teamviewer-Programm auf Options¬General¬Network Settings¬Proxy Settings (ggf. Netzwerkeinstellungen¬Proxy Einstellungen) Im Proxy-Settings-Fenster dann Use manual proxy mit Proxy- IP=130.75.6.113, Port=3128 und ohne User-Name (Benutzername) und ohne Passwort.

  • wget

    wget kann man Proxy Informationen via Parameter übergeben, unterstützt werden http_proxy, https_proxy sowie ftp_proxy. Permanent können die Parameter in der /etc/wgetrc sowie ~/.wgetrc gesetzt werden, wird aber nicht empfohlen.

    wget -e use_proxy=yes -e https_proxy=http://web-proxy.rrzn.uni-hannover.de:3128 www.wikipedia.org
    

Appliances / Embedded-Geräte

  • Ricoh MFP Aficio MP C3502

    Der http(s)-Zugriff auf das Internet ist nur für die @Remote-Funktionalität, d.h. die Wartungs- und Seitenzähler-Anbindung an Ricoh beim Leasing notwendig.

    Über die WebGUI: Das Menu befindet sich unter Gerätemanagement¬Konfiguration¬RC

Kontakt

IT-Sicherheit
Sicherheitsteam
IT-Sicherheit
Sicherheitsteam