Nous avons constaté un grand nombre de spams de renvoi vers l'un de nos serveurs. J'ai donc décidé d'ajouter quelques règles de modsecurity personnalisées pour tenter d'en arrêter au moins quelques-uns.
J'ai ajouté plusieurs règles, par exemple :
SecRule REQUEST_HEADERS:User-Agent "/\byourekillingme.org\b/" \
"phase:1,log,deny,status:503,msg:'Referer spam1',id:101"
SecRule REQUEST_HEADERS:User-Agent "/\bahrefs.com/robot\b/" \
"phase:1,log,deny,status:503,msg:'Referer spam2',id:102"
SecRule REQUEST_HEADERS:User-Agent "/\bsemrush.com/bot\b/" \
"phase:1,log,deny,status:503,msg:'Referer spam6',id:106"
mais comme vous pouvez le voir dans le journal, alors que la règle ahrefs (id 102 ci-dessus) est appliquée, les autres ne le sont pas (il y en a d'autres, mais ahrefs est la seule qui fonctionne) :
107.180.120.23 - - [23/Nov/2017:11:08:00 +0000] "GET /tri-levlen-28-side-effects-3f1 HTTP/1.1" 200 50965 "http://www.mydomain.co.uk/tri-levlen-28-side-effects-3f1#elephant" "WordPress/4.9; http://yourekillingme.org"
51.255.65.42 - - [23/Nov/2017:10:40:51 +0000] "GET /pink-viagra-price-52c HTTP/1.1" 503 315459 "-" "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)"
46.229.168.73 - - [23/Nov/2017:11:07:50 +0000] "GET /viagra-for-sale-online-cheap-52c HTTP/1.1" 200 51060 "-" "Mozilla/5.0 (compatible; SemrushBot/1.2~bl; +http://www.semrush.com/bot.html)"
J'ai également vérifié le fichier /usr/local/apache/logs/modsec_audit.log pour confirmer que c'est bien ma règle qui est à l'origine du 503 et non une autre règle située ailleurs, et cela ne montre que de nombreuses entrées pour :
Message: Access denied with code 503 (phase 1). Pattern match "/\\bahrefs.com/robot\\b/" at REQUEST_HEADERS:User-Agent. [file "/usr/local/apache/conf/modsec2.myrules.conf"] [line "8"] [id "102"] [msg "Referer spam2"]
indiquant que c'est ma règle de modsec qui l'empêche.
Quelqu'un peut-il voir pourquoi mes autres règles ne sont pas appliquées ?