Consejos para prevenir el spam

:bookmark: Esta documentación proporciona una guía completa sobre cómo prevenir el spam en los foros de Discourse e incluye información sobre diversas configuraciones y herramientas diseñadas para ayudar a mantener un entorno comunitario libre de spam.

:person_raising_hand: Nivel de usuario requerido: Administrador

En la mayoría de los foros, el spam es raro. Sin embargo, si tienes problemas con el spam en tu sitio, Discourse incluye numerosas herramientas para ayudarte a prevenirlo automáticamente.

La siguiente guía ofrece algunas recomendaciones sobre cómo puedes ayudar a prevenir el spam, manteniendo al mismo tiempo un entorno positivo y acogedor para tu comunidad.

Detección de spam con Discourse AI

La detección de spam con IA es una de las mejores funciones de Discourse para la detección automatizada de spam. A diferencia de otras herramientas, puede bloquear automáticamente usuarios y publicaciones basándose en reglas preconfiguradas. La detección de spam con IA está disponible para todos los usuarios en el alojamiento de Discourse y en sitios autoalojados con un LLM configurado.

Las ventajas de la detección de spam con IA incluyen:

  • Automatización: No se requiere intervención manual para bloquear el spam obvio.
  • Personalización: Puedes adaptarla a los requisitos únicos de tu comunidad.
  • Escalabilidad: Funciona bien incluso cuando las comunidades están bajo fuertes ataques de spam.
  • Amplia compatibilidad: Los LLM gratuitos (en el alojamiento de Discourse) y económicos como GPT-4, Claude 3.5 y Gemini Flash pueden manejar la detección de spam de manera efectiva.

Configuración de la detección de spam con IA

:megaphone: Esto ahora está activado por defecto para clientes Starter y Standard

Simplemente actívalo en Configuración de administrador → complementos → IA → Manejo de spam (más detalles aquí).

Por defecto, utiliza un prompt que Discourse ha adaptado para nuestros sitios, pero puedes agregar instrucciones personalizadas específicas de tu sitio.

Ejemplo de prompt adaptado

:information_source: Con Discourse AI también puedes usar el bot creativo de IA para generar prompts adaptados que sean específicos a las necesidades de tu sitio.

Niveles de confianza predeterminados

El nivel de confianza predeterminado para nuevos usuarios en tu sitio se puede ajustar en la página .../admin/site_settings/category/trust; sin embargo, recomendamos mantener el nivel de confianza predeterminado establecido en 0.

Si has modificado el valor de esta configuración, te recomendamos encarecidamente cambiarlo de nuevo a 0: nuevo usuario, ya que cambiar esta configuración puede poner tu sitio en serio riesgo de spam, debido a la forma en que los niveles de confianza interactúan con las configuraciones relacionadas con el spam de Discourse.

Configuraciones del sitio relacionadas con el spam

:warning: A menos que tengas problemas específicos con el spam, recomendamos mantener las siguientes configuraciones en sus valores predeterminados.

Discourse tiene varias configuraciones del sitio relacionadas con el spam a las que puedes acceder en la página .../admin/config/spam de tu sitio.

Estas configuraciones se pueden ajustar para aumentar o disminuir la sensibilidad de la detección de spam y la rigurosidad de las consecuencias asociadas con la publicación de spam.

A continuación se presentan algunas de las configuraciones relacionadas con el spam más comúnmente ajustadas que tienen un impacto notable en cómo se maneja el spam en un sitio.

Los valores predeterminados para todas las configuraciones se muestran a continuación.

Ocultar publicaciones

Las configuraciones hide post sensitivity (sensibilidad para ocultar publicaciones) y cooldown minutes after hiding posts (minutos de enfriamiento después de ocultar publicaciones) controlan la probabilidad de que una publicación señalada sea ocultada automáticamente por Discourse y cuánto tiempo debe esperar un usuario antes de poder editar una publicación señalada y oculta.

Silenciar a nuevos usuarios

Discourse tiene una configuración del sitio llamada num users to silence new user (número de usuarios para silenciar a un nuevo usuario), que silenciará automáticamente a un nuevo usuario si sus publicaciones son señaladas como spam por un cierto número de usuarios únicos.

Por defecto, esto está establecido en 3, por lo que podrías considerar reducirlo si tienes problemas consistentes con el spam proveniente del mismo usuario(s).

Limitar enlaces

Discourse limita el número de publicaciones que un nuevo usuario puede hacer que contengan enlaces a un dominio externo con la configuración newuser spam host threshold (umbral de spam de host para nuevos usuarios). Si los nuevos usuarios en tu sitio frecuentemente hacen spam con enlaces al mismo dominio, podrías considerar reducir el valor de esta configuración.

Limitar direcciones IP

