Magento Application Security [DE]

404 Aufrufe

Veröffentlicht am

Präsentation bei der Meet Magento DE 2015

Veröffentlicht in: Präsentationen & Vorträge
0 Kommentare
3 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
404
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
3
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Magento Application Security [DE]

  1. 1. Magento Application Security Anna Völkl / @rescueAnn
  2. 2. Security-Technologie Department of Defense Computer Security Initiative
  3. 3. Magento Anwendungsicherheit Logins & Passwörter Admin Backend geschützt SSL installiert
  4. 4. Magento Anwendungsicherheit Logins & Passwörter Admin Backend geschützt SSL installiert ...und noch viel mehr!
  5. 5. Magento Anwendungssicherheit Software-Lebenszyklus Webserver Datenbank Benutzer Versionierung & Deployment Firewall Dateirechte Web-Application Firewall Anforderungen Updates & Patches Login Passwörter Programmierung Software-Design Außerbetriebnahme Konfigurations- dateien Extensions/3rd Party
  6. 6. http://blogs.technet.com/b/rhalbheer/archive/2011/01/14/real-physical-security.aspx
  7. 7. Unsichere Software • Keine Zeit • Kein Wissen • Keine Prioritäten – Performance – SEO – Neue Funktionen
  8. 8. Potentielle Angreifer • (Organisierte) Kriminalität • Defacer • Script-Kiddies • Verärgerte Mitarbeiter, Entwickler • Konkurrenz • Der Kunde/Shopbetreiber selbst
  9. 9. Interesse?! • Zahlungsdaten • Kundendaten • Eigener Vorteil • Mitbewerb schädigen
  10. 10. Die häufigsten Risiken von Web-Anwendungen • A1: Injection • A2: Fehler in Authentifizierung und Session Management • A3: Cross-Site Scripting (XSS) • A4: Unsichere direkte Objektreferenzen • A5: Sicherheitsrelevante Fehlkonfiguration OWASP Top 10, 2013
  11. 11. Secure Coding Principles
  12. 12. Secure Coding Principles Angriffsfläche verkleinern Jedes hinzugefügte Feature erhöht das Sicherheitsrisiko
  13. 13. Secure Coding Principles Sichere Grundkonfiguration Sichere Konfiguration „Out of the box“ Reduktion (wenn erlaubt) durch User/Kunde
  14. 14. Secure Coding Principles Least Privilege Aktionen werden mit den geringsten erforderlichen Rechten durchgeführt (User-Rechte, Dateiberechtigungen,...)
  15. 15. Secure Coding Principles Fail securely Fail secure vs. Fail safe Die Kunst des Fails
  16. 16. Secure Coding Principles Vertraue keinen Services 3rd Party
  17. 17. Secure Coding Principles Vertraue keinen Eingaben Überprüfe das Erwartete Erwarte das Unerwartete
  18. 18. Secure Coding Principles Vertraue keinen Eingaben Längster Ortsname (einzelnes Wort) Taumatawhakatangihangakoauauotamateatu ripukakapikimaungahoronukupokaiwhenuakit anatahu (Neuseeland, 85 letters)
  19. 19. Secure Coding Principles Vertraue keinen Eingaben Längster Ortsname (mehrere Wörter) Krung Thep Mahanakhon Amon Rattanakosin Mahinthara Yuthaya Mahadilok Phop Noppharat Ratchathani Burirom Udomratchaniwet Mahasathan Amon Piman Awatan Sathit Sakkathattiya Witsanukam Prasit (Bangkok, 176 letters)
  20. 20. Secure Coding Principles Security by Obscurity Sicherheit durch Unwissenheit?
  21. 21. Secure Coding Principles KISS Keep Security simple Einfachheit vs. Komplexität
  22. 22. Secure Coding Principles Security-Fehler richtig beheben Die Wurzel des Problems verstehen Weitere Problemstellen identifzieren Tests entwickeln
  23. 23. ...und jetzt?
  24. 24. Anforderungen Funktionale & nicht funktionale Anforderungen
  25. 25. Secure Coding I • Neugierig sein - alles hinterfragen • Secure Coding Guidelines – OWASP Secure Coding Practices
  26. 26. Secure Coding II • Validatoren für Inputs – Client – Server • Erwarteter Input: Whitelist vs. Blacklist Filter • Aktion erlaubt? – User: Zugriff auf Ressource? – Admin: Mage::getSingleton('admin/session')- >isAllowed('admin/sales/order/actions/create');
  27. 27. Security Testing I • PHPSniffer • Magento ECG Coding Standard • Dependencies: –Sensio Labs: check composer.lock
  28. 28. Kein Zugriff auf • .git, .git/config • composer.lock • Standard /admin Pfad • /downloader • app/etc/local.xml • Logfiles • phpinfo.php • Datenbank-Dumps: livedb.sql.gz
  29. 29. Laufender Betrieb • Magento – Updates – Security Patches • Webserver, PHP,... – Aktuelle Versionen
  30. 30. Hinterlasst euren Code jedesmal ein bisschen sicherer (besser), als ihr ihn vorgefunden habt.

×