Estoy ejecutando dos mongrels bajo un servidor Nginx. Sigo recibiendo solicitudes de un archivo inexistente. Las direcciones IP cambian con frecuencia pero la URL de referencia permanece igual. Me gustaría resolver esto.¿Cómo bloquear spam de referencia con Nginx?
Respuesta
https://calomel.org/nginx.html
bloquear la mayoría "de referencia spam" - "más una molestia que un problema"
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; }
He estado en una situación similar antes donde necesitaba bloquear a las personas en función de su comportamiento en lugar de otras reglas arbitrarias que un firewall podría resolver por sí mismo.
La forma en que trabajaron todo el problema era hacer mi lógica (Carriles en su caso) hacen el bloqueo ... Sin embargo, un camino más largo:
- Haga que su lógica de mantener un bloque de lista como una archivo de texto claro separado de nueva línea.
- Crear una fiesta (u otro) script como root para leer este archivo y añadir sus listees a la lista de bloqueo del firewall
- Crear una tarea programada para llamar a la secuencia de comandos, de nuevo, como root
La razón por la que hacerlo de esta manera (en lugar de simplemente dar permisos a Django para alterar la configuración del firewall) es simplemente: seguridad. Si mi aplicación fue pirateada, no me gustaría que lastime a otra cosa.
guión La fiesta es algo como esto:
exec < /path/to/my/djago-maintained/block-list
while read line
do
iptables -A INPUT --source $line/32 -j DROP
done
se puede apuntar a un tutorial sobre este tipo de bloqueo? Realmente no entiendo tu solución. muchas gracias por ayudar. Estoy tratando de encontrar una solución en el mejor lugar que conozco (stackoverflow :-) pero no quiero que sea moderada sin una buena razón. – Jesse
Nunca he visto un tutorial para algo como esto y no sé cuál es su nombre propio (si lo tiene) es ... Esto es lo que me vino a la mente cuando tuve un problema similar. La mayor parte es solo cosas sysadmin. – Oli
He creado módulo para el control de IP entrante en las listas negras https://github.com/oneumyvakin/ngx_http_blacklist_lookup_module
se utiliza listas negras de projecthoneypot.org, blocklist.de y uceprotect.net
Uso de Nginx map module es poco aa más eficiente y más fácil de manejar como la lista se alarga.
poner esto en su http {} bloque:
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;
}
ponga esto en su servidor {} bloque:
if ($bad_referer) {
return 444; # emtpy response
}
Se trabajó para mí.
Tienes esto desde http://fadeit.dk/blog/post/nginx-referer-spam-blacklist
agregando las citas marcan la diferencia. – chovy
- 1. ¿Cómo usar nginx con PHP?
- 2. Nginx instalado con passenger-install-nginx-module. ¿Cómo desinstalo?
- 3. Cómo bloquear todas las extensiones de archivos de ciertos tipos en nginx
- 4. Cómo escribir el filtro de spam
- 5. Blackberry code signing spam
- 6. Alternativas gratuitas de bloqueo de spam de comentarios a Akismet
- 7. Filtro Comentario Spam? PHP
- 8. Configurar Nginx con PROXY_PASS
- 9. Nginx ubicación coincide con
- 10. Ejecución de carpincho con nginx
- 11. Configuración de Laravel con Nginx
- 12. Nginx con configuración de Tomcat
- 13. ¿Cómo servidor múltiples sitios con nginx/pasajero?
- 14. ¿Bloquear la tecla de tabulación con javascript?
- 15. Cómo "bloquear" V8?
- 16. cómo bloquear varios objetos?
- 17. Cómo bloquear archivo
- 18. cómo bloquear en la llamada ajax (quiero bloquear)
- 19. nginx/apache/php vs nginx/php
- 20. WSGI vs uWSGi con Nginx
- 21. Foreman no funciona con NGINX
- 22. Detectar spam en una sala de chat
- 23. archivos nginx carga de transmisión con proxy_pass
- 24. Cómo comparar la configuración de apache/nginx
- 25. Detener el spam sin captcha
- 26. Bloquear devoluciones de llamadas con EXC_BAD_ACCESS
- 27. ¿Cómo puedo bloquear con la clave de caché?
- 28. ¿Cómo puedo bloquear las solicitudes de China en mi aplicación?
- 29. lucha contra los robots de spam
- 30. Cómo bloquear una sola fila
Las referencias de bloqueo con un operador ~ * es solo un "amor" regex que coincidirá con "live-your-website" y las referencias como esta – Garistar