SSL-Only für Websites der FAU

Wir  planen alle Webauftritte die von uns gehostet werden auf „SSL-Only“ zu stellen.

„SSL-Only“ bedeutet, daß Webauftritte nur noch über verschlüsselte Verbindungen aufgerufen und ausgeliefert werden.  Klartextverbindungen werden nicht mehr verwendet.  Somit ist es Dritten, welche den Internetverkehr zwischen einen Besucher einer Website und unseren Server überwachen oder belauschen könnten, nicht mehr möglich zu erkennen, welche Inhalte übertragen werden.

Eine der ersten prominenten Websites wo wir dies aktiviert haben, ist die offizielle Website der Universität Erlangen-Nürnberg: www.fau.de . Alle Zugriffe auf diesem Webauftritt werden, auch wenn sie zunächst unverschlüsselt angefordert wurden, auf die gesicherte Verbindung umgeleitet.
So wird auf Aufruf der URL http://fau.de auf die URL https://www.fau.de geleitet und dann verschlüsselt ausgeliefert.

Vor einigen Jahren war dieses Ansinnen noch nicht umsetzbar, da es noch einige Browser gab, die nur Klartextverbindungen beherrschten. Inzwischen jedoch sind solche veralteten Browser kaum noch im Einsatz.  Die aktuelle Browserstatistik (Bild: Monatsstatistik vom 29. September 2014) belegt dies deutlich.browser-201409

In der Statistik tauchen keine Browser mit signifikanten Werten mehr auf, bei denen bekannt ist, daß Sie  SSL-Verbindungen nicht beherrschen.

Wir planen, entsprechende Umleitungen mittel- bis langfristig für alle beim RRZE gehosteten Webauftritte.  Einer sofortigen Umsetzung steht allerdings der Umstand entgegen, dass hierfür zu jedem einzelnen Webauftritt ein Zertifikat beim DFN beantragt werden muss. Der dabei verwendete Vorgang erfordert jedoch teilweise eine manuelle Handlung (Kontrolle der Daten durch einen Menschen und handschriftliche Unterschriften, sowie Ausweiskontrollen), welche im einzelnen zwar nicht sonderlich zeitaufwendig ist, in der Summe von derzeit etwa 1000 Webauftritten allerdings doch ins Gewicht fällt.
Daher wird die Umstellung schrittweise vorgenommen.  Einzelne Webauftritte bei denen die Betreiber bereits vorher eine Umstellung möchten, können sich gern beim Webteam unter webmaster@rrze.fau.de melden um vorgezogen zu werden.

 

Apache-Direktiven im Webcluster

Der neue Apache 2.2 übernimmt die meisten der Voreinstellungen des vorherigen Apache 1.3.
Einige Direktiven mussten jedoch geändert werden, andere kamen hinzu.

Folgende globale Direktiven wurden gesetzt für die Webauftritte:

PHP-Einstellungen

AddHandler x-httpd-php .php .php5 .php4 .php3
AddType application/x-httpd-php .php .php5 .php4 .php3
LoadModule suphp_module /opt/FAU/httpd/modules/mod_suphp.so
suPHP_Engine on
suPHP_ConfigPath /proj/webserver/conf/php/5.3/php

Einstellungen für ServerSideIncludes

AddType text/html .shtml
AddHandler server-parsed .shtml

AddOutputFilterByType DEFLATE text/xml text/plain text/css application/javascript
# Deflate fuer text/html abgeschaltet, damit Browser die Seite schon waehrend des Transfers 
# analysieren und weiteren Content laden koennen.
AddOutputFilter INCLUDES .php .html .htm
# SSI auch fuer .php .html .htm aktivieren
# Achtung: Hosts mit Typo3 haben damit Probleme, da von T3 ausgegebene
# Kommentarmarker im HTML-Code die Syntax von SSI haben.
# bei solchen Hosts ist der AddOutputFilter im <virtualhost>-Kontext
# zu aendern.

Caching

CacheEnable  /grafiken
CacheEnable  /img
CacheIgnoreNoLastMod On
MCacheSize      320000
MCacheMaxObjectCount 5000
MCacheMinObjectSize 100
MCacheMaxObjectSize     202400
MCacheRemovalAlgorithm  LRU

Expires

ExpiresActive On
ExpiresDefault "access plus 1 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType text/html "access plus 2 days"

# Expires fuer .pdf und .doc deaktiviert.
<filesmatch "\.(pdf|docx?)$">
ExpiresActive Off
</filesmatch>

Options und erlaubte Overrides

   Options IncludesNOEXEC SymLinksIfOwnerMatch Indexes
   AllowOverride AuthConfig FileInfo Limit Indexes Options=All,MultiViews

Jeder Webauftritt (und darin alle enthaltenen Skripten) wird unter der jeweiligen Webmasterkennung ausgeführt.
Zusätzlich können obigen Anweisungen noch über eigene Direktiven oder Änderungen im Kontext des Webauftritts geändert werden.
Im Webmaster-Portal können eigenen DIrektiven für den Webauftritt abgerufen werden. Einige Direktiven lassen sich auch über eine eigenen .htaccess-Datei ändern.

Cache Control bei dynamischen Webauftritten

Mit dem neuen Apache 2.2 haben wir zur Steigerung der Performance das Cache-Modul von Apache aktiviert („Mem Cache“).

