Ver dirección IP de invitados / visitantes anónimos?

¿Hay alguna forma de ver las direcciones IP de los usuarios anónimos / invitados?

¿Y/o el número de conexiones de cada uno?

Mi sitio ha estado recibiendo cientos y cientos de visitas por minuto, durante las últimas horas, el uso del procesador también se ha disparado al 100%.

¿Has revisado tus registros de Nginx (o lo que sea que estés usando)? Esos son bots y atacantes. No haces nada con las IPs. Cambiarán después de unos pocos intentos (las IPs son inútiles de todos modos, siempre cambiarán). Deberías empezar a hacer geo-bloqueo (muy pocos sitios son verdaderamente globales) y prohibir muchos agentes de usuario a nivel de servidor; al menos todos los rastreadores SEO innecesarios y codiciosos, bots que se identifican como IE5.x, etc.

1 me gusta

Si hiciste una instalación estándar, debería haber limitación de velocidad (y parte está dentro de Rails). ¿Cómo lo instalaste?

1 me gusta

¿Cómo funciona realmente esa limitación de velocidad (no, no busqué la respuesta)? ¿Se activará después de una cantidad de solicitudes en un período de tiempo determinado por IP?

De todos modos, cuando hay una situación de tipo ddos en el sentido de, por ejemplo, si una URL se menciona en alguna lista estúpida, entonces comienza la inundación desde IPs de China, Pakistán, Irán, Irak, Vietnam y Rusia, además de muchas de los grandes servicios de VPS, principalmente de EE. UU., Francia y Alemania. Cuando intentan 3 veces y cambian de IP, la limitación de velocidad no ayuda demasiado.

En algún momento recibí muchas búsquedas estúpidas. Y mucho significa que una instancia de 5 USD de DigitalOcean se bloqueó y tuve casi cero solicitudes de humanos.

Esto es más o menos una cuestión del servidor web, no de Discourse. Esos atacantes deberían ser eliminados antes que una aplicación. Sé que mi situación/soluciones son mucho más fáciles que las del OP o las de la mayoría de los administradores web aquí porque soy de Finlandia y mi foro es puramente finlandés, por lo que prohibir a nivel mundial es posible para mí (bueno, los finlandeses que viven fuera de Finlandia lo ven de manera diferente :wink: )

Pero independientemente de la limitación de velocidad, al menos los agentes de usuario falsos deberían detenerse de inmediato.

¿Qué tal los atacantes de SSH? Esos también consumen recursos.

1 me gusta

Si tienes problemas de ddos, te recomendaría Cloudflare (algo que casi nunca hago). Asegúrate de usar la plantilla de Cloudflare y luego desactiva las optimizaciones (o lee atentamente sobre cómo configurarlas).

1 me gusta

No es un ddos real. Pero cuando hay muchas solicitudes del mismo tipo, actúan como ddos, el resultado es el mismo. Estoy usando Varnish y Fail2ban además de geo-blocking y estos hacen el trabajo por mí.

2 Me gusta

Sí, hice una instalación estándar.

Mi primer pensamiento fue simplemente que nos hubieran “slashdotted”, pero 24 horas después todavía me están atacando.

La solución temporal rápida fue cerrar la puerta principal y configurar el sitio como “requiere inicio de sesión”. Lo cual funcionó, el uso de la CPU bajó del 100% al 3% en 60 segundos.

Tan pronto como abro la puerta principal, mi página de /search es instantáneamente bombardeada con basura como:

/search?q=dogs+order:latest&page=2
/search?q=cats+order:latest&page=2
/search?q=fly+order:latest&page=2

etc.

Esto sucede a los 60 segundos de volver a abrir el sitio.

Somos un grupo pequeño y de nicho, no estoy seguro de por qué alguien nos atacaría con algo :roll_eyes:

