UUGRN:Dienste/Proxy

Aus UUGRN
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

UUGRN betreibt für interne Zwecke einen zentralen Web-Proxy.

öffentliche→  Mailingliste (Mailinglistenarchiv) • WikiPadIRCJobsWebseiteFTP Für Mitglieder→  IntranetalphaShellsJailsWebspaceMySQLUsenetBlogsBNCMailman Infrastruktur→  MailDNSBackupProxyircbotBuildsystem

Öffentliche →   • IRC ChatDrawing PadAscii PadText PadVorstand Infoshare  Für Mitglieder →   • Shell AccountUsenet Zugang  Infrastruktur →   • DNS   <edit>


Proxy-Server

Zweck

Implementiert wird der Proxy-Server durch squid[1].

Der primäre Einsatzzweck ist dadurch entstanden, dass wir mit ftp.uugrn.org das ersten rein auf IPv6 basierende Jail in Betrieb genommen haben. Da in diesem Jail auch Mirror-Scripte laufen (werden), die Dateien von IPv4-only-Quellen beziehen, wurde dieser Proxy erforderlich.

Umgekehrt ist es außerdem möglich von einem IPv4-only-Client aus auf einen IPv6-only Server (z.B. ftp.uugrn.org) zuzugreifen.

Auch wenn heutzutage (Stand: 3/2013) die überwiegende Anzahl von öffentlichen Diensten auf Ipv4 angeboten wird, so könnte es in absehbarer Zeit passieren, dass bestimmte Angebote nur noch über IPv6 ordentlich zugreifbar sein werden.

Zugriffe

Dieser Service wird nur und ausschließlich für IPv4 und IPv6 Adressen von UUGRN angeboten.

Es findet keine Anonymisierung statt, alle Zugriffe werden protokolliert und Clients werden über den X-Forwarded-for-Header dem Zielsystem übermittelt.

Ausblick

Es wäre prinzipiell denkbar einen über die Benutzerdatenbank authentifizierten Benutzerbetrieb des Web-Proxy-Caches (squid[1]) zu gestatten um Mitgliedern mit IPv4-only den Zugriff auf IPv6 zu gewähren.


Reverse-Proxy

Auf den IP-Adressen 164.177.171.13 und 2a03:2500:1:6:d:: läuft jeweils auf Port 80/tcp und Port 443/tcp ein Apache Webserver als Reverse-Proxy[2].

IP-Adressen

Der Reverse-Proxy ist per IPv4 und IPv6 erreichbar und kann auf IPv4 und IPv6 Dienste durchleiten, so ließe sich zB ein IPv4-Only Webangebot zusätzlich mit IPv6 bereichern, indem für den entsprechenden Dienst ein Quad-A-Record in der Form "www.example.com IN AAAA 2a03:2500:1:6:d::" im DNS eingetragen wird. Zusätzlich muss in der Datei /usr/local/etc/apache22/extra/httpd-vhosts.conf ein entsprechender Vhost angelegt werden.

VirtualHosts und SSL

Auf den beiden IP-Adressen wird NameBased VirtualHosting für HTTP und HTTPS (per SNI = Server Name Identifcation=mehere SSL-zertifikate hinter einer IP-Adresse auf dem gleichen port[3])) implementiert. Verschiedene SSL-Namen sind auch per SAN möglich (SubjectAltName=ein SSL-Zertifikat mit mehreren gültigen Namen zusätzlich zum CommonName[4])

Das jeweils passende SSL-Zertifikat wird innerhalb des *:443-Vhosts konfiguriert. SSL mit IP basiertem VHost ist nur für (zusätzliche) IPv6-Adressen möglich oder auf alternativen Ports (zB 10443, 20443, ...)

Dienste

Derzeit sind folgende Dienste konfiguriert:

Die Zugriffe auf http:// dieser Dienste werden direkt vom Reverse-Proxy weitergeleitet auf die jeweilige https:// -Adresse. Das kann pro Dienst individuell konfiguriert werden.

Die Services laufen jeweils in separaten Jails (z.B. wiki.uugrn.lan). Diese haben keine direkte Internet-Anbindung und sind daher nur über den Reverse-Proxy erreichbar oder können via Forward-Proxy (squid) auf das Internet zugreifen. Fremdsoftware wird somit der unkontrollierte Zugriff auf das Internet erschwert.

wiki.uugrn.lan und blogs.uugrn.lan sind Apache 2.2 + PHP5 basiert, pad.uugrn.lan beheimatet lediglich ein node.js mit einem eigenen (internen) Webserver.

Weitere Einsatzmöglichkeiten

Denkbar für diese Anwendung sind neben der Jail-Separierung von PHP-Applikationen auch der Zugriff auf tomcat[5]-Applikationen (via ajp[6][7]) oder der (transparente) Zugriff auf externe HTTP-Dienste. Außerdem ließe sich hier an zentraler Stelle ein Web-Application-Firewall und andere Schutzmechanismen (mod_security, Authentifizierung, ... )


Siehe auch

Weblinks