HTTPS Everywhere auf FuPa
Im Jahr 2017 hat sich einiges bei FuPa getan! Intern arbeiten wir aktuell daran unser System komplett neu zu implementieren. Dabei kombinieren wir Erfahrungen aus 11 Jahren FuPa.net mit den neusten Technologien aus Open-Source & Cloud Computing.
Im Juli 2017 haben wir das komplette System von FuPa.net auf HTTPS umgestellt. Zuvor war FuPa zwar auch per SSL erreichbar, jedoch nutzten dies nur die wenigsten Nutzer. Wir entschieden uns also HTTPS strikt für alle Nutzer einzuführen um den Best Practices der Webentwicklung zu folgen.
Vorbereitung 📚
Zur Vorbereitung haben wir uns vor allem an zwei Quellen gehalten, die uns den theoretischen Hintergrund als auch praktische Migrationserfahrung aufgezeigt haben:
- Why HTTPS matters von Google sowie weiterführende Materialien aus den Google Web Fundamentals
- HTTPS on Stack Overflow: The End of a Long Road
Vorteile ⬆️
Die Vorteile von HTTPS sind umfangreich bekannt. Für uns zählten vor allem folgende Argumente:
- Verschlüsselte Datenübermittlung (allg. Schutz der Privatsphäre)
- Vorbeugung vor Man-in-the-Middle (Schutz vor Spionage)
- Verbesserung des Suchmaschinen-Rankings
- Vorbereitung zur Nutzung zahlreicher Web APIs!
Für die Zukunft haben wir unzählige Pläne FuPa schneller, einfacher und noch nützlicher zu machen. 🚀 Dazu sind wir auf den Zugriff einiger neuer Schnittstellen im Webbrowser angewiesen. Ohne eine strikte Verwendung von HTTPS ist ein Zugriff auf diese Schnittstellen nicht möglich.
Umfangreiche Refactorings in Code und DB 👨💻
Die Migration zu HTTPS Everywhere haben wir schrittweise in unserer Testumgebung durchgeführt. Wie bei jedem anderen Feature entwickeln wir die Änderungen in einer isolierten Umgebung, die identisch konfiguriert ist wie unsere Produktivumgebung. Dadurch konnten wir in der Vergangenheit unzählige Fehler finden bevor diese in der Produktivumgebung ausgerollt wurden.
Die nötigen Refactorings umfassten unsere gigantische Codebasis von mehreren hunderttausend Zeilen Code sowie verschiedene Datenbanktabellen die URLs enthalten. Die größte Tabelle verwaltet die Artikel auf FuPa. Allein in dieser Tabelle wurde Textersetzung auf über 900k Einträgen durchgeführt.
Die meisten Refactorings konnten wir komplett automatisiert durchführen. Natürlich blieben stichprobenartige Prüfungen nicht aus. Im Kern haben wir hierfür 2 Wochen benötigt.
Nachdem alle Tests erfolgreich verliefen und unsere Testumgebung keine Fehler mehr produzierte, haben wir am 25. Juli 2017 den Schalter umgelegt und unsere Produktivumgebung komplett auf HTTPS Everywhere umgestellt.
SEO Boost zündet nicht 😕
Bezüglich unseres Sichtbarkeitsindex hatten wir uns einen großen Boost erwartet. Schließlich hat Google bereits 2014 angekündigt SSL als Singal in den Suchergebnisranks zu berücksichtigen. Der erhoffte Boost blieb aber aus.
Nach einem raschen Verlust von über 5 Punkten bei Sistrix wurden unsere Seiten schrittweise neu indiziert und bereits nach 6 Wochen der Ursprungswert von 30 wieder erreicht. Diesen konnten wir langfristig aber nicht halten. Wir arbeiten bereits in verschiedenen Projekten daran hier weitere Fortschritte zu machen.
Nachhaltige Sicherheit durch HSTS
Mithilfe von HTTP Strict Transport Security (HSTS) sorgen wir dafür, dass Browser bei einem wiederholten Besuch von FuPa direkt auf https://www.fupa.net zugreifen ohne den Umweg über http://www.fupa.net gehen. Dazu verwenden wir den HTTP header Strict-Transport-Security mit einer Laufzeit von einem Jahr.
Verbot für Mixed-Content ⛔️
Bereits in der Vorbereitung haben wir uns intensiv mit den Content-Security-Policy auseinander gesetzt. Wir haben uns auf die strengste Auslegung geeinigt indem wir jegliche Inhalte, die nicht per HTTPS bereit gestellt werden, komplett blockieren. Diese Regel hat uns nach Veröffentlichung die meiste Arbeit bereitet. Schließlich mussten wir viele Seiten auf Mixed-Content prüfen und einige einzelne Partner davon überzeugen ihre Inhalte per HTTPS auszuliefern. Aber bereits wenige Wochen nach der Umstellung konnten wir die Content-Security-Policy aktivieren.
Qualität des Zertifikats
Dank unserem Service Provider ist FuPa.net mit einem sicheren Zertifikat versehen das im populären SSL-Labs Test auf ein Ergebnis von A+ kommt. Dadurch ist maximale Vertrauenswürdigkeit und Kompatibilität gewährleistet.
Fazit 🏁
Die Umstellung hat von der Vorbereitung bis zur Aktivierung der Content-Security-Policy einige Wochen gedauert und hat alle Entwickler im Team beschäftigt. Nutzer können nun sämtliche Dienste ohne Einschränkung der Privatsphäre nutzen. Der erwünschte SEO-Boost blieb leider aus, dafür haben wir nun aber alle notwendigen Vorraussetzungen um 2018 viele spannende Features zu launchen! Stay tuned for more updates! ⚽️🤙
Wir sind ständig auf der Suche nach talentierten Entwicklern um unser Team zu vergrößern und dem Amateurfussball einen noch besseren Dienst zu leisten. Interessiert? Check unsere offenen Stellen und bewirb dich!