¿Alguien está experimentando un extraño ataque de usuarios spam? ¿Hay alguna forma de bloquearlo?

Quizás los ataques de spam son tan generalizados que lo que nos está ocurriendo es simplemente algo habitual.

Creo que utilizamos SSO, pero está limitado únicamente a nuestro sitio. No empleamos ninguna autenticación externa.

El patrón es muy claro:

  • Siempre llenan nuestro campo «Género» con una cadena aleatoria de letras mayúsculas y minúsculas.
  • El nombre de usuario casi siempre es un nombre y apellido que suenan reales, seguidos de una cadena de números.
  • El correo electrónico utilizado es siempre un dominio personalizado, generalmente con un aspecto muy inusual. Nunca un servicio popular.

No hemos realizado ningún ajuste en nuestros filtros de spam. Podríamos recibir tres o cuatro de estos casos al día. Quizás diez por semana o más. Hasta ahora, simplemente los he estado eliminando para que no hayan tenido tiempo de publicar.

¿Alguna idea?

Comparto esto de un miembro del personal que da consejos sobre cómo detectar cuentas de spam.

«Formato clásico de correo electrónico

Quizás. En cualquier caso, me alegra que así sea. Es difícil creer que un bot basado en IA no conozca la siguiente respuesta lógica a una pregunta sobre el género, aunque.

Sí, yo también tuve esto, y dejó de ocurrir después de que comencé a aprobar manualmente las publicaciones de los usuarios de nivel TL0.

Tengo un campo personalizado que permite a los usuarios que se registran seleccionar su(s) sistema(s) operativo(s) (mi comunidad es para una aplicación), y estas cuentas de bot tenían datos aleatorios en ese campo.

Utilicé una consulta personalizada de Data Explorer para listar todos los usuarios con un valor de sistema operativo inválido, es decir, un valor que no está incluido en la lista predefinida de opciones para el campo de usuario personalizado.

SELECT 
  u.id, 
  u.username, 
  ucf.value AS user_field_1 
FROM 
  users AS u 
  LEFT JOIN user_custom_fields AS ucf ON u.id = ucf.user_id 
  AND ucf.name = 'user_field_1' 
WHERE 
  ucf.value IS NOT NULL 
  AND ucf.value NOT IN (
    SELECT 
      ufo.value 
    FROM 
      user_field_options AS ufo 
    WHERE 
      ufo.user_field_id = 1
  )

¿Dejaron de llegar los nuevos registros? Porque ese es mi «problema». De hecho, ya aprobamos manualmente las publicaciones de usuarios TL0.

Sí, se detuvo, pero al leer ahora sobre tus experiencias, eso podría haber sido solo una coincidencia.

También he bloqueado todos los correos electrónicos y direcciones IP de esas cuentas.

Sí, yo también he estado bloqueando la dirección IP y el correo electrónico. Solo una vez hubo dos cuentas usando la misma IP, pero, siendo honesto, dejé de verificar.

Me preocupa un poco que esté bloqueando tantas direcciones IP que podría empezar a impedir el acceso a usuarios reales. Quizás no entiendo bien cuántas direcciones IP posibles existen y la probabilidad de que un usuario legítimo quede bloqueado.

¿Debería siempre verificar si se trata de una IP compartida antes de bloquearla?

Sí, un campo personalizado en el registro suele detectar este tipo de spam; esa consulta de dataexplorer es una buena forma de intentar detectarlo ahora… pero creo que deberíamos ofrecer alguna automatización que lo haga más fácil.

Llevamos años haciéndolo en Meta y el registro de nuevas cuentas se ha mantenido bastante estable durante todo este tiempo.

También proporciono una dirección de correo electrónico en mi sitio web para que los usuarios de mi aplicación se pongan en contacto conmigo directamente, por lo que, si un usuario real no pudiera registrarse, probablemente me enteraría (aunque aún no ha ocurrido).

No estoy seguro de si deberías hacerlo, pero yo no lo hago :see_no_evil_monkey:

¡Oh no! Creo que es una preocupación legítima: en muchas partes del mundo no hay una gran cantidad de direcciones IP, y es mucho más común verlas agrupadas que antes.

Hmm, no creo que eso sea ninguna garantía de que no se esté privando de derechos a muchas personas.

Pienso que la idea de bloquear la dirección IP de un spammer es una táctica que proviene de Estados Unidos y de la época de los actores individuales malintencionados y del acceso doméstico a internet a través de proveedores de cable. Creo que ahora es bastante inapropiada.

Puede ser útil verificar una dirección IP contra una lista de bloqueo bien mantenida, o verificar el ASN de la dirección contra una lista de fuentes improbables (proveedores de servicios en la nube, por ejemplo). Aún así, no es lo ideal bloquear con ese criterio si se desea permitir que las personas se registren usando VPN.

Claro, puede ser problemático para las VPN, pero las VPN también son una fuente desproporcionada de abuso… por lo que existe la responsabilidad de no tomar ninguna medida contra ellas. Supongo que lo ideal sería contar con algún tipo de sistema de reputación de direcciones IP para que no sea todo o nada.

Se puede resolver con Cloudflare. Utilice el explorador de registros y luego bloquee y desafíe según corresponda mediante la configuración del WAF y reglas personalizadas:

El plugin oficial de hCaptcha de Discourse puede ser de gran ayuda aquí. Está diseñado específicamente para ayudar a mitigar los registros de bots.

(Personalmente, también me encantaría ver el soporte de Discourse para Cloudflare Turnstile, dado que el nivel gratuito de Turnstile incluye un modo sin fricción e interactivo, mientras que una funcionalidad similar con hCaptcha requiere pasar a su nivel de precios «pro» de 99 USD al mes, lo cual es absolutamente absurdo para quienes alojan sus propios servidores.)

Si yo me encontrara con eso como un posible nuevo usuario, probablemente simplemente renunciaría.

Por lo general, ni siquiera elimino a los usuarios de spam. Los suspendo para siempre. De esa manera puedo extraer información de ellos con más facilidad para identificar patrones, lo que me permite reaccionar rápidamente a medida que cambian las tácticas.

Si bloqueo una dirección IP, simplemente obtienen una nueva. Si no lo hago, algunos de ellos vuelven con la misma IP y puedo reaccionar rápidamente.

Al mismo tiempo, tengo muchos nuevos spammers cuyo registro y última IP utilizada son diferentes.

Recibo mucho uso legítimo a través de VPN, por lo que simplemente seguir bloqueando IPs aleatorias que en realidad no corresponden a spammers causaría fallos aleatorios.

Creo que deberíamos tener una opción para bloquear el correo electrónico pero no bloquear la IP al eliminar una cuenta de spam. Bloquear la IP termina siendo un costo oculto que no puedes medir directamente. Creo que es muy :see_no_evil_monkey:

¡Estoy de acuerdo!

Hmm, quizás debería probar hacerlo así. Desde un reciente asalto, estoy funcionando en el modo de «aprobar nuevos usuarios», lo cual, a mi escala, es bastante manejable y me permite (o a otros moderadores) verificar en StopForumSpam.