Sicherheit und Geschwindigkeit mit CloudFlare & Co

Sicherheit und Geschwindigkeit. Zwei der wichtigsten Eigenschaften jeder Website und zwei Gebiete mit hohem Spezialisierungsgrad. Um jederzeit den neusten Stand der Technik bieten zu können, benutzen wir seit einiger Zeit den Service CloudFlare. CloudFlare ermöglicht es uns, Webseiten sicherer und schneller laufen zu lassen, ohne selbst die dazu nötige Infrastruktur bereitstellen zu müssen. Es gibt eine ganze Reihe von ähnlichen Services wie z.B. Incapsula, Myracloud, MaxCDNCloudFront und etliche mehr.

Grundsätzlich operieren solche Dienste zwischen einer gehosteten Webseite und dem End-Nutzer, der die Webseite besucht. An dieser Stelle können von den Diensten verschiedene Features angeboten werden, welche schwerpunktmässig aber alle in die zwei Kategorien Sicherheit und Geschwindigkeit fallen.

Im Weiteren werden einige der Features näher beschrieben. Die nachstehenden Beschreibungen beziehen sich vorrangig auf das Beispiel von CloudFlare, die Überlappung mit ähnlichen Anbietern ist aber gross.

Content Delivery Network (CDN)

Ein Content Delivery Network (CDN) ist ein Netzwerk von Servern, welches Inhalte auf optimierte Weise an den End-Nutzer liefert. Mit Hilfe der global verteilten Servern eines CDN, wird in diesem Fall eine Webseite möglichst schnell – das heisst auf kürzestem Wege – an den Besucher der Seite übermittelt, was Antwortzeiten enorm verringern kann.

1-cdn
Abbildung: Veranschaulichung eines CDN

Die Server des CDN halten statische Daten (wie z.B. JavaScript, CSS und Bilder) der Webseite vorrätig und übertragen beim Aufruf der Webseite diese Daten direkt von einem der Server an den Besucher. Abhängig davon wo sich der End-Nutzer geographisch aufhält, liefert der am nächsten gelegene CDN Server die entsprechenden Daten.

Der dynamische Inhalt wird weiterhin direkt vom eigentlichen Hauptserver bereitgestellt, während alle statischen Inhalte durch das CDN zum Nutzer gelangen. Laut Cloudflare werden hierdurch Webseiten im Durchschnitt doppelt so schnell für Benutzer geladen.

2-cloudflare-cdn
Abbildung: Die Datenzentren des CloudFlare CDN

Web Content Optimization (WCO)

Wie gerade beschrieben, begründen sich die Vorteile eines CDN darauf, dass eine Webseite mittels der Infrastruktur näher an die End-Nutzer gebracht wird. Die Web Content Optimization (WCO) hingegen befasst sich nicht damit wie die Daten geliefert werden, sondern mit der Optimierung der zu liefernden Daten selbst. Mit unterschiedlichen Ansätzen führt also sowohl CDN als auch WCO zu einer schnelleren Webseite. Somit komplementieren sich beide gegenseitig für diesen Einsatz.
Web Content Optimization wird unter anderem durch folgende Massnahmen erreicht:

  • Bündeln von JavaScript-Dateien: Mehrere JavaScript-Dateien werden automatisch gebündelt damit sämtliche JavaScript-Dateien innerhalb eines Aufrufes übertragen werden. Hierdurch wird der Mehraufwand eingespart, der für mehrere Aufrufe nötig wäre, um jede Datei separat zu übertragen.
  • Asynchrones Laden: Durch asynchrones Laden von Ressourcen wie CSS- oder JavaScript-Dateien kann eine Webseite effektiv schneller laden und wird z.B. nicht durch das synchrone Laden eines grossen Scripts unnötig verzögert.
  • Komprimierung: Die Komprimierung der zu übertragenen Daten findet an dieser Stelle ebenso Anwendung. Bei einer Komprimierungsrate von beispielsweise 30%, beträgt der Geschwindigkeitsgewinn dieser Daten gleichermassen 30%, wegen der entsprechend geringeren Datenmenge.
  • Cache Header: Es werden automatisch die Einstellungen für den Cache Header dahingehend optimiert, damit das Caching des Browser eines Seitenbesuchers vorteilhaft genutzt wird, und damit unnötige neue Aufrufe vermieden werden.

3-async

Sicherheit

Wie eingangs erwähnt, operiert ein Service wie CloudFlare zwischen der gehosteten Webseite und dem Seiten-Nutzer. Neben der besprochenen Geschwindigkeitsoptimierungen, können an dieser Stelle ausserdem wirksame Sicherheitsmassnahmen zum Einsatz kommen um Webseiten besser vor Gefahren im Netz zu schützen. Diese werden im Folgenden kurz vorgestellt:

  • Schutz vor DoS-Attacken: An diesem Punkt findet der Schutz vor Denial of Service (DoS) Attacken statt. Wird eine solche Attacke von der Infrastruktur erkannt, greifen die entsprechenden Abwehrmassnahmen, und der Angriff gelangt nicht bis zum Web-Server der zugrundeliegenden Webseite.
  • Web Application Firewall (WAF): Anhand einer Web Application Firewall können weitere Gefahren für eine Webseite abgewendet werden. So steht etwa ein automatischer Schutz für folgende typische Angriffe bereit:
    •     SQL Injection
    •     Spam in Kommentaren
    •     Cross-site scripting (XSS)
    •     Cross-site request forgery (CSRF)

4-analytics
Abbildung: Webseiten Analyse von CloudFlare mit Informationen zu erkannten Gefahren

Grundsätzlich ist jede Webseite diesen potentiellen Gefahren im Internet ausgesetzt. Anhand des Einsatzes von CloudFlare bzw. eines vergleichbaren Service können viele Gefahren bereits abgewehrt werden, bevor sie überhaupt bis zu der eigentlichen Webseite vordringen können.

Einzelne Webseiten können zusätzlich dadurch profitieren, dass diese Sicherheitsdienste auch für eine Vielzahl von weiteren Webseiten Anwendung finden, welche gleichfalls diesen Service benutzen. Auf dieser Grundlage muss sich die Gefahrenabwehr nicht auf eine individuelle Webseite beschränken, sondern kann all diese Webseiten umfassen. Wird zum Beispiel ein Angriff auf eine spezielle Webseite erkannt, so kann der Angreifer automatisch von sämtlichen Webseiten blockiert werden.

Fazit

Wir sind bisher sehr zufrieden mit CloudFlare und die Benutzung hat sich in der Praxis gut bewährt. Unsere eigenen Server können sich häufiger ausruhen und wir profitieren von gepooltem Wissen und geteilter Hochleistungsinfrastruktur. Wie viele andere Services in der Cloud, bringt auch die Nutzung von CloudFlare & Co neue Probleme mit sich. Störungen von CloudFlare selbst können weitreichende Konsequenzen haben für die Erreichbarkeit von tausenden Seiten. Aus diesem Grund ist es wichtig, jederzeit eine funktionierende Fallback Lösung zu haben und sich damit nicht 100% abhängig zu machen.

Wir konnten bisher insgesamt signifikanten Nutzen aus den beschriebenen Vorteilen ziehen und unsere Infrastruktur wird durch diesen Service hervorragend ergänzt.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s