Data Loss Prevention – Wenn Dein Webserver zu viel verrät

Datenleck Server Steffen Lippke Hacking Series
Data Loss Prevention

Was verrät Deine Webseite, was Du nie verraten würdest? Deine Data Loss Prevention!

Schon nach 5 Minuten hat ein „Durchschnitts“-Hacker viele sensible Daten über Deinen Server gesammelt.

Wie kann ich sensible Informationen verstecken? Was kann ein Angreifer über mich erfahren, wenn er vor hat mich zu attackieren?

Was ist eine Data Loss Prevention?

Was kann ich alles über einen fremden Server herausfinden ohne diesen „aktiv angreifen“ zu müssen?

Dieses Tutorial zeigt Dir, wie Du an Server-Inforationen kommst, die einen möglichen Angriff erleichtern können. Des Weiteren erfährst Du, wie man (die meisten) Informationen verstecken, kaschieren und vermeiden kann:

Das erhört die Sicherheit!

Beginnen wir.

HTTP-GET einfach erklärt

Unsere Intention ist es Informationen über den anzugreifenden Server herauszufinden und somit Schwachstellen zu erkennen.

Der erste Schritt ist das Testen einer HTTP-GET Anfrage auf Deinem Server – Der Server antworte – Die Kopf-Zeilen des HTTP-Protokolls beinhalten den Server Typ: Apache. Autsch!!

Fragen wir eine beliebige Seite im Netz an und erhalten den Server-Typ
Fragen wir eine beliebige Seite im Netz an und erhalten den Server

Suche nach sensiblen Daten finden

Das verrät eine URL etwas über die Server-Konfiguration. Wenn als Postfix der URL eine .php steht handelt es sich um ein PHP-Server, wenn ein .jsp steht um eine JavaServer.

Weitere Info
Weitere Info

Schon hat der Hacker die notwendige Information, um bekannte Schwachstellen der Servertypen zu testen.

Eine Webseite die auch eine JavaServer läuft Igitt
Eine Webseite die auch eine JavaServer läuft Igitt

Wenn Du Cookies auf Deiner Webseite nutzt, kann das auch dazu führen Daten preiszugeben. Das Beispiel unten zeigt einen Cookie von LifeHacker. Die Webseiten-Hoster nutzen Google Tag Manger, um die Nutzer zu tranken, bessere Werbung zu schalten und angepassten Content zu produzieren.

Cookies verraten noch mehr - Google Tag Manager wird genutzt
Cookies verraten noch mehr

Ajax-Aufrufe verraten noch mehr über Deinen Server: Der Server komprimiert mit GZIP, nutzt ASP.NET und läuft auf ECS.

GZIP – Diese Software komprimiert HMTL, JS und CSS Code auf einer Webseite. Die Kompression ermöglicht eine schnellere Übertragung von Daten, da das Netzwerk weniger Datenpakete transportieren muss. Die Kompression auf dem Server erfordert auf der anderen Seite das Entpacken beim Client. Die komprimierte Datei muss der Browser in lesbaren Code umwandeln.

ASP.NET – Microsoft entwickelte das Framework für die  Async Server Pages im Rahmen des .NET-Frameworks. Das Framework ermöglicht dem Programmierer Webanwendung zu entwickeln. Ein bekannter Ersatz ist PHP.

ECSElastic Cloud Stroage ist eine Cloud, die sich an die Bedürfnisse des Nutzers anpasst. Die Vergütung basiert nicht auf Festpreisen, sondern basiert auf der realen Nutzung der Cloud. Der Nutzer kann flexibler seinen Web-Speicher nutzen und vermeidet unnötige Kosten bei geringen Kosten.

Sicherungsmaßnahme – Kein Byte zu viel

Unser Ziel ist es so wenig wie möglich Daten preiszugeben. Darunter soll aber nicht die User Expericence leiden oder unseren Server verlangsamen. Unten habe ich ein paar Maßnahmen und Strategien aufgelistet, die Dir helfen sollen eine Datenschleuder in einen NSA-Server zu verwandeln.

  • Verstecke alle „Server“ Headers in den HTTP-Antworten von Deinem Server. Jeder GET-Befehl sendet sensible Daten mit, die der Server nicht unbedingt preisgeben muss.
  • Nutzte das „Rewriting“ (deutsch: Umschreiben) von Deinen URLs. WordPress ermöglicht Bloggern standardmäßig das Rewriting von allen URL-Beiträgen. Unter Einstellungen à Permalinks findest Du verschiedene Möglichkeiten URLs anders darzustellen. Rewriting verhindert, dass in der URL die Endungen .php oder .jsp sichtbar bleiben.
Rewriting in WordPress ist eine praktisches Features
Rewriting in WordPress ist eine praktisches Features
  • Wähle alle Cookie-Namen und -Inhalte so das keiner dieser in „Klartext“ einfach ablesen kann. Verwende Codewörter oder andere Bezeichnungen, um Hackern das Angreifen schwerer zu machen.
  • Falls Du noch einen Java Server für deine Webseite nutzt, kann schnell ein 500 Fehler auf der JSP-Seite entstehen, wenn eine Java-Funktion einen Bug hat oder eine Nutzer ungewolltest aufuft. Damit der Nutzer von der Peinlichkeit nichts mitbekommt, leite einfach immer auf eine Standard 404 „Seite wurde nicht gefunden“ um. Der Nutzer bekommt nicht mit, was, wo und womit in Java schiefgelaufen ist:
    • PHP kann via spzielle Anweisung die typischen Error-Messages verstecken, sodass der Hacker die Fehler nicht zu Gesicht bekommt. Wenn deine Webseite Fehler-Nachrichten unterdrückt, dann kann auch keiner hinter Deiner Webseite eine Apache Server vermuten.
      error_reporting(0); ini_set('display_errors', 0);
    • Wenn Du Daten vom Server via AJAX abfragst, achte darauf nur die notwendigen Daten zu übertragen. Alle „weiteren und ungenutzten“ Daten können eine Sicherheitslücke sein. Gebe nur das Preis, welches die Webseite im Frontend darstellt. Alle weiteren Daten verlangsamen die Übertragung und brauchen mehr Cache.
    • Sein eigenes Gedankengut möchte jeder Programmierer schützten. Eine „Verschleierungstool“ für Deine JavaScript Code erschwert den Hackern das Leben. Die Webseite https://obfuscator.io/ konvertiert Deinen JavaScript Code in einen unlesbaren Textblock an Symbolen.

    Das erhöht die Sicherheit auf Deiner Webseite. Der JavaScript Obfuscator Tool benennt alle Variablen, Funktionen und Argumente um und komprimiert Deinen Code.

    Credits

    Icons made by Gregor Cresnar from www.flaticon.com is licensed by CC 3.0 BY  – Icons made by dDara from www.flaticon.com is licensed by CC 3.0 BY – Icons made by Icomoon from www.flaticon.com is licensed by CC 3.0 BY –Icons made by Those Icons from www.flaticon.com is licensed by CC 3.0 BY Icons made by Smashicons from www.flaticon.com is licensed by CC 3.0 BYIcons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


    Jeden Monat teile ich mit Mitgliedern
    4 neue praxisnahe Tutorials (je 1000+ Wörter).


    Trage Deine Mail, damit Du
    Deine Coding + Hacking Skills erweitern kannst!

    Die Webseite nutzt nur technisch notwendige Cookies.