Magento Application Security
Anna Völkl / @rescueAnn
Security-Technologie
Department of Defense Computer Security Initiative
Magento Anwendungsicherheit
Logins & Passwörter
Admin Backend geschützt
SSL installiert
Magento Anwendungsicherheit
Logins & Passwörter
Admin Backend geschützt
SSL installiert
...und noch viel mehr!
Magento
Anwendungssicherheit
Software-Lebenszyklus
Webserver
Datenbank
Benutzer
Versionierung &
Deployment
Firewall
Dateir...
http://blogs.technet.com/b/rhalbheer/archive/2011/01/14/real-physical-security.aspx
Unsichere Software
• Keine Zeit
• Kein Wissen
• Keine Prioritäten
– Performance
– SEO
– Neue Funktionen
Potentielle Angreifer
• (Organisierte) Kriminalität
• Defacer
• Script-Kiddies
• Verärgerte Mitarbeiter, Entwickler
• Konk...
Interesse?!
• Zahlungsdaten
• Kundendaten
• Eigener Vorteil
• Mitbewerb schädigen
Die häufigsten Risiken von
Web-Anwendungen
• A1: Injection
• A2: Fehler in Authentifizierung und
Session Management
• A3: ...
Secure Coding Principles
Secure Coding Principles
Angriffsfläche verkleinern
Jedes hinzugefügte Feature erhöht das
Sicherheitsrisiko
Secure Coding Principles
Sichere Grundkonfiguration
Sichere Konfiguration „Out of the box“
Reduktion (wenn erlaubt) durch ...
Secure Coding Principles
Least Privilege
Aktionen werden mit den geringsten
erforderlichen Rechten durchgeführt
(User-Rech...
Secure Coding Principles
Fail securely
Fail secure vs. Fail safe
Die Kunst des Fails
Secure Coding Principles
Vertraue keinen Services
3rd Party
Secure Coding Principles
Vertraue keinen Eingaben
Überprüfe das Erwartete
Erwarte das Unerwartete
Secure Coding Principles
Vertraue keinen Eingaben
Längster Ortsname (einzelnes Wort)
Taumatawhakatangihangakoauauotamateat...
Secure Coding Principles
Vertraue keinen Eingaben
Längster Ortsname (mehrere Wörter)
Krung Thep Mahanakhon Amon
Rattanakos...
Secure Coding Principles
Security by Obscurity
Sicherheit durch Unwissenheit?
Secure Coding Principles
KISS
Keep Security simple
Einfachheit vs. Komplexität
Secure Coding Principles
Security-Fehler richtig beheben
Die Wurzel des Problems verstehen
Weitere Problemstellen identifz...
...und jetzt?
Anforderungen
Funktionale & nicht funktionale
Anforderungen
Secure Coding I
• Neugierig sein - alles hinterfragen
• Secure Coding Guidelines
– OWASP Secure Coding Practices
Secure Coding II
• Validatoren für Inputs
– Client
– Server
• Erwarteter Input: Whitelist vs. Blacklist Filter
• Aktion er...
Security Testing I
• PHPSniffer
• Magento ECG Coding Standard
• Dependencies:
–Sensio Labs: check composer.lock
Kein Zugriff auf
• .git, .git/config
• composer.lock
• Standard /admin Pfad
• /downloader
• app/etc/local.xml
• Logfiles
•...
Laufender Betrieb
• Magento
– Updates
– Security Patches
• Webserver, PHP,...
– Aktuelle Versionen
Hinterlasst euren Code jedesmal ein
bisschen sicherer (besser), als ihr ihn
vorgefunden habt.
Magento Application Security [DE]
Magento Application Security [DE]
Magento Application Security [DE]
Magento Application Security [DE]
Magento Application Security [DE]
Nächste SlideShare
Wird geladen in …5
×

Magento Application Security [DE]

403 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
403
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.

×