This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "Germany/Projekte/Top 10 fuer Entwickler-2013/A5-Sicherheitsrelevante Fehlkonfiguration"
m (letzten Headertab 'für weitere Programmiersprachen' (=Test) auskommentiert) |
(Hinweis auf das Umsetzen der allgemeinen Empfehlungen auf allen Ebenen, redaktionelle Änderung: unbenutzte Boxen gelöscht) |
||
Line 56: | Line 56: | ||
= '''JAVA''' = | = '''JAVA''' = | ||
{{Top_10:SubsectionTableBeginTemplate|type=headertab}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk=5|year=2013|language=de}} | {{Top_10:SubsectionTableBeginTemplate|type=headertab}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk=5|year=2013|language=de}} | ||
− | + | Bitte setzen Sie die oben genannten Empfehlungen auf allen Ebenen von der Anwendung, den Libraries, der Middleware bis hin zur IT-Infrastruktur um. | |
− | + | <!---------- keine weiteren Sporachtypischen Beispiele | |
{{Top_10_2010:ExampleBeginTemplate}} | {{Top_10_2010:ExampleBeginTemplate}} | ||
Tbd | Tbd | ||
Line 74: | Line 74: | ||
Tbd | Tbd | ||
{{Top_10_2010:ExampleEndTemplate}} | {{Top_10_2010:ExampleEndTemplate}} | ||
− | + | ----------------------------> | |
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk=5|year=2013|language=de}} | {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk=5|year=2013|language=de}} | ||
{{Top_10_2010:SubSubsectionOWASPReferencesTemplate}} | {{Top_10_2010:SubSubsectionOWASPReferencesTemplate}} | ||
Line 107: | Line 107: | ||
= '''PHP''' = | = '''PHP''' = | ||
{{Top_10:SubsectionTableBeginTemplate|type=headertab}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk=5|year=2013|language=de}} | {{Top_10:SubsectionTableBeginTemplate|type=headertab}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk=5|year=2013|language=de}} | ||
+ | Bitte setzen Sie die oben genannten Empfehlungen auf allen Ebenen von der Anwendung, den Libraries, der Middleware bis hin zur IT-Infrastruktur um. | ||
+ | |||
+ | ==== speziell für PHP: ==== | ||
In der Datei php.ini bietet PHP Konfigurationsmöglichkeiten für Umgebungsvariablen an. Hier kann bspw. bestimmt werden, ob ein Cookie nur bei HTTP-Abfragen oder auch durch JavaScript ausgelesen werden darf. Zur Laufzeit können die Parameter ebenfalls über die Funktion ini_set() gesetzt werden. Das PHP-Projekt Psecio (siehe https://github.com/psecio/iniscan/) bietet ein Werkzeug zur Überprüfung der php.ini an, mit welchem Schwachstellen in der Konfigurationsdatei aufgedeckt werden können. | In der Datei php.ini bietet PHP Konfigurationsmöglichkeiten für Umgebungsvariablen an. Hier kann bspw. bestimmt werden, ob ein Cookie nur bei HTTP-Abfragen oder auch durch JavaScript ausgelesen werden darf. Zur Laufzeit können die Parameter ebenfalls über die Funktion ini_set() gesetzt werden. Das PHP-Projekt Psecio (siehe https://github.com/psecio/iniscan/) bietet ein Werkzeug zur Überprüfung der php.ini an, mit welchem Schwachstellen in der Konfigurationsdatei aufgedeckt werden können. | ||
Line 119: | Line 122: | ||
==== ModSecurity ==== | ==== ModSecurity ==== | ||
Die Benutzung einer Webfirewall wie modsecurity, welches sich als Modul in den Webserver einbindet, ist empfehlenswert. Zentrale Komponente sind die "corerules", in welchen zwischen Warnungen und Fehlern unterschieden wird. In der Konfiguration des Webservers kann angegeben werden, welche Aktion bei einem Regelverstoß durchgeführt werden soll. Verstößt eine Anfrage gegen hinterlegte Regeln, kann die Ausführung der Anfrage gestoppt oder der Regelverstoß protokolliert werden. | Die Benutzung einer Webfirewall wie modsecurity, welches sich als Modul in den Webserver einbindet, ist empfehlenswert. Zentrale Komponente sind die "corerules", in welchen zwischen Warnungen und Fehlern unterschieden wird. In der Konfiguration des Webservers kann angegeben werden, welche Aktion bei einem Regelverstoß durchgeführt werden soll. Verstößt eine Anfrage gegen hinterlegte Regeln, kann die Ausführung der Anfrage gestoppt oder der Regelverstoß protokolliert werden. | ||
− | + | <!----------------------------- | |
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=left|title=3|risk=5|year=2013|language=de}} | {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=left|title=3|risk=5|year=2013|language=de}} | ||
==== Tbd ==== | ==== Tbd ==== | ||
Line 126: | Line 129: | ||
Tbd | Tbd | ||
{{Top_10_2010:ExampleEndTemplate}} | {{Top_10_2010:ExampleEndTemplate}} | ||
− | + | ----------------> | |
− | {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position= | + | {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=whole|risk=5|year=2013|language=de}} |
{{Top_10_2010:SubSubsectionOWASPReferencesTemplate}} | {{Top_10_2010:SubSubsectionOWASPReferencesTemplate}} | ||
* [[Configuration | OWASP Development Guide: Chapter on Configuration]] | * [[Configuration | OWASP Development Guide: Chapter on Configuration]] |
Revision as of 19:53, 23 March 2016
← A4-Unsichere direkte Objektreferenzen | A6-Verlust der Vertraulichkeit sensibler Daten → |
Anwendungs- spezifisch |
Ausnutzbarkeit EINFACH |
Verbreitung HÄUFIG |
Auffindbarkeit EINFACH |
Auswirkung MITTEL |
Anwendungs-/ Geschäftsspezifisch |
Nicht authentifizierte Angreifer sowie authentifizierte Nutzer könnten versuchen, Zugangsdaten anderer zu stehlen. In Betracht kommen außerdem Innentäter, die ihre Handlungen verschleiern wollen. | Angreifer benutzen Standardkonten, inaktive Seiten, ungepatchte Fehler, ungeschützte Dateien und Verzeichnisse etc., um unautorisierten Zugang zum oder Kenntnis über das Zielsystem zu erlangen. | Sicherheitsrelevante Fehlkonfiguration kann auf jeder Ebene der Anwendung, inkl. Plattform, Web- und Anwendungsserver, oder Datenbank vorkommen. Die Zusammenarbeit zwischen Entwicklern und Administratoren ist wichtig, um eine sichere Konfiguration aller Ebenen zu gewährleisten. Automatisierte Scanner können oft fehlende Sicherheitspatches, Fehlkonfigurationen, Standardkonten, nicht benötigte Dienste, usw. erkennen. | Diese Fehler geben Angreifern häufig unautorisierten Zugriff auf Systemdaten oder -funktionalitäten. Manchmal führen sie zur kompletten Kompromittierung des Zielsystems. |
Ein System könnte unbemerkt kompromittiert werden. Alle Daten könnten gestohlen oder nach und nach verändert werden. |
Mögliche Angriffsszenarien
Szenario 1: Die Administratorkonsole mit Standardkonto wurde automatisch installiert und nicht entfernt. Angreifer entdecken dies, melden sich über das Standardkonto an und kapern das System. Szenario 2: Directory Listings wurden nicht deaktiviert. Angreifer nutzen dies, um in den Besitz aller Dateien zu kommen. Sie laden alle existierenden Java-Klassen herunter, dekompilieren diese und entdecken einen schwerwiegenden Fehler in der Zugriffskontrolle. Szenario 3: Die Konfiguration des Anwendungsservers erlaubt es, Stack Traces an Benutzer zurückzugeben. Dadurch können potentielle Fehler im Backend offengelegt werden. Angreifer nutzen zusätzliche Informationen in Fehlermeldungen aus. Szenario 4: Der Applikationsserver wird mit Beispielapplikationen ausgeliefert, die auf dem Produktivsystem nicht entfernt wurden. Diese Beispielapplikationen besitzen bekannte Sicherheitsschwachstellen, die Angreifer ausnutzen können um den Server zu kompromittieren. |
Wie kann ich 'Sicherheitsrelevante Fehlkonfiguration' verhindern?
Alle folgenden Empfehlungen sollten berücksichtigt werden:
|
Verteidigungs-Option 1 gegen 'Sicherheitsrelevante Fehlkonfiguration':
Bitte setzen Sie die oben genannten Empfehlungen auf allen Ebenen von der Anwendung, den Libraries, der Middleware bis hin zur IT-Infrastruktur um. |
Referenzen
OWASP
Weitere Informationen unter ASVS requirements area for Security Configuration (V12) Andere |
Verteidigungs-Option 1 gegen 'Sicherheitsrelevante Fehlkonfiguration':
Bitte setzen Sie die oben genannten Empfehlungen auf allen Ebenen von der Anwendung, den Libraries, der Middleware bis hin zur IT-Infrastruktur um. speziell für PHP:In der Datei php.ini bietet PHP Konfigurationsmöglichkeiten für Umgebungsvariablen an. Hier kann bspw. bestimmt werden, ob ein Cookie nur bei HTTP-Abfragen oder auch durch JavaScript ausgelesen werden darf. Zur Laufzeit können die Parameter ebenfalls über die Funktion ini_set() gesetzt werden. Das PHP-Projekt Psecio (siehe https://github.com/psecio/iniscan/) bietet ein Werkzeug zur Überprüfung der php.ini an, mit welchem Schwachstellen in der Konfigurationsdatei aufgedeckt werden können. Wichtige Parameter sind dabei u.a.:
|
Verteidigungs-Option 2 gegen 'Sicherheitsrelevante Fehlkonfiguration':
ModSecurityDie Benutzung einer Webfirewall wie modsecurity, welches sich als Modul in den Webserver einbindet, ist empfehlenswert. Zentrale Komponente sind die "corerules", in welchen zwischen Warnungen und Fehlern unterschieden wird. In der Konfiguration des Webservers kann angegeben werden, welche Aktion bei einem Regelverstoß durchgeführt werden soll. Verstößt eine Anfrage gegen hinterlegte Regeln, kann die Ausführung der Anfrage gestoppt oder der Regelverstoß protokolliert werden. |
Referenzen
OWASP
Weitere Informationen unter ASVS requirements area for Security Configuration (V12) Andere |
← A4-Unsichere direkte Objektreferenzen | A6-Verlust der Vertraulichkeit sensibler Daten → |