Sugerencia: Dirección de correo electrónico con comodín

Sería bueno si hubiera una manera de agregar direcciones de correo electrónico bloqueadas con comodines. Por ejemplo, cuando un spammer utiliza el truco de los puntos en Gmail.

Por ejemplo:

example@gmail.com
example+random12345@gmail.com
ex.a.mple+random12345@gmail.com
e.xamp.le@gmail.com

Todas son la misma dirección de correo electrónico; los spammers pueden usar una sola dirección de Gmail para crear cuentas ilimitadas fácilmente.

Creo que bloquear una dirección con comodines como la siguiente sería una buena solución:
e*x*a*m*p*l*e*@gmail.com

No creo necesariamente que deban bloquearse todos los registros que utilicen estas variaciones de direcciones de Gmail, pero sí que sería útil que, si se bloquea una dirección de Gmail, se bloqueen también todas sus variaciones, o que podamos agregar manualmente un comodín de Gmail a la lista negra de correos electrónicos.

1 me gusta

¿Estás experimentando un problema específico o es solo una teoría? Si se trata de un problema concreto, ¿puedes compartir los correos electrónicos específicos de los spammers?

4 Me gusta

Sí, es un problema real que estoy experimentando. Tengo spammers que crean regularmente decenas de miles de cuentas por cada cuenta de Gmail utilizando el método del punto y un conjunto suficiente de direcciones IP.

Solo he visto que se utilice el truco del punto, no estoy 100% seguro de si el método con el símbolo + también funciona. La última vez que verifiqué, era posible registrarse con direcciones de correo que contenían el carácter +, por lo que esa trampa también debería funcionar.

Por ejemplo, este correo (no es una dirección real):
constantinehamilton1337x@gmail.com

Puede generar 16.777.216 direcciones de correo únicas solo con el método del punto y prácticamente ilimitadas con el método del +. Esto lo hace extremadamente eficiente para los spammers. La lista negra de dominios no es viable ya que se trata de Gmail.

Puedes ver un generador aquí (se vuelve lento con más de 8.000 combinaciones): Redirecting...

Si esto se hubiera implementado realmente con un enfoque similar a comodines (en lugar de ser manejado automáticamente por Discourse), probablemente querrías ser mucho más específico que e*x*a*m*p*l*e*@gmail.com. Hacerlo de esa manera podría resultar en bloquear a personas inocentes, especialmente si la dirección de correo electrónico del spammer es relativamente corta. Buscar específicamente . y + sería probablemente mucho más seguro.

2 Me gusta

¿Cuál es tu configuración de levenshtein_distance_spammer_emails, el valor predeterminado de 2 o el máximo de 3?

2 Me gusta

Gracias por avisarme sobre esta configuración levenshtein_distance_spammer_emails. Nunca la había visto ni modificado antes; está en el valor predeterminado de 2.

3 Me gusta

No entiendo tus cálculos. Solo puedes añadir un punto entre caracteres, por lo que cada dirección de N caracteres es válida solo para 2*n direcciones. Probablemente podrías tener un complemento que guardara o comparara la dirección sin puntos y prohibiera las direcciones con +.

2 Me gusta

@pfaffman - Me basaba simplemente en las cifras proporcionadas por Redirecting..., según las cuales, por cada carácter adicional por encima de 2, la cantidad de direcciones se duplica (aunque se congela alrededor de 8 mil).

Creo que 2*n, si entiendo bien lo que quieres decir (es decir, que una dirección de 26 caracteres tendría 52 combinaciones), sería demasiado bajo. Esto se debe a que se pueden añadir múltiples puntos a lo largo de la dirección.
Por ejemplo:
constantinehamilton1337x@gmail.com
con.stantinehamilton1337.x@gmail.com
co.nst.antineh.amilton1.3.37x@gmail.com
constantineh.a.m.ilto.n13.37x@gmail.com
c.o.nsta.ntinehamil.ton1337x@gmail.com

En cualquier caso, sea cual sea la cifra exacta, es un número enorme. Sí, ¡tu solución propuesta tiene mucho sentido!

1 me gusta

