BLOG

Balance zwischen Sicherheit und Leistung mit Web Application Firewalls

Lori MacVittie Miniaturbild
Lori MacVittie
Veröffentlicht am 26. März 2018
  • Sicherheit ist wichtig, aber Leistung ebenso.
  • Mehr als die Hälfte (57 %) der Organisationen nutzen Web Application Firewalls, um Apps in der Cloud und vor Ort zu schützen (State of Application Delivery 2018)
  • Das Scannen einer ausgehenden Antwort ist eine der letzten Möglichkeiten, einen laufenden Verstoß zu erkennen – und zu stoppen. 
  • Man kann „des Guten zu viel“ haben. Überlegen Sie sorgfältig, wie Sie Sicherheit und Leistung in Einklang bringen, um beides zu optimieren. 

Wir (wie jeder) wissen, wie wichtig Leistung für den anhaltenden Erfolg des digitalen Geschäfts ist. Während diejenigen von uns, die mit DFÜ-Verbindungen und stundenlangen Downloads aufgewachsen sind, in puncto Leistung eher nachsichtig sind, sind unsere digital nativen Kinder nicht so großzügig. Sie erwarten sofortige Antworten und schnelle Downloads.

Die Zahlen beweisen unsere Ungeduld: Mehr als 80 % von uns haben eine Anwendung wegen schlechter Leistung gelöscht . Einige von uns – drei von zehn – sind sogar bereit, für das Privileg blitzschneller Apps zu zahlen.

Doch wir sind schwer zufriedenzustellen, ganz gleich, welcher Technologiegeneration wir angehören. Wagen Sie es nicht, die Sicherheit zu ignorieren, während Sie die App beschleunigen. Wenn dies der Fall ist und unsere Daten kompromittiert werden, werden wir mehr tun, als nur Ihre App zu löschen.

Es obliegt also den IT-Experten – und insbesondere denjenigen, die sich mit Sicherheit befassen –, die Anforderungen an die Leistung mit den Sicherheitsbedürfnissen in Einklang zu bringen. Apps müssen schnell und sicher sein.

Mehr als die Hälfte aller Unternehmen setzen für sicherere Apps unter anderem eine Web Application Firewall (WAF) ein, um Anwendungen – neben anderen Anwendungsdiensten – vor Angriffen zu schützen. Dies geschieht auf zwei Arten:

Zunächst scannen sie eingehende Anfragen, um böswillige Aktivitäten zu erkennen. Zweitens prüfen sie ausgehende Antworten. Es überrascht nicht, dass Unternehmen, die diese Sicherheitstaktiken stets anwenden, zu jenen gehören, die einem Anwendungsangriff am ehesten standhalten können .

Mit einer WAF können Sie jedes einzelne Bit einer Anfrage und einer Antwort überprüfen. Sie können Inhalte beliebig analysieren, auseinandernehmen, verzerren und ändern.

Aber nur weil Sie es können, heißt das nicht, dass Sie es auch tun sollten.

Sicherheit gibt es nicht umsonst. Um den Anwendungsverkehr mit der nötigen Aufmerksamkeit zu prüfen, die zum Aufspüren von Angriffen oder Hinweisen auf eine Sicherheitsverletzung erforderlich ist, sind CPU-Zyklen und Speicher erforderlich.

Deshalb ist es wichtig, Sicherheit und Leistung in Einklang zu bringen. Jede zusätzliche Mikrosekunde, die Sie mit Scannen oder Scrubbing verbringen, ist eine zusätzliche Mikrosekunde, die Benutzer auf diese Antwort warten müssen.

Und sie summieren sich.

Schließlich ist es eine physikalische Sache, dass Pakete für den Durchgang durch ein Netzwerk und zurück mehrere Mikrosekunden benötigen. Der Verbindungsaufbau dauert noch einige Mikrosekunden. Noch ein paar zum Verarbeiten … Sie verstehen, was ich meine. Alles, was Sie tun, braucht Zeit, und je mehr Zeit Sie sich nehmen, desto ungeduldiger werden Ihre Benutzer.

