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

Would be good if there was a way to add wildcard blocked email addresses. E.g. When a spammer uses the gmail dot trick.

E.g.

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

Are all the same email address, spammers can use one gmail address to make unlimited accounts easily.

Blocking an address with wildcards like below I believe would be a good solution:
e*x*a*m*p*l*e*@gmail.com

I don’t necessarily think that all registrations using these gmail address variations should be blocked, just that it would be useful that if a gmail address is blocked, all variations are blocked too or that we can manually add a wildcard gmail to the email blacklist.

1 me gusta

Are you seeing an actual specific problem or is this just a theory? If it is a specific problem can you share the specific spammer emails?

4 Me gusta

Yes it’s an actual problem I’m experiencing, I have spammers regularly making tens of thousands of accounts per single gmail account with the dot method and a sufficient pool of IPs.

I’m only seeing the dot trick being used, not 100% sure about if the + method works also. Last I checked it was possible to register using email addresses with + characters, so that trick should work too.

For example, this email (not a real email):
constantinehamilton1337x@gmail.com

Can make 16,777,216 unique email addresses using the dot method only and essentially unlimited using the + method. Makes it super efficient for spammers. Domain blacklist isn’t viable seeing it’s gmail.

You can see a generator here (gets laggy over 8k combinations): Gmail Dot Trick Generator

If this was actually implemented with a wildcard-like approach (instead of being handled automatically by Discourse), you’d probably want to be much more specific than e*x*a*m*p*l*e*@gmail.com. Doing it that way could result in blocking innocent people, especially if the spammer’s email address is relatively short. Looking specifically for . and + would probably be much safer.

2 Me gusta

What is your levenshtein_distance_spammer_emails setting at, the default 2 or the max 3 ?

2 Me gusta

Thanks for the heads up about this setting levenshtein_distance_spammer_emails. I’ve never seen or modified it before - it’s at the default of 2.

3 Me gusta

I don’t understand your math. You can add only a single dot between characters, so each N-character address is good for only 2*n addresses. You could probably have a plugin that saved or compared against the dot-removed address and disallowed +addresses.

2 Me gusta

@pfaffman - I was just going off the figures given from Gmail Dot Trick Generator which is for every additional character above 2 the amount of addresses is doubled (it freezes at about 8k though).

I think 2*n, if I understand what you mean by this (as in a 26 character address would have 52 combinations?) would be too low. As they can add multiple dots throughout the address.
E.g:
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

Anyhow, whatever the exact figure is, it’s a lot. Yeah, your suggested solution would make sense!

1 me gusta

Yeah. I wasn’t doing the math right. I was allowing just one dot. I once almost knew that math, but didn’t this morning. :wink:

But a plugin that saved a shot and plus free version of the address as an additional address would do what you want and wouldn’t be that hard.

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.