Bearbeiten von „UUGRN:Dienste/Proxy“

Aus UUGRN

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 4: Zeile 4:
 
__TOC__
 
__TOC__
  
 
+
== Zweck ==
== Proxy-Server ==
 
=== Zweck ===
 
 
Implementiert wird der Proxy-Server durch squid<ref name="squid">{{Homepage2|www.squid-cache.org|Squid Cache}}</ref>.
 
Implementiert wird der Proxy-Server durch squid<ref name="squid">{{Homepage2|www.squid-cache.org|Squid Cache}}</ref>.
  
Der primäre Einsatzzweck ist dadurch entstanden, dass wir mit [[UUGRN:Jails/uug_ftp|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.
+
Der primäre Einsatzzweck ist dadurch entstanden, dass wir mit [[UUGRN:Jails/shd_ftp|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. [[UUGRN:Jails/uug_ftp|ftp.uugrn.org]]) zuzugreifen.  
+
Umgekehrt ist es außerdem möglich von einem IPv4-only-Client aus auf einen IPv6-only Server (z.B. [[UUGRN:Jails/shd_ftp|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.
 
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 ===
+
== Zugriffe ==
 
Dieser Service wird nur und ausschließlich für IPv4 und IPv6 Adressen von UUGRN angeboten.  
 
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.
 
Es findet keine Anonymisierung statt, alle Zugriffe werden protokolliert und Clients werden über den ''X-Forwarded-for''-Header dem Zielsystem übermittelt.
  
=== Ausblick ===
+
== Ausblick ==
Es wäre prinzipiell denkbar einen über die [[UUGRN:LDAP|Benutzerdatenbank]] authentifizierten Benutzerbetrieb des Web-Proxy-Caches (squid<ref name="squid">{{Homepage2|www.squid-cache.org|Squid Cache}}</ref>) zu gestatten um Mitgliedern mit IPv4-only den Zugriff auf IPv6 zu gewähren.  
+
Zukünftig könnte parallel zum Web-Proxy-Cache (squid<ref name="squid">{{Homepage2|www.squid-cache.org|Squid Cache}}</ref>) auch ein Apache als Reverse-Proxy<ref>[http://httpd.apache.org/docs/2.2/mod/mod_proxy.html Apache Module mod_proxy]</ref> betrieben werden um IPv4/IPv6 mit/ohne SSL umzusetzen auf Backend-Dienste, die in anderen Jails und ohne öffentliche IP-Adresse laufen.
  
 +
Gerade für SSL könnten hier SNI (Server Name Identifcation=mehere SSL-zertifikate hinter einer IP-Adresse auf dem gleichen port<ref>{{Wikipedia2|Server_Name_Indication|Server Name Indication}}</ref>) und/oder SAN (SubjectAltName=ein SSL-Zertifikat mit mehreren gültigen Namen zusätzlich zum CommonName<ref>[http://en.wikipedia.org/wiki/Subject_Alternative_Name en.wikipedia.org/wiki/Subject_Alternative_Name]</ref>) zum Einsatz kommen oder bei IPv6 dedizierte IP-Adressen mit dedizierten SSL-Zertifikaten. Prinzipiell währen auch dedizierte IPv4-Adresse auf diesem ReverseProxy möglich jedoch aufgrund der prinzipiellen Knappheit von IPv4-Adressen kein favorisiertes Setup.
  
== Reverse-Proxy ==
+
Das gleiche ist prinzipiell auch möglich für Webapplikationen, die in anderen Jails in einem Application Server (zB Tomcat<ref>{{Homepage2|tomcat.apache.org|Apache Tomcat}}</ref>) betrieben werden. Hier könnte Apache mit ajp<ref>[http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html Apache mod_proxy_ajp}</ref><ref>[http://tomcat.apache.org/connectors-doc/ Apache Tomcat Connector, mod_jk]</ref>zum Einsatz kommen.
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<ref>[http://httpd.apache.org/docs/2.2/mod/mod_proxy.html Apache Module mod_proxy]</ref>.
 
 
 
=== 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<ref>{{Wikipedia2|Server_Name_Indication|Server Name Indication}}</ref>)) implementiert. Verschiedene SSL-Namen sind auch per SAN möglich (SubjectAltName=ein SSL-Zertifikat mit mehreren gültigen Namen zusätzlich zum CommonName<ref>[http://en.wikipedia.org/wiki/Subject_Alternative_Name en.wikipedia.org/wiki/Subject_Alternative_Name]</ref>)
 
 
 
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:
 
* [[/wiki.uugrn.org]] https://wiki.uugrn.org/ auf {{Jail|name=uug_wiki|label=wiki.uugrn.lan}}
 
* [[/blogs.uugrn.org]] https://blogs.uugrn.org/ auf {{Jail|name=uug_blogs|label=blogs.uugrn.lan}}
 
* [[/pad.uugrn.org]] https://pad.uugrn.org/ auf {{Jail|name=uug_pad|label=pad.uugrn.lan}}
 
 
 
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. {{Jail|name=uug_wiki|label=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.
 
 
 
{{Jail|name=uug_wiki|label=wiki.uugrn.lan}} und {{Jail|name=uug_blogs|label=blogs.uugrn.lan}} sind Apache 2.2 + PHP5 basiert, {{Jail|name=uug_pad|label=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<ref>{{Homepage2|tomcat.apache.org|Apache Tomcat}}</ref>-Applikationen (via ajp<ref>[http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html Apache mod_proxy_ajp}</ref><ref>[http://tomcat.apache.org/connectors-doc/ Apache Tomcat Connector, mod_jk]</ref>) 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, ... )
 
  
 +
Es wäre prinzipiell denkbar einen über die [[UUGRN:LDAP|Benutzerdatenbank]] authentifizierten Benutzerbetrieb des Web-Proxy-Caches (squid<ref name="squid">{{Homepage2|www.squid-cache.org|Squid Cache}}</ref>) zu gestatten um Mitgliedern mit IPv4-only den Zugriff auf IPv6 zu gewähren.
  
 
== Siehe auch ==
 
== Siehe auch ==
* {{Jail|name=uug_proxy|label=proxy.uugrn.org}}
+
* [[UUGRN:Jails/shd proxy|proxy.uugrn.org]]
  
 
== Weblinks ==
 
== Weblinks ==

Bitte kopiere keine Inhalte, die nicht Deine eigenen sind!

Du gibst uns hiermit Deine Zusage, dass
  • Du den Text nicht aus Wikipedia kopiert hast
  • Du den Text selbst verfasst hast
  • oder der Text entweder
    • Allgemeingut (public domain) ist
    • oder der Copyright-Inhaber seine Zustimmung gegeben hat.
Wichtig
  • Benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!
  • Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der 'Diskussion:'-Seite darauf hin.
  • Bitte beachte, dass alle UUGRN-Beiträge automatisch unter der der Creative Commons Lizenz stehen.
  • Falls Du nicht möchtest, dass Deine Arbeit hier von anderen verändert und verbreitet wird, dann drücke nicht auf "Artikel Speichern".

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)