Benutzer-Werkzeuge

Webseiten-Werkzeuge


web-proxies

Web-Proxy-Einstellungen und Proxies an der FHS

Übersicht

Proxy-Einstellungen und Web-Proxies können an der FHS u.a. für folgende Zwecke verwendet werden:

  • Versorgung von PCs mit Windows-Updates (bzw. auch Updates für andere Betriebssysteme), auch wenn die PCs nur mit einer Public-IP (z.B. 192.168.x.y) ausgestattet sind. Ein Web-Proxy - z.B. squid - wird benotigt, dieser muss auf einem Server mit Internet-tauglicher IP-Adresse laufen.
  • Einschränkung der mit dem Internet Explorer erreichbaren Webseiten, um nur bestimmte Browser zuzulassen. Es wird kein Web-Proxy benötigt. Da manche IE-Komponenten nicht nur vom IE selbst, sondern auch von anderer Software verwendet werden (z.B. Windows Update oder Aktivierung/Lizensierung einiger Softwareprodukte) müssen bestimmte Seiten für IE und IE-Komponenten erreichbar sein.

Für beide Zwecke wird ein Web-Server benötigt, um *.pac-Dateien an die Browser auszuliefern.

Installation squid

Der Web-Proxy wird benötigt, um PCs mit interner bzw. Public-IP mit Updates zu versorgen.

Squid kann unter Linux betrieben werden, die Fakultät ET lässt diesen Dienst auf einer vom RZ bereitgestellten virtuellen Maschine mitlaufen. Die Installation von squid erfolgte über das Paketmanagement.

Vor der Verwendung muss squid konfiguriert werden, insbesondere:

  • Wo werden die Daten gespeichert, wieviel Speicherplatz verfügbar?
  • Von welchen Clients darf squid genutzt werden für den Zugriff auf welche Server?
  • Welchen Port soll squid verwenden?

Diese Angaben werden in /etc/squid/squid.conf konfiguriert. Die Konfiguration von squid ist u.a. in http://selflinux.org/selflinux/html/squid.html erläutert, diese Webseite diente auch als Ausgangspunkt für die Erstellung unserer squid.conf-Datei.

Konfigurations-Datei squid.conf

Zur Zugriffssteuerung werden zunächst acl-Objekte definiert. Enthält eine Regel mehrere Angaben (z.B. mehrere Quell-IP-Adressen oder mehrere Zieldomänen), so werden die Informationen oder-verknüpft.

Die Zeilen

acl mylocalnet src 192.168.101.0/24	# in-house public IP address

acl pcpool src 192.0.2.101/32 192.0.2.102/32 192.0.2.103/32
acl pcpool src 192.0.2.104/32 192.0.2.105/32 192.0.2.106/32
acl pcpool src 192.0.2.107/32 192.0.2.108/32 192.0.2.109/32
acl pcpool src 192.0.2.110/32 192.0.2.221/32 192.0.2.222/32
acl pcpool src 192.0.2.223/32 192.0.2.224/32 192.0.2.225/32
acl pcpool src 192.0.2.226/32 192.0.2.227/32 192.0.2.228/32
acl pcpool src 192.0.2.229/32 192.0.2.230/32 192.0.2.231/32
acl pcpool src 192.0.2.232/32 192.0.2.233/32 192.0.2.234/32

geben vor, dass die bestimmte Quell-Adressen (Client-Adressen) über die ACLs „mylocalnet“ bzw. „pcpool“ angesprochen werden können.

Die ACL „pcpool“ wird hier nicht benutzt, diese Beispielregel soll lediglich verdeutlichen, wie mehrere einzelne IP-Adressen angegeben werden können.

Weitere acl-Objekte werden erstellt für Zieldomänen (d.h. Hostnamen, von denen Webinhalte abgerufen werden):

acl ms1 dstdomain .windowsupdate.com .microsoft.com .microsoft.nsatc.net
acl ms1 dstdomain .microsoft.de

acl msdnaa dstdomain	.msdnaa.net .e-academy.com e5.onthehub.com

acl fhs	   dstdomain	.fh-schmalkalden.de

Die mit einem Punkt beginnenden Domänennamen lassen sowohl Hostnamen in der angegebenen Domäne als auch in Subdomänen zu.

Nach den acl-Objekten werden http_access-Objekte definiert, diese sollten nach dem Kommentar „INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS“ eingefügt werden:

