Les utilités d'un coupe-feu applicatif Web Jonathan Marcil OWASP Montréal Canada #ASFWS Application Security Forum - 2012 Western Switzerland 7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains https://www.appsec-forum.ch
2 WAF Web Application Firewall
3 Coupe-feu? IP/TCP IP/UDP IDS IPS
4 Implémentations Routeur (Router) Pont (Bridge) Serveur mandataire (Reverse Proxy) Incorporé (Embedded)
5 Routeur (Router) Point de défaillance unique Problèmes de performances
6 Serveur mandataire (Reverse Proxy) Serveurs Web ne supportant pas de module Moyens limités Incorporé (Embedded) SSL facile Performance distribuée
7 Modes de fonctionnements Surveillance Alertes Anomalies Protection Bloquer les attaques Corrections virtuelles (Virtual Patching)
8 Philosophies Boîte noire et espérance À conseiller pour surveillance Boîte blanche et personnalisation À conseiller pour protection
9 Types de règles Surveillance (watchlist) Liste blanche (whitelist) Liste noire (blacklist) Exceptions surveillées (bypass) À ignorer (ignorelist) Expérience utilisateur (UX)
10 Alertes et rapports Importance pour la sécurité Importance pour la fonctionnalité Console centrale vs. journaux
11 Méthodologie de développement de règles Focus sur liste noire Audit d applications ou collectes des failles connues Création des règles pour corriger les failles Tests en mode surveillance Vérification des alertes Pour ne pas impacter la production Passage en mode protection Suivis Des alertes pour suivre les changements imprévus la production et les attaques Des changements pour mises à jour itératives des règles
12 Méthodologie de développement de règles Focus sur liste blanche Collection et analyse trafic légitime Création des règles À partir du trafic (profil des applications) Tests en mode surveillance Vérification des alertes Pour ne pas impacter la production Passage en mode protection Suivis Des alertes pour suivre les changements imprévus la production, les anomalies et attaques Des changements pour mises à jour itératives des règles
13 Conclusions Autres utilités que la sécurité Fonctionnalités (UX) Détection d anomalies (QA) Traces en profondeur (DEBUG) Attention au contournement des règles Corriger vos applications si possible
14 Démonstration http://www.modsecurity.org/ http://www.ironbee.com/ http://jwall.org/web/audit/console/screenshots/eventview.png http://www.owasp.org/index.php/category:owasp_modsecurity_core_rule_set_project Questions?
15 Bonus WAF Testing Framework par Imperva Gratuit Disponible fin 2012 Utilise WebGoat Code fermé (sera ouvert un jour) mais configurations ouvertes XML
16 Bonus ReDoS MSC_PCRE_LIMITS_EXCEEDED: PCRE match limits were exceeded. SecRule TX:/^MSC_/ "!@streq 0" "id:'200004',phase:2,t:none,deny,msg:' ModSecurity internal error flagged: %{MATCHED_VAR_NAME} "
17 Bonus Some Ivan Ristic bypass in a nutshell <Location /myapp/admin.php> # Allow only numbers in userid SecRule ARGS:userid "!^\d+$«</location> /myapp/admin.php/xyz?userid=1payload /myapp/admin.php;param=value?userid=1payload SecRule REQUEST_FILENAME "@streq /myapp/admin.php" Short names Apache running on Windows Multipart Evasion ModSecurity CRS: Content-Type: multipart/; boundary=0000 http://bit.ly/pyp5g6
18 Merci/Thank you! Contact: jonathan.marcil@owasp.org @jonathanmarcil http://blog.jonathanmarcil.ca Slides: http://slideshare.net/asf-ws/presentations
19 Références OWASP Best Practices: Use of Web Application Firewalls https://www.owasp.org/index.php/category:owasp_best_practices:_use_of_web_app lication_firewalls OWASP ModSecurity Core Rule Set Project https://www.owasp.org/index.php/category:owasp_modsecurity_core_rule_set_proj ect Web Application Firewall Evaluation Criteria Version 1.0 http://projects.webappsec.org/w/page/13246983/wafec%201%20html%20version ModSecurity Reference Manual https://github.com/spiderlabs/modsecurity/wiki/reference-manual