Detener grandes solicitudes a mi servidor (TOR)

19

Estoy siendo atacado ahora mismo desde los nodos Tor que están haciendo solicitudes 404 a mi servidor HTTP. Es de una IP, pero cuando uso la regla DROP iptables, se inicia de nuevo desde otra IP en cuestión de segundos.

Comenzó a pedir solicitudes a la carpeta cgi-bin, pero ahora está haciendo solicitudes en mi carpeta de imágenes. Así que, según mi investigación, es una herramienta conectada a TOR que busca algo y ahora mismo me vuelve loco.

Intenté fail2ban, mod_evasive y mod_security, pero esos programas se activan cuando el otro lado está buscando una cosa o golpeando la puerta en un puerto. Pero esta herramienta está analizando cada solicitud de un archivo diferente.

45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgsupport.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgppexg.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgppantivirussoft.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgwin95.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgnws.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgroundcorner.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgppcdl.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/yellowbuy3.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgvirusinfo.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/escan4.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgredline.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgonlinescan.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/ram1.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/imgmanualscan.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/userdefine.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"
45.63.100.91 - - [26/Dec/2016:03:27:17 +0100] "HEAD //images/betterinterface.php HTTP/1.1" 404 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko"

Usted ve que está buscando en la carpeta imágenes para un archivo .php específico, pero en cada solicitud está buscando un archivo php diferente. Entonces, ¿qué demonios está haciendo esta cosa?

Esto también consume mi ancho de banda, por lo que estoy realmente desesperado por lo que necesito hacer ahora. ¿Alguien tiene una idea de cómo puedo bloquear esto?

Configuración del servidor: CentOS 7 (OpenVZ, así que estoy atascado con un kernel donde el ipset no funciona) con Apache.

    
pregunta Alex 26.12.2016 - 03:32
fuente

5 respuestas

17

Podrías eliminar paquetes de nodos tor todos juntos si quieres con tablas ip. La lista de nodos tor se puede encontrar en:

Ref. 1: enlace
Ref. 2: enlace

Aquí hay una línea de una línea para bloquear todo el tráfico desde tu servidor web. Actualmente hay alrededor de 2000 tor nodos en línea ahora que admiten el puerto 80. Por lo tanto, estarás insertando un buen número de iptables. En realidad, esto no es una solución a largo plazo, pero debería detener el ataque.

wget "https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=8.8.8.8&port=" -O /tmp/ip.lst && sed -i -e '1,3d' /tmp/ip.lst && for i in $(cat /tmp/ip.lst); do iptables -A INPUT -p tcp -s $i --match multiport --dports 80,443 -j DROP; done
    
respondido por el Tim Jonas 26.12.2016 - 06:02
fuente
6

Puede eliminar paquetes que contengan una cadena específica y, aparentemente, todas las solicitudes contienen: 'HEAD // images /' string.

Sugiero la siguiente regla por ahora y luego puedes eliminarlo:

iptables -I INPUT -p tcp --dport 80 -m string --algo bm --string 'HEAD //images/' -j DROP

    
respondido por el Opaida 26.12.2016 - 05:26
fuente
3

Si su modelo de seguridad permite pasar tráfico a terceros, la solución más fácil y efectiva puede ser presentar su aplicación con Cloudflare . Al momento de escribir este artículo, Cloudflare bloquea prácticamente toda la conexión Tor a menos que resuelvan una página CAPTCHA y también tienen un Servidor de seguridad de aplicaciones web que puede configurar para filtrar aún más el tráfico antes de llegar a su servidor para que el atacante no consuma el ancho de banda del servidor.

De lo contrario, puede tener algo de suerte configurando fail2ban . fail2ban es una pieza de software que pone un bloqueo temporal de IP al cambiar la política de firewall del sistema operativo cuando alguien falla la autenticación demasiadas veces. En su caso, la autenticación fallida sería alguien que mantiene el 404-ing.

    
respondido por el Lie Ryan 26.12.2016 - 07:39
fuente
3

Mi servidor web tiene esto todo el tiempo, y después de meses de examinar los registros, puedo ver que hay cientos de cosas diferentes que eventualmente pedirán.

Una de las miles de redes de robots es la asignación de su Apache para componentes vulnerables. Con la esperanza de tener suerte, con un componente común que sabe cómo explotar. Obtengo bots buscando phpmyadmin todo el tiempo. Junto con docenas de otras cosas.

Luego, por supuesto, si tiene suerte, eventualmente implementarán más cosas malas para que puedan usar su computadora para sus propios actos nefarios.