Sí. No estaba haciendo bien los cálculos. Solo permitía un punto. En algún momento casi sabía esa matemática, pero esta mañana no. :wink:

Pero un plugin que guardara un tiro y, además, la versión gratuita de la dirección como una dirección adicional, haría lo que necesitas y no sería tan difícil.

3 Me gusta

Nota… cuando bloqueas sam.sam@gmail.com, ahora bloqueamos automáticamente sam.sam+1@gmail.com y así sucesivamente…

10 Me gusta

Esta función ha estado funcionando muy bien @sam :slight_smile:

Creo que la implementación anterior que creaste podría seguir siendo muy útil como una característica adicional contra el spam; funcionó increíblemente bien durante el breve tiempo que estuvo disponible y activada (desactivada por defecto).

De lo contrario, los spammers aún pueden crear cuentas masivas con una sola dirección de Gmail antes de que un moderador o administrador lo note. Por ejemplo, creando las cuentas pero sin publicar nada de inmediato.

Los administradores y moderadores tendrán que buscar y abrir manualmente cada cuenta individual para prohibirla o eliminarla. Esto puede ser bastante tedioso, especialmente cuando un spammer puede crear cientos o miles de cuentas con un solo Gmail antes de ser prohibido. Además, buscar los correos electrónicos es difícil, por ejemplo: j.ohan.2.1@gmail y jo.ha.n21@gmail.

Si no se les da caza manualmente, los spammers mantendrán un gran grupo de cuentas para jugar a «whack-a-mole», mientras solo necesitan usar una cuenta de Gmail para obtenerlas.

@sam Solo para dar seguimiento después de más pruebas en el campo, creo que la implementación anterior que fue revertida es definitivamente mucho más efectiva contra spammers motivados. Todavía estoy recibiendo una cantidad significativa de registros usando estos trucos con Gmail permutados.

Agradezco mucho que se haya implementado la protección actual, la cual es muy efectiva. Sin embargo, creo que es una vulnerabilidad permitir la creación de cuentas ilimitadas usando el mismo correo electrónico hasta que sean detectadas específicamente y prohibidas manualmente. Esto representa una mayor carga para los moderadores (que no pueden ver los correos electrónicos de las cuentas por defecto, a menos que se habilite, creo), especialmente en ausencia de herramientas de eliminación masiva de cuentas (por ejemplo, seleccionar varias cuentas de la lista de búsqueda de cuentas con casillas de verificación y prohibirlas/eliminarlas todas). Esto significa que un moderador tendrá que navegar manualmente a cada cuenta individual para eliminarla/prohibirla. Eso es especialmente difícil al buscar cuentas con correos electrónicos permutados.

Dado que la implementación anterior era opcional (desactivada por defecto), ya había sido desarrollada y funcionaba como se esperaba, y luego fue eliminada, simplemente parece una lástima que ya no esté disponible para las comunidades que desearían usarla para una protección adicional contra spammers motivados.

Por eso dije que ciertos caracteres deben estar completamente prohibidos en los correos electrónicos (opcionalmente). Específicamente, los caracteres que permiten la subdirección en Email address - Wikipedia, como el signo más, el punto, el guion, etc. Con una expresión regular también podrías bloquearlo por servicio, por ejemplo: “no se permiten correos electrónicos con un signo más que terminen en @gmail.com”. cc @sam

1 me gusta

La implementación anterior aún permitía el +addressing mientras mantenía un solo correo canónico por cuenta (lo cual creo que es probablemente más seguro).

Así que podrías estar registrado como sam+discourse-meta@gmail.com, lo cual es útil para las reglas internas de Gmail que tengas configuradas. Pero luego bloquearía nuevas cuentas desde sam@gmail.com o sam+1@gmail.com.

No estoy en contra de añadir una lista de permitidos, pero creo que hacer cumplir los correos canónicos es bastante útil para el caso de Gmail y no es una opción predeterminada terrible.

1 me gusta

La seguridad no es realmente el objetivo aquí. El sitio en cuestión necesita una solución más extrema debido a la magnitud del problema que enfrentan. Mientras sea opcional (añade tu propia “expresión regular de protección de correo electrónico”), me parece perfectamente seguro para los sitios que lo necesiten; pueden optar por el Modo de Bloqueo Total.