Discourse limita el número de nuevas cuentas que un usuario puede crear desde cualquier dirección IP dada. Si descubres que los usuarios problemáticos en tu sitio están creando repetidamente cuentas para hacer spam en tu sitio, podrías considerar reducir este valor desde el valor predeterminado.

También hay una casilla de verificación flag sockpuppets (marcar títeres) que puedes activar para evitar que los usuarios creen múltiples cuentas y luego comenten en el mismo tema:

Además, puedes buscar manualmente las direcciones IP de los usuarios problemáticos en su página de administración bajo los campos Last IP Address (Última dirección IP) y Registration IP Address (Dirección IP de registro), y eliminar otras cuentas asociadas con la misma dirección IP.

O considera bloquear las direcciones IP que los spammers están utilizando en la página “Logs → Screened IPs” (Registros → IPs filtradas) (.../admin/logs/screened_ip_addresses):

Ajustar los requisitos de señalización

Por defecto, un tema necesita ser señalado por 5 usuarios únicos antes de que Discourse suspenda automáticamente la publicación en ese tema.

Puedes ajustar la configuración del sitio num flaggers to close topic (número de señaladores para cerrar el tema) para aumentar o reducir el número de señaladores requeridos para suspender la publicación en un tema, y ajustar la configuración auto close topic sensitivity (sensibilidad de cierre automático de temas) para cambiar la probabilidad de que el tema en cuestión se cierre automáticamente en su lugar.

Palabras vigiladas

Las Palabras vigiladas son otra excelente función para ayudar a bloquear o limitar publicaciones que contengan palabras, frases o enlaces URL que los spammers puedan estar utilizando repetidamente.

Considera agregar algunas palabras “Bloqueadas” o “Silenciadas” a tu sitio si descubres que los spammers están utilizando frecuentemente los mismos tipos de texto en sus publicaciones.

Para un uso más avanzado de las Palabras vigiladas, también podrías considerar Usar expresiones regulares con Palabras vigiladas.

Aumentar los requisitos de nivel de confianza

Si descubres que el spam proviene principalmente de usuarios TL0, también podrías querer ajustar algunas de las configuraciones de nivel de confianza para dificultar llegar a TL1:

Complemento hCaptcha

El complemento Discourse hCaptcha tiene como objetivo mejorar la seguridad y la protección contra bots integrando hCaptcha en el formulario de registro local.

:sparkles: En todos los sitios alojados por Discourse, este complemento está incluido automáticamente.

Pasos adicionales

Entender por qué los usuarios hacen spam en tu sitio es importante. ¿Están aburridos, son maliciosos o buscan promocionarse?

Sugerencias para lidiar con el usuario difícil, junto con una variedad de otros temas de moderación, se pueden encontrar en la guía de moderación de Discourse, por lo que podrías querer leer esta guía para obtener algunas ideas adicionales sobre la moderación de tu sitio.

Además de lo anterior, reforzar tu equipo de moderación por un corto tiempo, para que tengas cobertura total, es otro buen enfoque para combatir el spam. La clave es desgastar a los usuarios problemáticos para que se aburran y se vayan.

Si continúas teniendo problemas con el spam después de seguir esta guía, también podrías considerar colocar todas o algunas publicaciones de nuevos usuarios en la cola de revisión con las configuraciones approve post count (aprobar conteo de publicaciones), approve unless allowed groups (aprobar a menos que grupos permitidos) o approve new topics unless allowed groups (aprobar nuevos temas a menos que grupos permitidos):

La configuración approve unless allowed groups requiere que las publicaciones creadas por usuarios que no están en los grupos especificados sean aprobadas. Las publicaciones creadas por administradores y moderadores siempre son aprobadas.

La configuración approve new topics unless allowed groups requiere que los nuevos temas creados por usuarios que no están en los grupos especificados sean aprobados. Los temas creados por administradores y moderadores siempre son aprobados.

Sin embargo, es importante asegurarse de tener suficientes moderadores a mano para manejar esto, ya que esto podría dificultar que los nuevos usuarios comiencen a interactuar con el sitio si las publicaciones no son aprobadas.

18 Me gusta

No puedo hablar por todos los foros, pero en uno en el que solía estar como TL3, todavía había al menos una publicación de spam cuando me conecté por primera vez en el día en mis categorías seguidas. Y en el que soy moderador actualmente, recibimos un promedio de 2 publicaciones de spam al día. Así que creo que es algo común en muchos foros basándome en eso.

5 Me gusta

Una expresión regular muy útil es \\d{3}-\\d{4}|[\\w+\\-.]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)*\\.[a-z]+ que bloquea direcciones de correo electrónico y números de teléfono. No olvides habilitar la configuración: publicación - “expresiones regulares de palabras vigiladas”.

7 Me gusta

Hola :wave:

He estado aprovechando mucho estos consejos en mi foro, ¡así que gracias! :heart:

¿Hay alguna configuración que se pueda habilitar y que envíe solo a los nuevos usuarios que se registran desde un dominio gmail.com, a la cola de revisión?

Actualmente, envío a todos los usuarios nuevos a la cola para su revisión, pero he descubierto que la mayoría de los usuarios spam son los que se crean usando un correo electrónico de Gmail. Enviar solo a esos a la cola de revisión reduciría la carga y el tiempo de revisión, al menos para mí :sweat_smile:

1 me gusta

@SaraDev ¿Sabes si esto es posible? ¡Me encantaría saberlo también, ya que sería muy útil para bloquear no solo IPs, sino dominios específicos!

1 me gusta

No hay una función principal de Discourse para enviar publicaciones solo de usuarios de un dominio específico (por ejemplo, gmail.com) a la cola de revisión.

La función relacionada más cercana es la configuración del sitio dominios de correo electrónico de aprobación automática, que permite que ciertos dominios de correo electrónico eviten el proceso manual de aprobación de usuarios al aprobar automáticamente a los usuarios de esos dominios.

También hay configuraciones para dominios de correo electrónico bloqueados y dominios de correo electrónico permitidos que proporcionan una forma de restringir o controlar quién puede registrarse en su sitio según sus dominios de correo electrónico:

Sin embargo, todas estas configuraciones requerirían que la configuración debe aprobar usuarios esté habilitada, y solo afectarían a los usuarios que se registran inicialmente en un sitio, y no a la interacción entre la creación de publicaciones y la cola de revisión.

Como solución alternativa, podría usar Grupos para lograr una funcionalidad similar. Por ejemplo, podría crear un grupo personalizado y agregar automáticamente a los usuarios que se registran con una dirección de correo electrónico específica al grupo, y luego agregar este grupo a la configuración aprobar a menos que los grupos permitidos y aprobar nuevos temas a menos que los grupos permitidos.

Con este tipo de configuración, podría omitir efectivamente la cola de revisión para los usuarios con un dominio específico, mientras aún envía otras publicaciones a la cola de revisión si lo desea.

2 Me gusta

Hola, me preguntaba si es posible forzar un captcha en la creación de temas y/o publicaciones.

No lo sé, pero ¿qué ayuda si un bot puede eludir el captcha al iniciar sesión? Entonces puede hacer lo mismo al publicar.

Verdadero, pero parece haber soporte de captcha para el registro, así que me preguntaba si lo mismo existe para la creación de temas/publicaciones.

Hemos visto que varios clientes se han visto afectados por grandes ataques de spam últimamente, y lo que todos tenían en común es que abrieron una o más categorías a todos - crear, eludiendo todas las restricciones de nivel de confianza.

Para los administradores experimentados de Discourse, es obvio que esta es una mala idea, pero para las personas con menos experiencia no lo es. Por lo tanto, podría ser una buena idea declarar lo (para nosotros) obvio y agregar esto a la publicación inicial del tema.

7 Me gusta

Últimamente, hemos estado lidiando con spammers que utilizan el registro automático y luego intentan crear nuevos temas con contenido generado por IA que parece una solicitud genuina de asesoramiento, pero incluye enlaces de afiliados de Amazon. Por lo general, enmascaran esos enlaces con varios motores de acortamiento de URL. Son capaces de responder a las respuestas e incluso pueden chatear en mensajes privados de una manera divertida. ¿Alguien ha experimentado esto? Me pregunto si, dado que estos intentos parecen estar completamente automatizados, habría muchos otros foros de Discourse dirigidos. ¿Tienen algún consejo sobre una estrategia para deshacerse de ellos?

1 me gusta

Hola @Overgrow,

Aquí tienes algunas ideas que podrías probar para evitar esto:

  • Utiliza Discourse AI - Triage de IA para Configurar la detección de spam en tu comunidad para detectar este tipo de contenido.
  • Añade acortadores de URL y patrones de enlaces de afiliados de Amazon a tu lista de palabras vigiladas bloqueadas.
  • Reduce el umbral de spam para nuevos usuarios (newuser spam host threshold) y aumenta los requisitos para TL1.
  • Reduce el número máximo de cuentas nuevas por IP de registro (max new accounts per registration IP) y habilita la detección de títeres (flag sockpuppets).
  • Utiliza el plugin Discourse hCaptcha para ayudar a prevenir registros automatizados de spam/IA en tu sitio.
  • Considera colocar todo el contenido de nuevos usuarios en la cola de revisión hasta que el ataque disminuya ajustando:
    • El número de publicaciones a aprobar (approve post count).
    • Aprobar a menos que el nivel de confianza sea X (approve unless trust level).
    • Aprobar nuevos temas a menos que el nivel de confianza sea X (approve new topics unless trust level).

El enfoque aquí será similar a la prevención general de spam, con un enfoque más específico en las URL acortadas y el contenido generado por IA.

