Penetration Testing 29. Magento Stammtisch Thema: IT-Sicherheit Gregor Bonney 1 Penetration Testing – Was ist das? Penetrationstest, kurz Pentest, ist der fachsprachliche Ausdruck für einen umfassenden Sicherheitstest einzelner Rechner oder Netzwerke jeglicher Größe. Quelle: Wikipedia 2 Was ist ein Pentest? (informell) • Port Scan • Schwachstellen Scan • Manuelles Testen 3 Was ist ein Pentest? • Angriff • Teilweise mit Software automatisiert • Komplexere Szenarien werden manuell geprüft Informationen sammeln Einfallsvektoren identifizieren Eindringversuche unternehmen Bericht erstellen 4 Wie funktioniert ein Pentest? • Als Dienstleistung: • • • • Begrenzter Zeitrahmen Stichprobenartige Prüfung Nur in Absprache mit allen Beteiligten Abschlussbericht • Ziele (u. A.) • • • • Schwachstellen proaktiv aufdecken Risiko minimieren Schaden verhinden Compliance CGI 5 Was kann man alles Pentesten? • Beispiele? • Websites • Computer/Hosts • Netzwerke • Menschen (Social Engineering) 6 Penetration Testing – Wie läuft das ab? • Definierte Vorgaben • URL • Zeitrahmen • Webshop ca. 5 Tage • Aufteilung der Zeit • Tag 1: Shop erkunden • Tag 2-4: Pentesten • Tag 5: Dokumentieren 7 Penetration Testing – Tools • Generell: Kali Linux • Schwerpunkt Webapplikation • • • • Das Tool: Burp Suite Pro Fuzzdb Scanner: z. B. Acunetix, IBM AppScan, Nessus Weitere Tools: • Nmap • SQLmap • Dirbuster/dirb 8 Penetration Testing – Tools • Burp Suite Pro • Daten werden durch den Burp Proxy gelenkt. Browser Burp Proxy Server 9 Penetration Testing – Typische Schwachstellen 10 Penetration Testing – Typische Schwachstellen • SQL Injection • Cross-Site Scripting • File Inclusion • Command Injection • Außerdem • External Entity Injection 11 Penetration Testing – Demo • Demo • • • • • SQL Injection Cross-Site Scripting File Inclusion Command Injection External Entity Injection 12 Magento 2 • Sicherheit ist in Standardinstallation „gut“. • .htaccess im webroot definiert viele Security-Einstellungen • Optimierungspotenzial: • Unverschlüsselte Shops verhindern • Strict Transport Security • Content-Security-Policy Header sollte implementiert werden 13