Virtualice con algo que puede instalar un kernel moderno, por lo que puede usar ipset. Tal vez KVM, la ventana acoplable utiliza el kernel incorporado, por lo que no es bueno.

Es probable que la botnet esté en decenas de miles de computadoras, por lo que no podrás bloquear esto de manera efectiva, especialmente no sin el conjunto de chips.

También, siempre que estés usando TOR, ellos tendrán acceso a más direcciones IP de personas aleatorias.

Opción # 2

Reemplace el archivo HTTP_NOT_FOUND.html.var encontrado, al menos en mi sistema, / usr / share / apache2 / error

Puede crear un archivo HTTP_NOT_FOUND.html.var.php y luego cambiar el archivo apache, / etc / apache2 / errors.conf, para apuntar a dicho archivo.

Entonces el primer intento sería el último.

    
respondido por el cybernard 26.12.2016 - 05:15
fuente
0

¡Primero, no te asustes y asegúrate de llevar una toalla contigo!

Por la información que ha proporcionado, no creo que esté siendo atacado, solo analizado. En estos días, este es un comportamiento "normal" y es algo que probablemente verá de forma regular. Piense en ello como si alguien estuviera colocando su articulación, buscando una ventana abierta o una puerta abierta. Solo están buscando para ver si hay una manera fácil de usar para obtener una entrada.

Existen muchos scripts y herramientas, como botnets que simplemente escanean Internet en busca de sistemas posiblemente vulnerables. Si esto es un preludio de algo más serio es casi imposible de determinar (todavía). Mucho dependerá de si su sitio se ve valioso y hasta qué punto su sistema está actualizado.

  • Asegúrese de que su software esté todo parchado y actualizado
  • Asegúrese de haber inhabilitado los servicios que se estén ejecutando en su servidor y que no necesite / use
  • Asegúrese de que la configuración de su servidor web sea correcta, es decir, solo tiene las funciones habilitadas que usa, tiene elementos estándar, como un archivo robots.txt configurado correctamente, no tiene habilitados los módulos que no necesita, etc.

Usted menciona que este tráfico está matando su ancho de banda. Esto me hace sospechar que está ejecutando el servidor web en un sistema con un ancho de banda bajo, ya que estas solicitudes son bastante ligeras, es decir, solo las solicitudes HEAD. Si este es el caso, quizás necesite volver a pensar si ejecutar el servidor es realmente una buena idea.

Cuando colocas un servidor en Internet, estás publicando algo que es público: estás diciendo "Oye, tengo un servidor aquí, ven y echa un vistazo" . Necesitas estar preparado para cuando alguien venga y no tienes control sobre quién lo hace. Tratar de bloquear este tipo de tráfico te volverá loco. Si lo permites, acabarás en un juego de 'wak-a-mole'. Ni siquiera se moleste en tratar de bloquear este nivel de tráfico porque tan pronto como lo haga, es probable que solo obtenga algo diferente de una dirección IP diferente. Terminarás girando tus ruedas escribiendo filtros y ajustando cortafuegos.

Configurar un servidor y ponerlo en la web es una tarea casi trivial en estos días. Sin embargo, administrar tales sistemas no lo es, y es algo que debe considerar cuidadosamente. Ponerlo en un servidor al final de un enlace DSL doméstico o de una pequeña empresa o similar es casi siempre una mala idea. Es probable que tenga un impacto en su ancho de banda, con frecuencia llevará más tiempo de lo que espera y es poco probable que tenga la infraestructura subyacente necesaria para proporcionar un servicio sólido y confiable.

Mi sugerencia sería considerar hospedar su servicio web con uno de los muchos servicios de hospedaje diferentes que existen. Hay una gran variedad de opciones y es casi seguro que puede encontrar algo que satisfaga sus necesidades, desde Infraestructura como Servicios (IaaS) de bajo nivel, hasta Plataforma como Servide (PaaS) y Software como Servicio (SaaS). Cada servicio ofrece diferentes niveles de flexibilidad y costos variables que puede seleccionar. Podrá encontrar algo con el equilibrio adecuado de costo y características con suficiente investigación.

Si no desea pagar para alojar su servicio, realmente necesita volver a considerar lo que está haciendo. Hay costos asociados con todas las formas de alojamiento. La diferencia es cómo se absorben esos costos, ya sea que pague con dinero o pague con tiempo y con sus propios recursos.

    
respondido por el Tim X 29.12.2016 - 22:21
fuente

Lea otras preguntas en las etiquetas