Dieses Modul bewirkt, daß Webseiten, darunter auch dynamisch generierte Seiten, vom Webserver zwischengespeichert werden und beim nächsten Request wieder ausgeliefert werden, ohne daß dann die Seite nochmals von vorne „gebaut“ werden muss. Dadurch ergibt sich teilweise ein merkbarer Performancegewinn.
Dem Voraus gingen verschiedene Tests, über die ich im letzten Jahr bereits in diesem Blog berichtete. Vgl: Vorbereitungen zum Umstieg auf den Webcluster: Performance

Leider mussten wir nun feststellen, daß es doch Probleme gibt:  Bei Webangeboten, die verschiedene Inhalte immer vom selben Skript liefern (z.b. immer von einer „index.php“), kann es passieren, daß zunächst der falsche Content geliefert wird und der richtige erst dann kommt, wenn man  die Seite nochmal explizit neu anforderte.

Eine genauere Analyse der Vorgänge zeigte zwei mögliche Ursachen, bzw Lösungen:

  • Das Skript liefert bei der Generierung der Inhalte bislang keine Antwort-Header, die spezielle Cache-Control-Anweisungen beinhalten. So fehlt beispielsweise eine solche Zeile in den Antwort-Headern:

    Cache-Control: no-cache

    Die Lösung wäre also, daß das Skript um diese oder andere Angaben ergänzt wird.
    Bei einigen CMS, wie beispielswiese bei Typo3, gibt es entsprechende Funktionen und auch Extensions, die dies automatisch setzen.

  • Sollte das Problem nicht über eine Anpassung oder Konfiguration der Skripte lösbar sein, besteht ansonsten die Möglichkeit, daß das Caching für den kompletten Webauftritt oder für einzelne Verzeichnisse daraus serverseitig deaktiviert wird.
    Im dem Fall, daß der Webauftritt auf unseren Webcluster liegt, wird dies das Webteam tun. Wir werden dann in der Konfiguration des Webauftritts die Anweisung 

    CacheDisable  /

    ergänzen.
    Im Webmasterportal kann jeder angemeldete Webmaster über die Ansicht der Konfiguration, unter dem Unterpunkt „VirtualHost-Konfiguration“, nachprüfen, ob und welche Direktiven gesetzt sind und ob diese dabei ist.

Sollten Sie hinsichtlich dieses Themas Unterstützung des Webteams benötigen, setzen Sie sich bitte mit uns in Kontakt.

 

Apache- und PHP-Aktualisierung für Webauftritte auf den Servern info13 und info14

Webauftritte aus den Bereichen

  • Techfak,
  • Medizinische Fakulät
  • Naturwissenschaftliche Fakultät
  • Forschungsprojekte
  • sowie Kooperationen
  • und Webauftritte der Uni Bamberg

werden durch die Server info13 und info14 betrieben.

In Rahmen der Umstellungen auf den zentralen Webcluster ist geplant, diese beiden Server als nächstes umzustellen. Dies hat zur Folge, daß auch diese Webauftritte dann auf Apache 2.2.17 und PHP 5.3.6 laufen.

Für aktuelle PHP-Skripten, sowie aktuell gehaltene CMS sollte es hierbei keine Probleme geben.
Wohl aber kann es bei älteren Skripten, die auf Funktionen beruhen, die mit PHP 5.3 nicht mehr unterstützt werden, zu Problemen oder Warnmeldungen kommen.
Mit den neuem PHP werden jedoch keine der bereits mit dem aktuellen PHP 5.0 bereit gestellten Libraries wegfallen. Der Funktionsumfang wird stattdessen durch neue Libraries (z.B. curl) erweitert.

Die Umstellung erfolgt voraussichtlich ab Mitte kommender Woche und wird sukzessiv vorgenommen. Das Ende der Umstellung kann daher bis Ende April andauen.

 

Tipp: Wie erkenne ich, auf welchen Server mein Webauftritt liegt?

Das Firefox-Plugin „ShowIP“ zeigt in der Statusleiste unten rechts für jeden Webauftritt die IP-Adresse des verwendeten Servers an. Installieren Sie sich dieses Plugin um stets angezeigt bekommen, durch wlechen Server ein Webauftritt verarbeitet wird.
Die info13 trägt die  IP-Adresse 131.188.2.44 , die info14 die IP-Adresse 131.188.3.60.
Wenn dagegen die IP-Adresse 131.188.16.200  angezeigt wird, wird man bereits vom Webcluster bedient, der alle Zugriffe transparent auf verschiedene Server verteilt.

Webcluster aktualisiert

Alle Webserver des Webclusters wurden soeben auf neuesten Stand gebracht.

Dies bedeutet, daß die Webauftritt, die vom Webcluster verwaltet werden (alle Webauftritte, die ab Sommer 2010 eingerichtet wurden, sowie die meisten Webauftritte der Philfak, Wiso und Jura) nunmehr von Servern mit Apache  2.2.17  und mit PHP 5.3.6  ausgeliefert werden.

Zudem wurden im PHP-Paket viele neue Libraries installiert, die bislang nicht zur Verfügung standen. Folgende Libraries sollten für Entwickler besonders interessant sein:
bcmath, curl, gd, exif, imap, interbase, json, ldap, mbstring, mhash, mysql, mysqli, pgsql, SimpleXML, SQLite, xml,
xmlreader, xmlrpc, xmlwriter, xsl, zip