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
;-)
Si vous souhaitez ne pas logger ces attaques, il faut créer de nouvelles
map
, telle que :
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;