UUGRN:Dienste/Proxy

Aus UUGRN
< UUGRN:Dienste(Weitergeleitet von UUGRN:Proxy)

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[Bearbeiten]

Zweck[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Weblinks[Bearbeiten]