Je cours deux bâtards sous un serveur de Nginx. Je continue d'obtenir des demandes pour un fichier inexistant. Les adresses IP changent fréquemment, mais l'URL de référence reste la même. J'aimerais résoudre ceci.Comment bloquer les spams de référence en utilisant Nginx?
Répondre
https://calomel.org/nginx.html
bloquer la plupart des "spam referrer" - "plus d'un ennui qu'un problème"
nginx. conf
## Deny certain Referers (case insensitive)
## The ~* makes it case insensitive as opposed to just a ~
if ($http_referer ~* (babes|click|diamond|forsale|girl|jewelry|love|nudit|organic|poker|porn|poweroversoftware|sex|teen|video|webcam|zippo))
{ return 403; }
J'ai été dans une situation similaire auparavant où j'avais besoin de bloquer les gens en fonction du comportement au lieu d'autres règles arbitraires qu'un pare-feu pouvait régler lui-même.
Ils moi avons travaillé autour du problème était de faire ma logique (Rails dans votre cas) font le blocage ... Mais un long chemin rond:
- Demandez à votre logique de maintenir une liste de blocage en tant que fichier texte séparé séparé par une nouvelle ligne.
- Créer un bash (ou autre) de script en tant que root pour lire ce fichier et ajouter ses Clients répertoriés à votre liste de blocage de pare-feu
- Créer une tâche cron pour appeler le script, encore une fois, en tant que root
La raison pour laquelle je Faites-le de cette façon (plutôt que de simplement donner à Django les permissions pour modifier la configuration du pare-feu), c'est simplement: la sécurité. Si ma demande était piratée, je ne voudrais pas que ça fasse du mal à autre chose.
Le script bash est quelque chose comme ceci:
exec < /path/to/my/djago-maintained/block-list
while read line
do
iptables -A INPUT --source $line/32 -j DROP
done
vous pouvez pointer vers un tutoriel sur ce type de blocage? Je ne comprends pas vraiment votre solution. Merci beaucoup pour votre aide. J'essaie de trouver une solution dans le meilleur endroit que je connaisse (stackoverflow :-) mais je ne veux pas qu'il soit modéré sans raison valable. – Jesse
Je n'ai jamais vu un tutoriel pour quelque chose comme ça et je ne sais pas quel est son nom propre (s'il en a un) est ... C'est juste ce qui me vient à l'esprit quand j'ai eu un problème similaire. La plupart d'entre eux est juste des trucs sysadmin. – Oli
J'ai créé le module pour le contrôle IP entrant dans les listes noires https://github.com/oneumyvakin/ngx_http_blacklist_lookup_module
il est utilise des listes noires de projecthoneypot.org, blocklist.de et uceprotect.net
est map module Nginx Utilisation aa peu plus efficace et plus facile à gérer comme la liste devient longue.
Mettez dans votre http {} bloc:
map $http_referer $bad_referer {
hostnames;
default 0;
# Put regexes for undesired referers here
"~social-buttons.com" 1;
"~semalt.com" 1;
"~kambasoft.com" 1;
"~savetubevideo.com" 1;
"~descargar-musica-gratis.net" 1;
"~7makemoneyonline.com" 1;
"~baixar-musicas-gratis.com" 1;
"~iloveitaly.com" 1;
"~ilovevitaly.ru" 1;
"~fbdownloader.com" 1;
"~econom.co" 1;
"~buttons-for-website.com" 1;
"~buttons-for-your-website.com" 1;
"~srecorder.co" 1;
"~darodar.com" 1;
"~priceg.com" 1;
"~blackhatworth.com" 1;
"~adviceforum.info" 1;
"~hulfingtonpost.com" 1;
"~best-seo-solution.com" 1;
"~googlsucks.com" 1;
"~theguardlan.com" 1;
"~i-x.wiki" 1;
"~buy-cheap-online.info" 1;
"~Get-Free-Traffic-Now.com" 1;
}
Mettez dans votre serveur {} bloc:
if ($bad_referer) {
return 444; # emtpy response
}
Il a travaillé pour moi.
obtenu ceci de http://fadeit.dk/blog/post/nginx-referer-spam-blacklist
en ajoutant les citations faites toute la différence. – chovy
- 1. Comment bloquer un site programatically utilisant DotNet
- 2. Comment bloquer certains des agents d'utilisateur http en utilisant php
- 3. Bloquer le port UDP sans pare-feu en utilisant VBScript
- 4. Comment bloquer les appels dans Android
- 5. Comment redémarrer avec élégance django en exécutant fcgi derrière nginx?
- 6. Comment puis-je réutiliser les configurations de serveur dans nginx?
- 7. En c, comment bloquer un descripteur de fichier?
- 8. Nginx nettoyer les urls réécrire pour Mediawiki
- 9. En production, Apache + mod_wsgi ou Nginx + mod_wsgi?
- 10. Validation Javascript: Bloquer les caractères spéciaux
- 11. Comment puis-je interroger les requêtes Web sans bloquer?
- 12. Comment convertir mod_rewrite (option QSA) en équivalent Nginx?
- 13. Actionscript 3 et MXML ... bloquer en attendant un événement
- 14. Recevoir des spams insensés - quel est son but?
- 15. manutention OPTIONS demande dans nginx
- 16. Différencier le comportement de nginx en fonction de l'URL
- 17. question d'installation nginx
- 18. comment nginx serveurs virtuels + fcgi pour django?
- 19. Règles de réécriture nginx avec Passager
- 20. nginx avec mod_wsgi
- 21. Comment configurer Nginx en tant que proxy inverse de mise en cache?
- 22. LightHttpd vs Nginx
- 23. Convertir les commentaires d'une seule ligne pour bloquer les commentaires
- 24. ASP.NET MVC en utilisant IIS6: Bloquer l'accès à la vue unique (registre)
- 25. nginx rewrite question
- 26. Comment bloquer le contenu d'un panneau mais pas bloquer la page entière
- 27. nginx: parse * .cgi comme php
- 28. Comment puis-je empêcher mes threads de se bloquer les uns les autres?
- 29. Configuration de sous-domaines sur nginx
- 30. nginx non défini expire les en-têtes sur les ressources statiques Rails
Blocage des référents avec un opérateur ~ * est juste une regex "amour" correspondra "live-votre-site Web" et les référents comme ceci – Garistar