http_access allow mylocalnet ms1
http_access allow mylocalnet msdnaa
http_access allow mylocalnet fhs

Die Informationen in diesen Regeln werden und-verknüft. So sagt beispielsweise die erste Regel: „Wenn der Client eine IP-Adresse der ACL mylocalnet hat und Inhalte von einem in Regel ms1 konfigurierten Host abrufen möchte, dann gestatte dies.“.

Die http_access-Regeln werden in der aufgeführten Reihenfolge abgearbeitet. Die erste zutreffende Regel greift, die nachfolgenden Regeln werden dann nicht mehr betrachtet.

Die eingefügten Regeln müssen also vor der bereits vorhandenen letzten Regel

http_access deny all

eingefügt werden.

Die Konfigurationsoption „cache_dir“ legt fest, wo squid den Cache für die Webinhalte anlegt und wie groß der Cache ist:

cache_dir aufs /var/spool/squid 500 16 64

Im Beispiel werden maximal 500MB Plattenplatz verwendet, maximal 64MB werden im Hauptspeicher gehalten.

Unser squid läuft auf einer virtuellen Maschine und dient nur zum Windows-Update (bzw. sonstigen Betriebssystem-Update). Für diesen Zweck sollte die Cache-Größe und die Verwendung einer virtuellen Maschine ausreichen.
Web-Caching zur Erhöhung der Performance und ohne Eingrenzung der Web-Adressen würde höhere Cache-Größen erfordern und wegen schnellerer Schreibzugriffe auch richtige (d.h. nicht-virtualisierte) Hardware mit schnellen Festplatten.

Die Port-Nummer wird mit „http_port“ festgelegt:

http_port 3128

IP-Tables

Es müssen Zugriffe aus dem Netz 192.168.101.0/24 auf den lokalen Port 3128 dauerhaft zugelassen werden. Dazu werden die Kommandos

iptables -L -n
iptables -I INPUT 24 -p tcp -m state --state NEW -m tcp --dport 3128 -s 192.168.101.0/24 -j ACCEPT
/etc/init.d/iptables save
iptables -L -n

ausgeführt. Der Zahlenwert 24 für die Nummer der Regel muss korrigiert werden. Dieser Zahlenwert gibt an, vor welcher Regel die neue Regel eingefügt wird. Die Zählung beginnt mit 1.

Squid starten

Mit

/etc/init.d/squid start

wird squid gestartet.

Mit

chkconfig --level=2345 squid on

wird der Daemon automatisch gestartet (beim Hochfahren) und beendet (beim Herunterfahren).

Proxy-Einstellungen, Beispiel 1: Windows-Updates für interne IP-Adressen

PAC-Datei erstellen

Auf einem Webserver wird eine Datei update.pac bereitgestellt:

function FindProxyForURL(url, host)
{
  return "PROXY 192.0.2.33:3128; DIRECT";
}

Der Rückgabewert gibt die IP-Adresse und die Portnummer des squid-Servers an.

Die Datei wird auf einem Web-Server so bereitgestellt, dass sie mit der URL http://server.fakultaet.fh-schmalkalden.de/proxy-config/update.pac abgerufen werden kann.

Der Webserver server.fakultaet.fh-schmalkalden.de muss so konfiguriert werden, dass die Dateiendung *.pac mit dem Mime-Typ „application/x-ns-proxy-autoconfig“ verknüpft ist. Dies wurde in der Datei /etc/mime.types eingerichtet. Anschließend Web-Server neu starten.

Windows-Clients konfigurieren

Mit gpedit.msc wird

  • Benutzerkonfiguration
    • Windows-Einstellungen
      • Internet Explorer-Wartung
        • Verbindung
          • Automatische Browserkonfiguration

konfiguriert:

  • „Automatische Ermittlung von Konfigurationseinstellungen“ wird deaktiviert.
  • „Automatische Konfiguration aktivieren“ wird aktiviert.
  • „Automatische Konfiguration alle“ 10 „Minuten durchführen“.
  • „Automatische Proxy-URL (JS-, JVS- oder PAC-Datei)“ wird auf http://server.fakultaet.fh-schmalkalden.de/proxy-config/update.pac gesetzt.



Unter

  • Computerkonfiguration
    • Administrative Vorlagen
      • Windows-Komponenten
        • Internet Explorer

