diff --git a/article/bunkerweb-poc-vblog.md b/article/bunkerweb-poc-vblog.md index 5231361..4aaf380 100644 --- a/article/bunkerweb-poc-vblog.md +++ b/article/bunkerweb-poc-vblog.md @@ -20,6 +20,8 @@ BunkerWeb, c'est un nginx "durci par défaut", piloté par une grosse liste de r Côté protections, on trouve dans la version communautaire : ModSecurity avec le CRS 4 ; des en-têtes de sécurité posés automatiquement (HSTS, CSP, X-Frame-Options...) ; l'antibot (challenge JavaScript, cookie, captcha maison, ou hCaptcha/reCAPTCHA/Turnstile) ; la limitation de débit et de connexions ; le "bad behavior", qui bannit une IP qui accumule trop d'erreurs 4xx ; des listes noires (IP, User-Agent, URI, listes communautaires, DNSBL, pays) ; Let's Encrypt intégré, HTTP/3, compression gzip et brotli. Il existe aussi une version PRO payante (anti DDoS, monitoring Prometheus, rapports...), que je n'ai pas testée ici. +Petit aparté pour ceux qui ne connaissent pas : le Core Rule Set de l'OWASP (le CRS pour les intimes), c'est un jeu de règles open source pour ModSecurity (et son cousin Coraza), qui repère de façon générique les grands classiques des attaques web, injections SQL, scripts injectés dans les pages, inclusion de fichiers, injection de commandes, scanners, requêtes HTTP bancales... sans rien savoir de votre appli. Le principe est malin : chaque règle qui se déclenche ajoute des points à la requête, et au-delà d'un seuil, elle est bloquée. Un "niveau de paranoïa" (de 1 à 4) permet ensuite de régler le curseur entre "je laisse passer un peu plus" et "je bloque tout ce qui bouge, faux positifs compris". C'est cette brique que BunkerWeb embarque par défaut, en version 4 dans mon PoC. + L'architecture depuis la 1.6 est découpée en briques : - `bunkerweb` : l'instance nginx elle-même, celle qui reçoit le trafic sur 80/443 ; @@ -260,6 +262,8 @@ Autres liens utiles : - **BunkerWeb** : [documentation](https://docs.bunkerweb.io/latest/) - **BunkerWeb sur GitHub** : [fichiers d'intégration officiels](https://github.com/bunkerity/bunkerweb/tree/v1.6.17/misc/integrations) - **OWASP** : [Core Rule Set](https://coreruleset.org/) +- **OWASP CRS** : [documentation](https://coreruleset.org/docs/) +- **OWASP** : [projet ModSecurity Core Rule Set](https://owasp.org/www-project-modsecurity-core-rule-set/) - **OWASP** : [Juice Shop](https://owasp.org/www-project-juice-shop/) - **go-httpbin** : [dépôt GitHub](https://github.com/mccutchen/go-httpbin) - **Le PoC** : [dépôt Ansible + docker-compose](https://gitea.vlab.bzh/vLab-BZH/bunkerwebpoc)