%

Nginx : Bloquer ShellShock (astuce)

Bloquer la faille ShellShock avec le serveur web nginx

Détails relatifs à l'article

Article publié, le
et modifié le
Une minute de lecture

Cet article contient 207 mots.

Identifiant de l'article : tag:doc.huc.fr.eu.org,2017-07-27:/fr/web/nginx/nginx-block-shellshock


Source brute de l'article :
Commit version : 9bf3d7b


Cet article est aussi disponible sur le protocole Gemini :
gemini://gmi.it-log.fr.eu.org/fr/web/nginx/nginx-block-shellshock.gmi


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 :

map $http_user_agent $bad_bot {
    default 0;
    ~*\{.*\:\; 1;
}

map $http_referer $bad_referer {
    default 0;
    ~*\{.*\:\; 1;
}

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 ;-)

Astuce

Documentation



Enjoy-ID!
Enjoy-IT!