--- title: "Nginx : Bloquer ShellShock (astuce)" date: 2017-07-27T14:34:16+02:00 description: "Bloquer la faille ShellShock avec le serveur web nginx" draft: false tags: ["nginx", "Shellshock", "Bash", "block", "astuce"] --- ## Description **Shellshock** est une faille de sécurité présente dans le shell Bash, découverte en Septembre 2014. *Normalement, cette faille a été corrigée dans Bash ; il est hautement recommandé d'avoir la version la plus récente.* L'explication ci-dessous explique comment empêcher l'accès depuis le serveur web nginx. Dans votre contexte `http`, utilisez la déclaration `map`, telle que : {{< code "web-nginx-block-shellshock-map" nginx >}} C'est l'expression régulière `*\{.*\:\;` qui fait son travail ; à savoir qu'on peut légèrement la raccourcir, et cela fonctionne, apparemment, aussi : `*\{.*\:` Ensuite, vous utilisez les conditions suivantes pour fermer la connexion, sans autre forme de procédé : `if ($bad_bot) { return 444; }`
`if ($bad_referer) { return 444; }` Si ces conditions ne sont pas acceptées dans le contexte `http`, déclarez-les dans le contexte `server` ;-) {{< note tip >}} Si vous souhaitez ne pas logger ces attaques, il faut créer de nouvelles `map`, telle que : {{< code "web-nginx-block-shellshock-map-log" nginx >}} Puis soit dans le contexte `http`, soit dans le contexte `server`, il vous faut cibler votre journal d'accès, tel que : `access_log /path/to/access.log combined if=$loggable;` {{}} ## Documentation * http://forum.nginx.org/read.php?2,257792,257814#msg-257814 * {{< wp "Shellshock_(faille_informatique)" >}} ---