Sarebbe utile se fosse possibile aggiungere indirizzi email bloccati con caratteri jolly. Ad esempio, quando uno spammer utilizza il trucco del punto di Gmail.
Sono tutti lo stesso indirizzo email; gli spammer possono utilizzare un unico indirizzo Gmail per creare facilmente account illimitati.
Bloccare un indirizzo con caratteri jolly come nel caso sottostante, credo, sarebbe una buona soluzione: e*x*a*m*p*l*e*@gmail.com
Non penso necessariamente che tutte le registrazioni che utilizzano queste varianti dell’indirizzo Gmail debbano essere bloccate, ma sarebbe utile che, se un indirizzo Gmail viene bloccato, tutte le sue varianti lo siano anch’esse, oppure che possiamo aggiungere manualmente un Gmail con carattere jolly alla blacklist degli indirizzi email.
Stai riscontrando un problema specifico reale o si tratta solo di una teoria? Se si tratta di un problema specifico, puoi condividere gli indirizzi email specifici degli spammer?
Sì, è un problema reale che sto riscontrando: gli spammer creano regolarmente decine di migliaia di account partendo da un singolo indirizzo Gmail, sfruttando il metodo del punto e una sufficiente riserva di indirizzi IP.
Ho visto finora solo l’uso del trucco del punto; non sono al 100% sicuro che funzioni anche il metodo del segno +. L’ultima volta che ho verificato, era possibile registrarsi con indirizzi email contenenti il carattere +, quindi anche quel trucco dovrebbe funzionare.
può generare 16.777.216 indirizzi email unici solo con il metodo del punto e, di fatto, un numero illimitato con il metodo del segno +. Questo lo rende estremamente efficiente per gli spammer. La blacklist del dominio non è una soluzione praticabile, dato che si tratta di Gmail.
Puoi vedere un generatore qui (diventa lento oltre le 8.000 combinazioni): Redirecting...
Se questo fosse stato effettivamente implementato con un approccio simile ai wildcard (invece di essere gestito automaticamente da Discourse), probabilmente vorresti essere molto più specifico di e*x*a*m*p*l*e*@gmail.com. Procedere in questo modo potrebbe portare a bloccare persone innocenti, specialmente se l’indirizzo email dello spammer è relativamente breve. Cercare specificamente . e + sarebbe probabilmente molto più sicuro.
Grazie per l’avviso su questa impostazione levenshtein_distance_spammer_emails. Non l’ho mai vista né modificata prima d’ora: è al valore predefinito di 2.
Non capisco la tua matematica. Puoi aggiungere solo un singolo punto tra i caratteri, quindi ogni indirizzo di N caratteri è valido solo per 2*n indirizzi. Potresti probabilmente avere un plugin che salvava o confrontava l’indirizzo senza punti e disabilitava gli indirizzi con il segno +.
@pfaffman - Mi basavo semplicemente sulle cifre fornite da Redirecting..., secondo cui per ogni carattere aggiuntivo oltre il secondo, il numero di indirizzi raddoppia (anche se si blocca intorno agli 8k).
Penso che 2*n, se ho capito correttamente cosa intendi (cioè che un indirizzo di 26 caratteri avrebbe 52 combinazioni?), sarebbe troppo basso. Possono infatti inserire più punti in tutto l’indirizzo.
Ad esempio: 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
Comunque sia, qual è il numero esatto, è comunque moltissimo. Sì, la soluzione che hai suggerito ha senso!
Sì. Non stavo facendo i calcoli correttamente. Stavo permettendo solo un punto. Una volta sapevo quasi quella matematica, ma non stamattina.
Ma un plugin che salvava un’immagine e aggiungeva la versione gratuita dell’indirizzo come indirizzo aggiuntivo farebbe ciò che desideri e non sarebbe così difficile.
Questa funzionalità sta funzionando molto bene, @sam
Penso che la precedente implementazione che hai creato possa essere ancora molto utile come ulteriore misura anti-spam: ha funzionato in modo incredibile per il breve periodo in cui era disponibile e attiva (disattivata di default).
In caso contrario, gli spammer possono ancora creare account in blocco utilizzando un unico indirizzo Gmail prima che un moderatore o un amministratore se ne accorga. Ad esempio, creando gli account ma senza pubblicare nulla immediatamente.
Gli amministratori/moderatori dovranno cercare e aprire manualmente ogni singolo account per bannarlo o eliminarlo. Questo può essere piuttosto laborioso, soprattutto quando uno spammer può creare centinaia o migliaia di account con un unico Gmail prima di essere bannato. Inoltre, la ricerca delle email è difficile, ad esempio tra j.ohan.2.1@gmail e jo.ha.n21@gmail.
Se non vengono individuati manualmente, gli spammer mantengono un vasto pool di account con cui giocare a “colpisci la talpa”, spendendo solo un account Gmail per ottenerli tutti.
@sam Solo per un aggiornamento dopo ulteriori test sul campo, credo che l’implementazione precedente che è stata annullata sia decisamente molto più efficace contro gli spammer motivati. Sto ancora ricevendo un numero significativo di registrazioni che utilizzano questi trucchi con Gmail permutati.
Sono molto grato che sia stata implementata la protezione attuale, che è molto efficace. Tuttavia, penso che sia un punto debole permettere la creazione di account illimitati utilizzando lo stesso indirizzo email finché non vengono specificamente individuati e bannati manualmente. Questo rappresenta un ulteriore carico per i moderatori (che non possono vedere gli indirizzi email degli account per impostazione predefinita, a meno che non sia abilitato, credo), specialmente in assenza di strumenti per la rimozione degli account in blocco (ad esempio, selezionare diversi account dall’elenco accounts/search con le caselle di controllo e bannarli/rimuoverli tutti). Ciò significa che un moderatore dovrà navigare manualmente verso ogni singolo account per rimuoverli/bannarli. Questo è particolarmente difficile quando si cercano account con indirizzi email permutati.
Visto che l’implementazione precedente era opzionale (disattivata per impostazione predefinita), è già stata sviluppata e ha funzionato come previsto, per poi essere rimossa. Sembra solo un peccato che non sia più disponibile per le comunità che vorrebbero utilizzarla per una protezione antispam aggiuntiva contro gli spammer motivati.
Per questo ho detto che certi caratteri devono essere completamente disabilitati negli indirizzi email (opzionalmente). Nello specifico, i caratteri che abilitano la sottogestione degli indirizzi, come il segno più, il punto, il trattino, ecc. Con un’espressione regolare è possibile bloccarli anche per singolo servizio, ad esempio: «non sono ammessi indirizzi email con il segno più che terminano con @gmail.com». cc @sam
L’implementazione precedente consentiva ancora l’uso di +addressing mantenendo comunque un solo indirizzo canonico per account (cosa che, a mio avviso, è probabilmente più sicura).
Quindi, ad esempio, potevi registrarti come sam+discourse-meta@gmail.com, il che è comodo per le regole interne di Gmail che hai impostato. Tuttavia, ciò avrebbe bloccato la creazione di nuovi account da sam@gmail.com o sam+1@gmail.com.
Non sono contrario all’aggiunta di una allowlist, ma ritengo che l’obbligo di utilizzare indirizzi canonici sia molto utile nel caso di Gmail e rappresenta una scelta predefinita ragionevole.
La sicurezza non è davvero l’obiettivo qui. Il sito in questione ha bisogno di una soluzione più estrema a causa dell’entità del problema che sta affrontando. Finché è opzionale (aggiungi la tua “regex di protezione email”), mi sembra perfettamente sicuro per i siti che ne hanno bisogno: possono attivare la Modalità Blocco Totale.
Tuttavia, ottenere la regex corretta è piuttosto fastidioso a causa di tutte le sequenze di escape necessarie. Mi preoccupa offrire opzioni del genere, perché le probabilità che le persone scrivano la regex correttamente e come previsto sono piuttosto basse. Devono ricordare di escapare i punti e i simboli più.
.*\+.*@gmail\.com
Potremmo, immagino, creare un modello semplificato non basato su regex che espanda semplicemente * e ?.
Se l’implementazione precedente venisse reintrodotta come opzione, credo che risolverebbe completamente il problema di Gmail. Almeno nel mio caso. A mio avviso è perfetta e aggiunge costi sufficienti agli spammer da rendere gestibile la lotta contro di loro. Farebbe davvero la differenza tra dover richiedere una moderazione intensiva a tempo pieno 24 ore su 24 e non doverlo fare.
Ho bloccato diversi domini che permettono comportamenti simili e faccio uso dell’elenco dei domini email consentiti. Il problema è che le persone possono creare molti account prima che uno di loro venga bannato/bloccato (il che attiva il blocco delle permutazioni di quell’indirizzo Gmail per nuovi account, ma gli account esistenti rimangono invariati). Questo rende il lavoro di moderazione molto oneroso e la pulizia di ciascun account successivo diventa tediosa.
Ad esempio, ho avuto un thread con circa 200 risposte, una per account, tutti creati con lo stesso indirizzo Gmail. Ci sono molti casi simili. Questi sono esempi in cui gli account sono facili da individuare, poiché cercarli tramite permutazioni dell’indirizzo Gmail originale è molto difficile come alternativa. Alcuni creano grandi quantità di account usando solo pochi indirizzi Gmail e non li utilizzano per pubblicare fino a mesi dopo.
Per quanto riguarda la soluzione basata su regex, bloccare il segno + sarebbe relativamente innocuo, mentre bloccare i punti (.) probabilmente impedirebbe l’uso di molti indirizzi email legittimi, ad esempio john.smith@gmail.com. Bloccare gli indirizzi con più di un punto causerebbe probabilmente danni collaterali minimi, anche se permetterebbe ancora diverse permutazioni di un indirizzo Gmail, ma molto meno rispetto a due o più punti.
A mio avviso, l’implementazione precedente è ideale e non irragionevole da implementare come protezione opzionale; i siti sociali più popolari non permettono la registrazione utilizzando diverse permutazioni di Gmail a causa dello sfruttamento massiccio da parte degli spammer.
@Sam, sono fermamente convinto che i siti dovrebbero poter implementare questo livello opzionale di blocco regex per le email, se ne hanno bisogno. Altrimenti andremmo contro uno dei principi fondamentali di Discourse, ovvero essere “sicuri per impostazione predefinita”.
Possiamo completare questo per la prossima release, ma resto comunque convinto della mia implementazione originale: la canonicalizzazione è la soluzione più amichevole per gli amministratori del sito; spunti una casella e, fatto, il problema è risolto. Con le espressioni regolari, devi invece imparare a usarle (quindi via 5 ore) e rischi di finire con una soluzione che lascia passare account spam, è ostile all’utente (niente punti, niente simboli +) o è un compromesso.
Detto questo, certo, possiamo inserire il supporto per le espressioni regolari nella prossima release.
Beh, è davvero semplice: basta dire “non sono consentiti indirizzi email con il simbolo + o il punto”. Ammettiamolo, è piuttosto restrittivo e ovviamente non vorremmo che fosse attivo di default. Ma è come la questione di Bamwar: ci saranno sempre abbastanza attori malintenzionati da costringerti ad avere il pulsante di lancio nucleare, anche se non hai intenzione di usarlo.
È come la guerra nucleare. Una volta che le bombe atomiche sono sul tavolo, le opzioni “user-friendly” non sono più possibili; devi solo sperare che nella maggior parte dei casi non ti capiti mai di dover arrivare a quel punto.