wird Proxy-Einstellungen pro Computer vornehmen (anstelle von pro Benutzer) aktiviert.

Proxy-Einstellungen, Beispiel 2: Web-Surfen mit IE einschränken

PAC-Datei erstellen

Eine Datei „pcpool.pac“ wird erstellt.

var	direct	=	"DIRECT";
var	deny	=	"PROXY 127.0.0.1:9";


function FindProxyForURL(url, host)
{
  var back = "";
  back = deny;

  url = url.toLowerCase();
  host = host.toLowerCase();

  //	Webseiten innerhalb der FHS
  if(dnsDomainIs(host, ".fh-schmalkalden.de")) {
    back = direct;
  }

  //	Webseiten innerhalb der Fakultaet
  else if(isInNet(host, "192.0.2.0", "255.255.255.0")) {
    back = direct;
  }

  //	Webseiten lokal auf PC
  else if(isInNet(host, "127.0.0.0", "255.0.0.0")) {
    back = direct;
  }

  //	Dateien lokal auf PC (z.B. Online-Hilfen...)
  else if(shExpMatch(url, "file:*")) {
    back = direct;
  }

  else if(shExpMatch(url, "about:*")) {
    back = direct;
  }

  //	Windows-Update, Microsoft Update
  else if(dnsDomainIs(host, ".microsoft.com")) {
    back = direct;
  }
  else if(dnsDomainIs(host, ".microsoft.nsatc.net")) {
    back = direct;
  }
  else if(dnsDomainIs(host, ".microsoft.de")) {
    back = direct;
  }

  //	MSDN-AA
  else if(dnsDomainIs(host, ".e-academy.com")) {
    back = direct;
  }
  else if(dnsDomainIs(host, "e5.onthehub.com")) {
    back = direct;
  }

  //	Aktivierung, Lizensierung, Online-Hilfen
  else if(dnsDomainIs(host, ".ni.com")) {
    back = direct;
  }
  else if(dnsDomainIs(host, ".mathworks.com")) {
    back = direct;
  }
  else if(dnsDomainIs(host, ".mathworks.de")) {
    back = direct;
  }

  return back;
}

Diese Datei wird auf einem Webserver so bereitgestellt, dass sie als http://server.fakultaet.fh-schmalkalden.de/proxy-config/pcpool.pac abgerufen werden kann.

Der Webserver server.fakultaet.fh-schmalkalden.de muss so konfiguriert werden, dass die Dateiendung *.pac mit dem Mime-Typ „application/x-ns-proxy-autoconfig“ verknüpft ist. Dies wurde in der Datei /etc/mime.types eingerichtet. Anschließend Web-Server neu starten.

Die Funktion FindProxyForURL() gibt im Normalfall „127.0.0.1:9“ zurück. Damit sucht der IE auf dem lokalen PC auf TCP-Port 9 nach einem Proxy-Server. Es muss eine freie, nicht benutzte Port-Nummer ausgewählt werden. Da keine Verbindung zum angegebenen Proxy-Server hergestellt werden kann und eine Direktverbindung nicht gestattet wurde, werden die Webinhalte nicht abgerufen.

Lediglich für Server in ausgewählten Domänen wird „DIRECT“ zurückgegeben, damit wird dem IE eine direkte Verbindung erlaubt.

Windows-Clients konfigurieren

Mit gpedit.msc wird

  • Benutzerkonfiguration
    • Windows-Einstellungen
      • Internet Explorer-Wartung
        • Verbindung
          • Automatische Browserkonfiguration

konfiguriert:

  • „Automatische Ermittlung von Konfigurationseinstellungen“ wird deaktiviert.
  • „Automatische Konfiguration aktivieren“ wird aktiviert.
  • „Automatische Konfiguration alle“ 10 „Minuten durchführen“.
  • „Automatische Proxy-URL (JS-, JVS- oder PAC-Datei)“ wird auf http://server.fakultaet.fh-schmalkalden.de/proxy-config/pcpool.pac gesetzt.



Unter

  • Computerkonfiguration
    • Administrative Vorlagen
      • Windows-Komponenten
        • Internet Explorer

wird Proxy-Einstellungen pro Computer vornehmen (anstelle von pro Benutzer) aktiviert.

web-proxies.txt · Zuletzt geändert: 2024/08/07 13:34 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki