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"

From OWASP
Jump to: navigation, search
(added 'Top_10:SummaryTableTemplate')
(Updated Link to CIS Security Configuration Guides/Benchmarks)
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Top_10_2010_Developer_Edition_De:TopTemplate
+
{{Top_10_2013_DeveloperEdition:TopTemplate
     |useprev=PrevLink_Germany_Projekte
+
     |useprev=2013PrevLinkDeveloperEdition
     |usenext=NextLink_Germany_Projekte
+
     |usenext=2013NextLinkDeveloperEdition
     |prev=Top_10_fuer_Entwickler/A5_{{Top_10_2010_Developer_Edition_De:ByTheNumbers
+
     |prev=A4-{{Top_10_2010:ByTheNumbers
 +
              |4
 +
              |year=2013
 +
              |language=de}}
 +
    |next=A6-{{Top_10_2010:ByTheNumbers
 +
              |6
 +
              |year=2013
 +
              |language=de}}
 +
    |year=2013
 +
    |language=de
 +
}}
 +
 
 +
{{Top_10_2010:SubsectionColoredTemplate
 +
      |A5 {{Top_10_2010:ByTheNumbers
 
               |5
 
               |5
               |language=de
+
               |year=2013
               |year=2010}}
+
               |language=de}}
    |next=Top_10_fuer_Entwickler/A7_{{Top_10_2010_Developer_Edition_De:ByTheNumbers
+
      ||year=2013
              |7
 
              |language=de
 
              |year=2010}}
 
 
}}
 
}}
== Seite in Bearbeitung (BAUSTELLE!!) ==
 
 
== A6 Sicherheitsrelevante Fehlkonfiguration ==
 
  
{{Top_10_2010_Developer_Edition_De:SummaryTableHeaderBeginTemplate|year=2010|language=de}}
+
{{Top_10_2010:SummaryTableHeaderBeginTemplate|type=images|year=2013|language=de}}
 
   {{Top_10:SummaryTableTemplate|exploitability=1|prevalence=2|detectability=1|impact=2|language=de|year=2013}}
 
   {{Top_10:SummaryTableTemplate|exploitability=1|prevalence=2|detectability=1|impact=2|language=de|year=2013}}
{{Top_10_2010:SummaryTableHeaderEndTemplate}}
+
{{Top_10_2010:SummaryTableHeaderEndTemplate|year=2013|language=de}}
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>Nicht authentisierte Angreifer sowie authentisierte Nutzer könnten versuchen, Zugangsdaten anderer zu stehlen. In Betracht kommen außerdem Innentäter, die ihre Handlungen verschleiern wollen.</td>
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>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.</td>
 
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>Angreifer benutzen Standardkonten, inaktive Seiten, ungepatchte Fehler, ungeschützte Dateien und Verzeichnisse etc., um unautorisierten Zugang zum oder Kenntnis über das Zielsystem zu erlangen.</td>
 
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>Angreifer benutzen Standardkonten, inaktive Seiten, ungepatchte Fehler, ungeschützte Dateien und Verzeichnisse etc., um unautorisierten Zugang zum oder Kenntnis über das Zielsystem zu erlangen.</td>
     <td colspan=2 {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>Sicherheitsrelevante Fehlkonfiguration kann auf jeder Ebene der Anwendung, inkl. Plattform, Web- und Anwendungsserver, Frameworks oder Programmcode 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.</td>
+
     <td colspan=2 {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>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.</td>
 
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>Diese Fehler geben Angreifern häufig unautorisierten Zugriff auf Systemdaten oder -funktionalitäten.<br/>
 
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>Diese Fehler geben Angreifern häufig unautorisierten Zugriff auf Systemdaten oder -funktionalitäten.<br/>
  
 
Manchmal führen sie zur kompletten Kompromittierung des Zielsystems.</td>
 
Manchmal führen sie zur kompletten Kompromittierung des Zielsystems.</td>
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>Ein System könnte unbemerkt kompromittiert werden. Alle Daten könnten gestohlen oder nach und nach verändert werden.<br/>
+
     <td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}>
 +
Ein System könnte unbemerkt kompromittiert werden. Alle Daten könnten gestohlen oder nach und nach verändert werden.<br/>
  
Wiederherstellungskosten können hoch sein.</td>
+
Hohe Wiederherstellungskosten können entstehen.</td>
 
{{Top_10_2010:SummaryTableEndTemplate}}
 
{{Top_10_2010:SummaryTableEndTemplate}}
  
{{Top_10:SubsectionTableBeginTemplate|type=main}} {{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=example|position=firstLeft|risk=6|year=2010|language=de }}   
+
{{Top_10:SubsectionTableBeginTemplate|type=main}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=example|position=firstLeft|risk=5|year=2013|language=de }}   
'''<u>Szenario 1</u>''': Eine Anwendung baut auf einem mächtigen Framework auf. XSS Fehler werden in diesem Framework gefunden. Ein Update zur Behebung der Sicherheitslücken wurde veröffentlicht, jedoch bisher nicht ausgerollt. Bis zum Update können Angreifer die Fehler in der Anwendung erkennen und ausnutzen.<br/>  
+
'''<u>Szenario 1</u>''': Die Administratorkonsole mit Standardkonto wurde automatisch installiert und nicht entfernt. Angreifer entdecken dies, melden sich über das Standardkonto an und kapern das System.<br/>  
  
'''<u>Szenario 2</u>''': Die Administratorkonsole mit Standardkonto wurde automatisch installiert und nicht entfernt. Angreifer entdecken dies, melden sich über das Standardkonto an und kapern das System.<br/>
+
'''<u>Szenario 2</u>''': 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.<br/>
  
'''<u>Szenario 3</u>''': Directory Listings wurden nicht deaktiviert. Angreifer nutzen dies, um in den Besitz aller Dateien zu kommen. Sie laden alle existierenden Java-Klassen herunter und entdecken ein Backdoor.<br/>
+
'''<u>Szenario 3</u>''': 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.<br/>
  
'''<u>Szenario 4</u>''': Die Anwendungsserverkonfiguration erlaubt es, Stack Traces an Benutzer zurückzugeben. Dadurch können potentielle Fehler im Backend offengelegt  werden. Angreifer lieben zusätzliche Informationen in Fehlermeldungen.<br/>
+
'''<u>Szenario 4</u>''': 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.<br/>
  
{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=howPrevent|position=right|risk=6|year=2010|language=de}}  
+
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=howPrevent|position=right|risk=5|year=2013|language=de}}
 
Alle folgenden Empfehlungen sollten berücksichtigt werden:
 
Alle folgenden Empfehlungen sollten berücksichtigt werden:
# Ein wiederholbarer Härtungsprozess, der eine schnelle und einfache Verteilung einer neuen, abgesicherten Umgebung erlaubt. Entwicklungs-, QA-, und Produktionsumgebungen sollten identisch konfiguriert sein. Der Prozess sollte automatisiert sein, um nötigen Aufwand bei Erstellung einer neuen, sicheren Umgebung zu minimieren.
+
# Ein wiederholbarer Härtungsprozess, der eine schnelle und einfache Verteilung einer neuen, abgesicherten Umgebung erlaubt. Entwicklungs-, QA-, und Produktionsumgebungen sollten identisch konfiguriert sein (mit unterschiedlichen Passwörtern pro Umgebung). Der Prozess sollte automatisiert sein, um den nötigen Aufwand bei Erstellung einer neuen, sicheren Umgebung zu minimieren.
# Ein Prozess, der zeitnah neuentwickelte Softwareupdates und Patches auf allen ausgerollten Umgebungen ermöglicht. Davon sind auch alle Bibliotheken und Komponenten betroffen.
+
# Ein Prozess, der zeitnah neuentwickelte Softwareupdates auf allen ausgerollten Umgebungen ermöglicht. Davon sind auch alle Bibliotheken und Komponenten betroffen (siehe [[{{Top_10:LanguageFile|text=documentRootTop10DeveloperEdition|language=de|year=2013}}/A9-{{Top_10_2010:ByTheNumbers|9|language=de|year=2013}}|A9]]).
# Eine robuste Anwendungsarchitektur, die eine gute Trennung und Absicherung einzelner Komponenten ermöglicht.
+
# Eine robuste Anwendungsarchitektur, mit effektiver und sicherer Trennung und Absicherung einzelner Komponenten.
# Periodisch durchgeführte Tests und Audits helfen, zukünftige Fehlkonfigurationen oder fehlende Patches zu erkennen und zu vermeiden.
+
# Periodisch durchgeführte Tests und Audits helfen zukünftige Fehlkonfigurationen oder fehlende Patches zu erkennen und zu vermeiden.
 
{{Top_10:SubsectionTableEndTemplate}}
 
{{Top_10:SubsectionTableEndTemplate}}
  
 
= '''JAVA''' =   
 
= '''JAVA''' =   
<!-- z.Z ohne Template --->
+
{{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_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk=6|year=2010|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.
==== Tbd ====
+
<!---------- keine weiteren Sporachtypischen Beispiele
 
 
 
{{Top_10_2010:ExampleBeginTemplate}}
 
{{Top_10_2010:ExampleBeginTemplate}}
 
Tbd
 
Tbd
 
{{Top_10_2010:ExampleEndTemplate}}  
 
{{Top_10_2010:ExampleEndTemplate}}  
  
{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk=6|year=2010|language=de}}
+
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk=5|year=2013|language=de}}
 
==== Tbd ====
 
==== Tbd ====
 
{{Top_10_2010:ExampleBeginTemplate}}
 
{{Top_10_2010:ExampleBeginTemplate}}
Line 61: Line 68:
 
{{Top_10_2010:ExampleEndTemplate}}
 
{{Top_10_2010:ExampleEndTemplate}}
  
{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=left|title=3|risk=6|year=2010|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 67: 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:SubSubsectionOWASPReferencesTemplate}}
 +
* [[Configuration | OWASP Development Guide: Chapter on Configuration]]
 +
* [[Error_Handling | OWASP Code Review Guide: Chapter on Error Handling]]
 +
* [[OWASP_Proactive_Controls | OWASP Proactive Controls:]] [[OWASP_Proactive_Controls#10:_Error_and_Exception_Handling|Kapitel über 'Error and Exception Handling']]
 +
* [[Testing_for_configuration_management | OWASP Testing Guide: Configuration Management]]
 +
* [[Testing_for_Error_Code_(OWASP-IG-006) | OWASP Testing Guide: Testing for Error Codes]]
 +
* [[A10_2004_Insecure_Configuration_Management | OWASP Top 10 2004 - Insecure Configuration Management]]
 +
 +
Weitere Informationen unter [http://www.owasp.org/index.php/ASVS#tab=Download ASVS requirements area for Security Configuration (V12)]
  
{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk=6|year=2010|language=de}}
+
{{Top_10_2010:SubSubsectionExternalReferencesTemplate|language=de}}
 +
*[http://www.pcmag.com/article2/0,2817,11525,00.asp PC Magazine Article on Web Server Hardening]
 +
*[http://cwe.mitre.org/data/definitions/2.html CWE Entry 2 on Environmental Security Flaws]
 +
*[https://benchmarks.cisecurity.org/downloads/latest/ CIS Security Configuration Guides/Benchmarks]
 +
<!-- old: *[http://cisecurity.org/en-us/?route=downloads.benchmarks CIS Security Configuration Guides/Benchmarks] -->
 +
{{Top_10:SubsectionTableEndTemplate}}{{Top 10 DeveloperEdition:NavigationByHeadertab
 +
    |headertab=JAVA
 +
    |useprev=2013PrevHeaderTabDeveloperEdition
 +
    |usenext=2013NextHeaderTabDeveloperEdition
 +
    |prev=A4-{{Top_10_2010:ByTheNumbers
 +
              |4
 +
              |year=2013
 +
              |language=de}}
 +
    |next=A6-{{Top_10_2010:ByTheNumbers
 +
              |6
 +
              |year=2013
 +
              |language=de}}
 +
    |year=2013
 +
    |language=de
 +
}}
 +
 
 +
= '''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}}
 +
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.:
 +
* open_basedir "/var/www/project" ; Ggf. auch /tmp erlauben, Einstellung bevorzugt in der Webserver-Konfiguration vornehmen
 +
* session.cookie_secure=On
 +
* session.use_only_cookies=On
 +
* session.cookie_httponly=On
 +
* allow_url_fopen=Off
 +
 
 +
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk=5|year=2013|language=de}}
 +
==== 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.
 +
<!-----------------------------
 +
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=left|title=3|risk=5|year=2013|language=de}}
 +
==== Tbd ====
 +
 
 +
{{Top_10_2010:ExampleBeginTemplate}}
 +
Tbd
 +
{{Top_10_2010:ExampleEndTemplate}}
 +
---------------->
 +
{{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]]
 
* [[Error_Handling | OWASP Code Review Guide: Chapter on Error Handling]]
 
* [[Error_Handling | OWASP Code Review Guide: Chapter on Error Handling]]
 +
* [[OWASP_Proactive_Controls | OWASP Proactive Controls:]] [[OWASP_Proactive_Controls#10:_Error_and_Exception_Handling|Kapitel über 'Error and Exception Handling']]
 
* [[Testing_for_configuration_management | OWASP Testing Guide: Configuration Management]]
 
* [[Testing_for_configuration_management | OWASP Testing Guide: Configuration Management]]
 
* [[Testing_for_Error_Code_(OWASP-IG-006) | OWASP Testing Guide: Testing for Error Codes]]
 
* [[Testing_for_Error_Code_(OWASP-IG-006) | OWASP Testing Guide: Testing for Error Codes]]
Line 78: Line 143:
 
Weitere Informationen unter [http://www.owasp.org/index.php/ASVS#tab=Download ASVS requirements area for Security Configuration (V12)]
 
Weitere Informationen unter [http://www.owasp.org/index.php/ASVS#tab=Download ASVS requirements area for Security Configuration (V12)]
  
{{Top_10_2010_Developer_Edition_De:SubSubsectionExternalReferencesTemplate|language=de}}
+
{{Top_10_2010:SubSubsectionExternalReferencesTemplate|language=de}}
 
*[http://www.pcmag.com/article2/0,2817,11525,00.asp PC Magazine Article on Web Server Hardening]
 
*[http://www.pcmag.com/article2/0,2817,11525,00.asp PC Magazine Article on Web Server Hardening]
 
*[http://cwe.mitre.org/data/definitions/2.html CWE Entry 2 on Environmental Security Flaws]
 
*[http://cwe.mitre.org/data/definitions/2.html CWE Entry 2 on Environmental Security Flaws]
 
*[http://cisecurity.org/en-us/?route=downloads.benchmarks CIS Security Configuration Guides/Benchmarks]
 
*[http://cisecurity.org/en-us/?route=downloads.benchmarks CIS Security Configuration Guides/Benchmarks]
{{Top_10:SubsectionTableEndTemplate}}
+
*[http://www.modsecurity.org/ ModSecurity]
 +
{{Top_10:SubsectionTableEndTemplate}}{{Top 10 DeveloperEdition:NavigationByHeadertab
 +
    |headertab=PHP
 +
    |useprev=2013PrevHeaderTabDeveloperEdition
 +
    |usenext=2013NextHeaderTabDeveloperEdition
 +
    |prev=A4-{{Top_10_2010:ByTheNumbers
 +
              |4
 +
              |year=2013
 +
              |language=de}}
 +
    |next=A6-{{Top_10_2010:ByTheNumbers
 +
              |6
 +
              |year=2013
 +
              |language=de}}
 +
    |year=2013
 +
    |language=de
 +
}}
  
 +
<!-- weitere Programmiersprachen oder evtl Anti-Beispiele --- >
 
= '''Test''' =
 
= '''Test''' =
<!-- weitere Programmiersprachen oder evtl Anti-Beispiele --->
+
{{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_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=firstLeft|title=1|risk=6|year=2010|language=de}}
 
 
{{Top_10_2010:ExampleBeginTemplate}}
 
{{Top_10_2010:ExampleBeginTemplate}}
 
tbd
 
tbd
Line 92: Line 172:
 
{{Top_10_2010:ExampleEndTemplate}}
 
{{Top_10_2010:ExampleEndTemplate}}
  
{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk=6|year=2010|language=de}}
+
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=right|title=2|risk=5|year=2013|language=de}}
 
{{Top_10_2010:ExampleBeginTemplate}}
 
{{Top_10_2010:ExampleBeginTemplate}}
 
tbd
 
tbd
Line 98: Line 178:
 
{{Top_10_2010:ExampleEndTemplate}}
 
{{Top_10_2010:ExampleEndTemplate}}
  
{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=whole|title=3|risk=6|year=2010|language=de}}
+
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=defOp|position=whole|title=3|risk=5|year=2013|language=de}}
 
tbd
 
tbd
 
Text
 
Text
  
{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=userImpact|position=left|risk=6|year=2010|language=de}}
+
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=userImpact|position=left|risk=5|year=2013|language=de}}
 
(ganze Breite)
 
(ganze Breite)
 
Text
 
Text
  
{{Top_10_2010_Developer_Edition_De:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk=6|year=2010|language=de}}
+
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk=5|year=2013|language=de}}
{{Top_10:SubsectionTableEndTemplate}}
+
{{Top_10:SubsectionTableEndTemplate}}{{Top 10 DeveloperEdition:NavigationByHeadertab
 +
    |headertab=Test
 +
    |useprev=2013PrevHeaderTabDeveloperEdition
 +
    |usenext=2013NextHeaderTabDeveloperEdition
 +
    |prev=A4-{{Top_10_2010:ByTheNumbers
 +
              |4
 +
              |year=2013
 +
              |language=de}}
 +
    |next=A6-{{Top_10_2010:ByTheNumbers
 +
              |6
 +
              |year=2013
 +
              |language=de}}
 +
    |year=2013
 +
    |language=de
 +
}}
 +
----------------------------------------------------------------------->
 
<headertabs />
 
<headertabs />
 
+
{{Top_10_2013_DeveloperEdition:BottomAdvancedTemplate
{{Top_10_2010_Developer_Edition_De:BottomAdvancedTemplate
 
 
     |type=0
 
     |type=0
     |useprev=PrevLink_Germany_Projekte
+
     |useprev=2013PrevLinkDeveloperEdition
     |usenext=NextLink_Germany_Projekte
+
     |usenext=2013NextLinkDeveloperEdition
     |prev=Top_10_fuer_Entwickler/A5_{{Top_10_2010_Developer_Edition_De:ByTheNumbers
+
     |prev=A4-{{Top_10_2010:ByTheNumbers
               |5
+
               |4
               |language=de
+
               |year=2013
               |year=2010}}
+
               |language=de}}
     |next=Top_10_fuer_Entwickler/A7_{{Top_10_2010_Developer_Edition_De:ByTheNumbers
+
     |next=A6-{{Top_10_2010:ByTheNumbers
               |7
+
               |6
               |language=de
+
              |year=2013
              |year=2010}}
+
               |language=de}}
 +
    |year=2013
 +
    |language=de
 
}}
 
}}
  
  
 
[[Category:OWASP Top 10 fuer Entwickler]]
 
[[Category:OWASP Top 10 fuer Entwickler]]

Latest revision as of 11:43, 15 July 2016

← A4-Unsichere direkte Objektreferenzen
Top 10 fuer Entwickler-2013: Inhaltsverzeichnis

Die Top-10-Risiken

A6-Verlust der Vertraulichkeit sensibler Daten →
A5 Sicherheitsrelevante Fehlkonfiguration


Bedrohungsquellen
Angriffsvektoren
Schwachstellen
Technische Auswirkung
Auswirkung auf das Unternehmen
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.

Hohe Wiederherstellungskosten können entstehen.
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:

  1. Ein wiederholbarer Härtungsprozess, der eine schnelle und einfache Verteilung einer neuen, abgesicherten Umgebung erlaubt. Entwicklungs-, QA-, und Produktionsumgebungen sollten identisch konfiguriert sein (mit unterschiedlichen Passwörtern pro Umgebung). Der Prozess sollte automatisiert sein, um den nötigen Aufwand bei Erstellung einer neuen, sicheren Umgebung zu minimieren.
  2. Ein Prozess, der zeitnah neuentwickelte Softwareupdates auf allen ausgerollten Umgebungen ermöglicht. Davon sind auch alle Bibliotheken und Komponenten betroffen (siehe A9).
  3. Eine robuste Anwendungsarchitektur, mit effektiver und sicherer Trennung und Absicherung einzelner Komponenten.
  4. Periodisch durchgeführte Tests und Audits helfen zukünftige Fehlkonfigurationen oder fehlende Patches zu erkennen und zu vermeiden.
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.:

  • open_basedir "/var/www/project" ; Ggf. auch /tmp erlauben, Einstellung bevorzugt in der Webserver-Konfiguration vornehmen
  • session.cookie_secure=On
  • session.use_only_cookies=On
  • session.cookie_httponly=On
  • allow_url_fopen=Off
Verteidigungs-Option 2 gegen 'Sicherheitsrelevante Fehlkonfiguration':

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.

Referenzen

OWASP

Weitere Informationen unter ASVS requirements area for Security Configuration (V12)

Andere

← A4-Unsichere direkte Objektreferenzen
Top 10 fuer Entwickler-2013: Inhaltsverzeichnis

Die Top-10-Risiken

A6-Verlust der Vertraulichkeit sensibler Daten →

© 2002-2017 OWASP Foundation This document is licensed under the Creative Commons Attribution-ShareAlike 3.0 license. Some rights reserved. CC-by-sa-3 0-88x31.png