View
698
Download
0
Embed Size (px)
DESCRIPTION
Vous hébergez des applications Web et votre défense se limite à un coupe-feu réseau. Cependant, une grande partie des attaques sont menées directement via le protocole HTTP et l’utilisation d’un coupe-feu traditionnel s’avère inutile. Le coupe-feu applicatif Web (Web Application Firewall, WAF) se veut une solution à cette problématique. La présentation, basée sur mon expérience des dernières années, fait le point sur les diverses utilités de cette technologie : Les choix d’implémentations. Les diverses modes de fonctionnements. L’importance et le choix des types de règles à implémenter. Rapports et collection des alertes. Méthodologie de développement de règles. Bonus: Contournement de règles et exceptions. Le logiciel Open Source ModSecurity sera utilisé comme exemple ainsi que les règles OWASP CRS. D’autres règles conçues pour la présentation seront aussi présentées dans le but de démontrer une utilisation sur mesure du WAF.
Citation preview
Application Security Forum - 2012 Western Switzerland
7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains
https://www.appsec-forum.ch
Les utilités d'un coupe-feu applicatif Web
Jonathan Marcil
OWASP Montréal
Canada
#ASFWS
WAF
Web
Application
Firewall
2
Coupe-feu?
IP/TCP IP/UDP
IDS
IPS
3
Implémentations
Routeur (Router) Pont (Bridge)
Serveur mandataire (Reverse Proxy)
Incorporé (Embedded)
4
Routeur (Router)
5
Point de défaillance unique
Problèmes de performances
Serveur mandataire (Reverse Proxy)
6
Incorporé (Embedded)
Serveurs Web ne supportant pas de module Moyens limités
SSL facile
Performance distribuée
Modes de fonctionnements
Surveillance
Alertes
Anomalies
Protection
Bloquer les attaques
Corrections virtuelles (Virtual Patching)
7
Philosophies
Boîte noire et espérance
À conseiller pour surveillance
Boîte blanche et personnalisation
À conseiller pour protection
8
Types de règles
Surveillance (watchlist)
Liste blanche (whitelist)
Liste noire (blacklist)
Exceptions surveillées (bypass)
À ignorer (ignorelist)
Expérience utilisateur (UX)
9
Alertes et rapports
Importance pour la sécurité
Importance pour la fonctionnalité
Console centrale vs. journaux
10
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
11
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
12
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
13
Questions?
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
Bonus
WAF Testing Framework par Imperva
Gratuit
Disponible fin 2012
Utilise WebGoat
Code fermé (sera ouvert un jour) mais configurations ouvertes XML
15
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}‘"
16
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
17
Merci/Thank you!
Contact:
@jonathanmarcil
http://blog.jonathanmarcil.ca
Slides:
http://slideshare.net/ASF-WS/presentations
18
Références OWASP Best Practices: Use of Web Application Firewalls
https://www.owasp.org/index.php/Category:OWASP_Best_Practices:_Use_of_Web_Application_Firewalls
OWASP ModSecurity Core Rule Set Project https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project
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
19