Manche schütten in diesem Konflikt traditionell das Kind mit dem Bade aus. Sie schalten die Sicherheit aus, bis die Leistung akzeptabel ist. Aber das ist nicht die richtige Antwort. Es besteht eine Balance, die sowohl das Sicherheitsbedürfnis als auch den Leistungsanspruch befriedigen kann.

Auf Anfrage können Sie eine Analyse und Überprüfung auf Protokollebene durchführen. Untersuchen Sie die Nutzlast und suchen Sie nach Anzeichen eines Angriffs. Führen Sie zunächst signaturbasierte Scans durch und führen Sie dann textbasierte Vergleiche durch. Signaturbasierte Scans verbessern, wenn möglich, die Sicherheitsleistung, da Sie nicht analysieren und vergleichen müssen. Es handelt sich lediglich um einen direkten Vergleich und dieser Vorgang ist ziemlich schnell. 

Was die Antwort betrifft, erliegen Sie nicht der Versuchung, den Inhalt zu analysieren und unter die Lupe zu nehmen. Hier muss bei den Entwicklern ein gewisses Vertrauen bestehen, dass das JSON richtig formatiert ist bzw. das XML dem entsprechenden Schema folgt. Seien Sie ehrlich: Wenn hier ein Protokoll- oder Formatfehler auftritt, wird der Benutzer davon erfahren. Dies ist ein Anliegen des Entwicklers und stellt im Allgemeinen kein Sicherheitsrisiko dar.

Ein Sicherheitsrisiko stellt die Angabe sensibler Daten dar – etwa Kreditkarten- oder Kontonummern, Sozialversicherungsnummern oder E-Mail-Adressen. Zahlen und Daten mit klar definierten Mustern, die in den Daten schnell gesucht und verborgen werden können. Wie bei signaturbasierten Scans führen Sie hier einen Musterabgleich durch und die Sicherheitsdienste sind wirklich gut darin geworden, diese so schnell wie möglich durchzuführen.

Auch die Inhaltslänge sollten Sie nach Möglichkeit überprüfen. Eine Reihe spektakulärer Exploits konnten einfach anhand der Menge der zurückgegebenen Inhalte identifiziert werden. Wenn Sie wissen, dass eine bestimmte Anfrage nur etwa 1 KB Daten zurückgeben soll, sollte eine Antwort von 4 KB wahrscheinlich irgendwo die Alarmglocken läuten lassen. Es handelt sich um eine einfache Prüfung, die weitaus weniger Zeit in Anspruch nimmt als das Parsen und Zählen von Datensätzen.

Eine gute Faustregel besteht darin, bei der Anforderung immer die Sicherheitsregel Null zu befolgen und bei vorhandenen Benutzereingaben alles zu überprüfen, was Sie können. Achten Sie beim ausgehenden Datenverkehr auf Hinweise auf einen bestehenden Verstoß und verschleiern Sie vertrauliche Daten, aber verschwenden Sie keine Zeit damit, sich über Datenformate und Schemakonformität Gedanken zu machen. Überlassen Sie den Entwicklern die Frage, ob sie die Antwort richtig formatiert haben. Das fällt in ihren Zuständigkeitsbereich, nicht in Ihren.

Sicherheit und Leistung können in Einklang gebracht werden, solange Sie nicht das eine für das andere opfern. Und zwar in beide Richtungen. Geben Sie die Sicherheit nicht zugunsten der Leistung auf, aber verzichten Sie auch nicht zugunsten der (möglicherweise unnötigen) Sicherheit auf die Leistung.

Wenn Sie Sicherheit strategisch einsetzen, um Ausnutzungen zu verhindern und Sicherheitsverletzungen zu erkennen, können Sie das nötige Gleichgewicht mit der Leistung erreichen, um die Zufriedenheit der Benutzer und die Sicherheit von Daten und Anwendungen zu gewährleisten.