%

Nginx : Bloquer ShellShock (astuce)

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

Cet article contient 191 mots.
Source brute de l'article :
Commit version : 5c2db07

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 : nginx

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