1 me gusta

Actualmente tenemos

dominios de correo bloqueados

Supongo que podríamos agregar:

patrones de correo bloqueados

Sin embargo, ajustar la expresión regular es algo molesto debido a todas las barras invertidas necesarias. Me preocupa ofrecer opciones como esta, ya que es muy probable que los usuarios no escriban la expresión regular correctamente ni como se pretende. Deben recordar escapar los puntos y los signos más.

.*\+.*@gmail\.com

Podríamos, supongo, usar un patrón simplificado sin expresiones regulares que simplemente expanda * y ?.

*+*@gmail.com

5 Me gusta

:wave: ¡Perdón por la respuesta tardía!

Si se volviera a implementar la versión anterior como una opción, creo que resolvería por completo el problema de Gmail. Al menos en mi caso. En mi opinión, es una solución perfecta y añade suficientes costes a los spammers para hacer que la lucha contra ellos sea manejable. Realmente marcaría la diferencia entre necesitar una moderación de alta intensidad las 24 horas del día y no.

He bloqueado varios dominios que permiten direcciones similares y que hacen uso de la lista de dominios de correo electrónico permitidos. El problema es que las personas pueden crear muchas cuentas antes de que una de ellas sea baneada o bloqueada (lo cual activa el bloqueo de las permutaciones de esa dirección de Gmail para nuevas cuentas, pero las cuentas existentes quedan intactas). Esto representa una gran carga para la moderación y resulta tedioso limpiar cada cuenta individual posteriormente.

Por ejemplo, tuve un hilo con unas 200 respuestas, usando un mensaje por cuenta, todas creadas con la misma dirección de Gmail. Hay muchos casos similares. Estos son ejemplos donde las cuentas son fáciles de encontrar, ya que buscarlas mediante permutaciones de la dirección original de Gmail es realmente difícil como alternativa. Algunos generan grandes cantidades de cuentas usando un puñado pequeño de direcciones de Gmail y no publican en ellas hasta meses después.

En cuanto a la solución mediante expresiones regulares, bloquear los signos + sería bastante inofensivo, mientras que bloquear los puntos (.) probablemente impediría una cantidad significativa de correos legítimos, es decir, john.smith@gmail.com. Bloquear direcciones con más de un punto probablemente causaría un daño colateral mínimo, aunque aún permitiría varias permutaciones de una dirección de Gmail, pero mucho menos que con 2 o más puntos.

En mi opinión, la implementación anterior es ideal y no es poco razonable implementarla como una protección opcional; la mayoría de los sitios sociales más populares no permiten el registro usando varias permutaciones de Gmail debido a que son explotadas intensamente por spammers.

Gracias :slight_smile:

1 me gusta

@sam, siento con bastante firmeza que los sitios deberían poder implementar este nivel opcional de bloqueo de expresiones regulares para correos electrónicos si lo necesitan. De lo contrario, estaríamos yendo en contra de uno de los principios fundamentales de Discourse, que es ser “seguro por defecto”.

1 me gusta

Podemos hacer esto para la próxima versión, aunque sigo apoyando mi implementación original: la normalización es la solución más amigable para los administradores de sitios; marcas una casilla y, ¡zas!, el problema queda resuelto. Con las expresiones regulares, tienes que aprenderlas (así que se van 5 horas) y terminas con una solución que deja pasar cuentas de spam o es hostil para el usuario (sin puntos, sin signos más) o es un compromiso.

Dicho esto, claro que podemos incluir el soporte para expresiones regulares en la próxima versión.

1 me gusta

Nah, es muy sencillo: simplemente “no se permiten correos con signos más o puntos”. Aunque admito que es bastante restrictivo y, obviamente, no querríamos que estuviera activado por defecto. Pero es como lo del botón de lanzamiento nuclear: siempre habrá suficientes actores maliciosos como para que tengas que tenerlo, incluso si no quieres usarlo.

Es como la guerra nuclear. Una vez que tienes las armas nucleares sobre la mesa, las opciones “amigables para el usuario” ya no son posibles; solo puedes esperar que la mayor parte del tiempo nunca tengas que llegar a ese extremo.