Nginx: Bloquer le spam parrainé

Nginx: Bloquer le spam référent

Dans cet article, nous vous montrerons comment bloquer le spam référent dans l'un de nos serveurs Web Nginx.

1. Trouvez les motifs

Vérifiez le fichier Nginxaccess.log et identifiez les modèles de «spam référent».

$ sudo tail -f /var/log/nginx/access.log

Quelques modèles:

200 http://???.ru/engine/redirect.php?url=http://mywebsite.com/site/blogspot.com.au
200 http://???.com/tp/out.php?link=alternatevideo&url=http%3A//mywebsite.com/site/readyliftproshop.com
200 http://???.edu/online/redirect.asp?url=http://mywebsite/site/wheretoshophongkong.com

Nous allons bloquer les modèles suivants:

  1. redirect.php

  2. out.php

  3. redirect.asp

2. Block & Return 405

Modifiezsites-enabled/default, si l'un des modèles ci-dessus correspond, retournez directement 405.

if ($http_referer ~* (redirect.php|redirect.asp|out.php) ) {
     return 405;
}

Examinez l'exemple complet de notre serveur Web Nginx. En fait, nous bloquons de nombreux modèles de spam.

/etc/nginx/sites-enabled/default

server {
  listen          80;
  server_name     mysite.com;
  root            /etc/tomcat7/webapps/mysite;

  proxy_cache one;

  if ($http_referer ~* (seo|referrer|redirect|link=|url=|url?|path=|dku=|babes|click|girl|jewelry|love|organic|poker|porn|sex|teen|video|webcam) ) {
      return 405;
  }

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
  }
}

Terminé, redémarrez Nginx.

Vérifiez à nouveau le fichier journal, maintenant, toutes les demandes futures qui correspondent aux modèles déclarés, 405 seront retournées.

$ sudo tail -f /var/log/nginx/access.log
405 http://???.ru/engine/redirect.php?url=http://mywebsite.com/site/blogspot.com.au
405 http://???.com/tp/out.php?link=alternatevideo&url=http%3A//mywebsite.com/site/readyliftproshop.com
405 http://???.edu/online/redirect.asp?url=http://mywebsite/site/wheretoshophongkong.com