Richtlinien

Sicherheitsfehlkonfiguration

Sicherheitsfehlkonfiguration ist ein Sammelbegriff für häufige Schwachstellen, die nicht durch fehlerhaften Code, sondern durch die Konfigurationseinstellungen einer Anwendung entstehen. Es ist ein weitreichendes Thema, das stark von Faktoren wie Ihrem Technologie-Stack abhängt.

Die Behebung dieser Probleme erscheint oft einfach – etwa durch das Ändern einer Konfigurationsdatei oder einer einzelnen Codezeile –, doch die Auswirkungen und Konsequenzen dieser Schwachstellen können schwerwiegend sein.

Werfen wir einen Blick auf einige der unten aufgeführten Kategorien.

Kategorien

Webserver

Eine klassische Fehlkonfiguration bei Webservern ist die Aktivierung der Verzeichnisauflistung (Directory Listing).

Obwohl die Aktivierung der Verzeichnisauflistung oft nur geringe oder gar keine direkten Auswirkungen hat, erleichtert sie es Angreifern, andere vorhandene Fehler zu entdecken. Dazu können bewusst versteckte Seiten, Sicherungsdateien und ähnliche Elemente gehören.

Es ist erwähnenswert, dass all diese Dinge an sich bereits schlechte Praktiken darstellen und unter das Prinzip „Security by Obscurity“ (Sicherheit durch Unklarheit) fallen.

Die Verzeichnisauflistung lässt sich trivial deaktivieren und trägt zur „Defense in Depth“ bei, da es für Angreifer aufwendiger wird, den Host nach potenziellen Angriffsvektoren zu durchsuchen.

Frameworks

Debug-Modus

Die meisten Frameworks bieten einen „Debug“-Modus für Entwickler. Dieser Modus zeigt unter anderem bei einer unbehandelten Ausnahme meist Stacktrace-Details an. Manche Frameworks zeigen neben dem Stacktrace sogar Code-Ausschnitte. Dies ist während der Entwicklung enorm hilfreich, kann Angreifern jedoch viele Informationen liefern, auf die sie keinen Zugriff haben sollten.

Überwachungsendpunkte

Viele Frameworks verfügen zudem über eine Reihe von Endpunkten, die aktiviert werden können, um die Anwendung zu überwachen – sei es in einer Produktions- oder einer Test-/Entwicklungsumgebung.

Dazu können gehören:

  • Metriken (Prometheus)
  • Protokolle
  • Umgebungsinformationen
  • Pfad-/URL-Mappings

Obwohl diese Informationen in der Regel nicht sensibel sind, können sie dennoch Details liefern, die potenziellen Angreifern helfen, Ihre Anwendung besser zu verstehen. Natürlich können Ihre Umgebung oder Protokolle tatsächlich sensible Informationen enthalten. Daher ist es wichtig, darauf zu achten, was sichtbar und nutzbar sein könnte, falls Unbefugte darauf zugreifen sollten.

Die Unterscheidung zwischen Produktions- und Nicht-Produktionsumgebungen

Häufig wird der Fehler gemacht, Richtlinien wie das Deaktivieren von Verzeichnisauflistung, Debug-Modus und Debug-Endpunkten nur in Produktionsumgebungen zu befolgen, nicht aber in Entwicklungs- oder Testumgebungen. Die Begründung lautet, dass diese Nicht-Produktionssysteme zum Testen gedacht sind und die durch diese Funktionen bereitgestellten Informationen wichtig seien.

Diese Denkweise ist jedoch ein Trugschluss. Angreifer können weiterhin Nicht-Produktionssysteme ausspähen und Informationen daraus extrahieren, um diese anschließend für Angriffe auf Ihr Produktionssystem zu nutzen. Es ist zudem keine Seltenheit, dass Unternehmen Kopien ihrer Produktionsdatenbanken in Testumgebungen verwenden, was das Risiko noch weiter erhöht. 

XXE

Eine besonders kritische Form der Sicherheitsfehlkonfiguration sind XML External Entities (XXE). 

Dies tritt auf, wenn Daten aus nicht vertrauenswürdigen Quellen mit aktivierter Entity-Auflösung verarbeitet werden, was in der Vergangenheit häufig der Fall war. XXE kann unter anderem zum unbefugten Auslesen von Dateien und zu Server-Side Request Forgery führen.

Weitere Details sowie ein einfaches Beispiel hierzu finden Sie im folgenden Abschnitt. 

XXE-BEISPIEL

Slogan

Sichere Programmierung in der Praxis

Entdecken Sie Richtlinien für sicheres Programmieren, um Schwachstellen wie die OWASP Top 10 zu verstehen und zu beheben, und tauchen Sie in geführte Trainingsmissionen ein, um diese in realistischen Anwendungssimulationen zu üben.

Weitere Richtlinien
Demo buchen