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.
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.
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.
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.
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.
@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!
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
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.
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.
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 ?.
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.
@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”.
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.
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.