Para tu caso aquí, podrías intentar usar un prompt de IA específicamente para detectar contenido de IA como el siguiente:

Eres un sistema de detección de spam. Analiza el siguiente contenido y contexto.

Notas:
- Las respuestas deben seguir siendo relevantes para el hilo de discusión.
- Marca como SPAM si el contenido es irrelevante, promocional o automatizado.
- Considera las publicaciones de nuevos usuarios con enlaces como SPAM potencial a menos que sean explícitamente relevantes para el tema.

Busca contenido que parezca auténtico pero tenga patrones poco naturales.
Busca texto con frases peculiares, formalidad excesiva mezclada con lenguaje informal, o consejos genéricos que no encajan del todo con el contexto.
Marca el contenido que contenga enlaces de afiliados ocultos, especialmente cuando la publicación parezca diseñada para llevar a recomendaciones de productos de forma natural.

Presta especial atención a estas señales de alerta:
1. Contenido que se presenta como solicitudes de asesoramiento genuinas pero contiene elementos promocionales.
2. Publicaciones que introducen un problema y luego sugieren productos específicos como soluciones.
3. La presencia de acortadores de URL (bit.ly, tinyurl, t.co, goo.gl, etc.) que pueden disfrazar enlaces de afiliados.
4. Enlaces o referencias a productos de Amazon, especialmente con parámetros de afiliado (tag=, ref=, affiliate=).
5. Contenido que parece pedir recomendaciones pero se dirige sutilmente a productos específicos.
6. Texto de calidad artificial: lenguaje demasiado formal mezclado con expresiones informales o estructura torpe.
7. Cuentas nuevas que publican contenido con alguno de los patrones anteriores.

Responde solo con "SPAM" o "NO SPAM".
3 Me gusta

He tenido muchos problemas con cuentas de bots últimamente. He tenido que deshabilitar el registro de nuevos usuarios por segunda vez. Ayer tuve que eliminar unas 50 cuentas de bots con aproximadamente 30 publicaciones de spam. Ya he habilitado hcaptcha con un rompecabezas difícil, pero no los ha detenido. Estaba en la versión 3.5.0 pero acabo de actualizar a la 3.6.0 justo después del ataque. Ya no permitimos enlaces en el nivel de confianza 0 y requerimos 30 publicaciones antes de permitir enlaces, pero estas publicaciones son solo muros de texto sobre agentes de viajes y otras tonterías aleatorias. También he tenido cuentas y publicaciones de IA que se refieren al contenido real del foro pero que no tienen mucho sentido. Esos son algo entretenidos para nuestra base de usuarios, pero de todos modos, no quería habilitar la IA en el foro, pero siento que he agotado todas las demás opciones. Sin embargo, recibo este mensaje:

Pero no veo dónde agregar dicha configuración.

Sobre todo, aunque la IA podría ayudar con el spam, no creo que habilitar esto ayude a crear las cuentas de bots en primer lugar, ¿o me equivoco?

1 me gusta

Si approve post count se establece en 1. ¿Sigue siendo necesario modificar estos?

Honestamente, no sé la respuesta a esa pregunta.

Sí, si approve_post_count se establece en 1, aún debe revisar esas otras configuraciones.

Cómo interactúan estas configuraciones:

approve_post_count (establecido en 1):

  • Afecta a los usuarios con nivel de confianza 0 y 1
  • Requiere que su primera publicación sea aprobada
  • Después de 1 publicación aprobada, pueden publicar libremente (suponiendo que sigan siendo TL0 o TL1)

approve_unless_allowed_groups (anteriormente approve_unless_trust_level):

  • Afecta a todos los que no están en los grupos especificados
  • Requiere que todas las publicaciones (no solo la primera) sean aprobadas

approve_new_topics_unless_allowed_groups (anteriormente approve_new_topics_unless_trust_level):

  • Afecta a todos los que no están en los grupos especificados
  • Requiere aprobación solo para nuevos temas (no para respuestas)

La diferencia clave:

  • approve_post_count es temporal: una vez que los usuarios alcanzan el umbral de recuento, pueden publicar libremente
  • Las configuraciones “a menos que los grupos permitidos” son continuas: se aplican a TODAS las publicaciones/temas de los usuarios que no están en los grupos especificados, independientemente de cuántas publicaciones hayan realizado

También podría combinar configuraciones para un mejor control de la publicación en su sitio, por ejemplo:

  • Use approve_post_count: 1 para revisar las publicaciones iniciales de nuevos usuarios (TL0/TL1)
  • Use las configuraciones de approve_unless_allowed_groups para la moderación continua de todos excepto grupos específicos (por ejemplo, miembros TL2+)

Esto crea un enfoque en el que los nuevos usuarios son moderados inicialmente, y también podría controlar quién obtiene libertad continua para publicar sin aprobación.