Es solo una estimación, pero según Google Analytics normalmente tenemos de 8 a 10 usuarios activos y esto se dispara a más de 1.000 en cuestión de segundos después de que vuelvo a abrir el sitio al público. Todas las conexiones provienen de varias partes de EE. UU., todas directas y sin referentes.

Dejaré el sitio cerrado solo para miembros por unos días y veré si desaparece, o si puedo limitar /search solo a usuarios registrados, y si no, probablemente tendré que recurrir a la ruta de Cloudflare.

Gracias a todos :+1:t2:

1 me gusta

Sí. Eso es extraño, pero supongo que así es Internet.

Ohh. ¿Cuál es el agente de usuario? ¿Quizás podrías añadirlo a agentes de usuario de rastreadores bloqueados?

2 Me gusta

¡Buena pregunta!

Veré si puedo encontrar eso en la página del informe de Google Analytics :+1:t2:

1 me gusta

Creo que también puedes buscar en /var/discourse/shared/log/var-log/nginx/.... (o algo muy parecido). Hay otras configuraciones como slow down crawler user agents si buscas en la configuración “agent”.

2 Me gusta

Lo encontré en: /var/discourse/shared/standalone/log/var/log/nginx/access.log

(descargándolo localmente ahora)

Gracias @pfaffman, veré si algo me llama la atención.

2 Me gusta

Un análisis rápido parece mostrar una mezcla variada de user agents.

Esto también me hace sospechar de un ataque en lugar de un slashdot :confused:

[12/Jan/2022:13:26:20 +0000] "greyarro.ws" 184.174.102.229 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.57 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:13:27:22 +0000] "greyarro.ws" 173.211.78.162 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.9390.0.4430.212 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:13:30:46 +0000] "greyarro.ws" 66.78.24.176 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Linux x86_64; rv:89.0.2) Gecko/20100101 Firefox/89.0.2" "search/show" 302 1117 "-" 0.020 0.019 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:10:32 +0000] "greyarro.ws" 38.18.59.158 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 Safari/537.36" "search/show" 302 1117 "-" 0.008 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:10:57 +0000] "greyarro.ws" 108.62.69.249 "GET /search?q=cats+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:88.0.1) Gecko/20100101 Firefox/88.0.1" "search/show" 302 1117 "-" 0.008 0.009 "-" "-" "-" "-" "-" "-" "-" "-"

y:

[12/Jan/2022:16:11:07 +0000] "greyarro.ws" 38.18.49.252 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.78 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:08 +0000] "greyarro.ws" 206.180.185.39 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0" "search/show" 302 1117 "-" 0.016 0.012 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:08 +0000] "greyarro.ws" 38.18.55.132 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.57 Safari/537.36" "search/show" 302 1117 "-" 0.008 0.009 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:10 +0000] "greyarro.ws" 184.174.54.113 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.69 Safari/537.36" "search/show" 302 1117 "-" 0.012 0.011 "-" "-" "-" "-" "-" "-" "-" "-"
[12/Jan/2022:16:28:14 +0000] "greyarro.ws" 184.174.72.90 "GET /search?q=dogs+order%3Alatest&page=2 HTTP/2.0" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0.1) Gecko/20100101 Firefox/89.0.1" "search/show" 302 1117 "-" 0.016 0.017 "-" "-" "-" "-" "-" "-" "-" "-"

Me temo que nos estamos desviando un poco del tema original, pero agradezco la ayuda, ¡gracias!

2 Me gusta

Todas esas configuraciones solo ayudan si un bot seguirá los límites y las guías. Incluso Googlebot no lo hace todo el tiempo y los malos nunca. Esa es una de las razones por las que robots.txt es tan inútil.

Y descargo de responsabilidad. No sé si Discourse está utilizando alguna otra tecnología para reducir la velocidad.

2 Me gusta

No, no lo estamos. Porque tu pregunta fue un poco errónea :wink: Querías saber un pequeño detalle cuando deberías preguntar “¿qué hacer cuando mi Discourse está bajo ataque de bots/ddos?”.

3 Me gusta