Howto: ridurre lo spam utilizzando i filtri bayesiani SpamAssassin nel cPanel

introduzione

Sebbene questo articolo abbia lo scopo di dimostrare come addestrare e utilizzare i filtri bayesiani sui siti ospitati da cPanel, puoi utilizzare le informazioni in questa tecnica ovunque siano installati SpamAssassin e fetchmail.

Requisiti

  1. Host basato su cPanel
  2. SpamAssassin
  3. Accesso allo scheduler cron all'interno di cPanel
  4. Accesso al file manager all'interno di cPanel
  5. Fetchmail deve essere installato e utilizzabile sul tuo server ospitato

Pubblico

Questo articolo presuppone una conoscenza operativa di cPanel, modifica di file e protocolli di posta elettronica. È utile per chiunque desideri aumentare la precisione del rilevamento dello spam di SpamAssassin.

SpamAssassin

SpamAssassin ispeziona le e-mail che vengono inviate al tuo account e-mail alla ricerca di segni che l'email sia spam. Ha un numero di firme che cerca e ad ognuna di queste può essere assegnata una ponderazione, che si traduce in un messaggio di posta elettronica con un "punteggio" di spam. Se il punteggio supera una soglia, l'email è considerata spam. Esistono numerose azioni che possono essere intraprese se l'e-mail è designata come spam, una delle quali consiste nel modificare la riga dell'oggetto dell'e-mail in modo che rifletta che si tratta di spam in modo che sia possibile definire una regola nel client di posta per eliminare automaticamente il e-mail o spostalo in una cartella di posta indesiderata.

Filtri bayesiani

I filtri bayesiani sono un metodo che SpamAssassin può utilizzare per saperne di più sui tipi di email che ricevi e così possono migliorare la sua capacità di identificare quali email sono spam e quali no. Questo aiuta anche a ridurre il numero di falsi positivi, in cui un'e-mail viene contrassegnata come spam quando non avrebbe dovuto esserlo.

Questi filtri funzionano identificando gli elementi chiave dei messaggi di posta elettronica comuni allo spam e quelli comuni ai messaggi di posta elettronica non spam. Per ottenere ciò, è necessario fornire ai filtri un campione di entrambi da cui apprendere e richiedere almeno 200 e-mail di spam e 200 e-mail non spam. Sfortunatamente, per molti, ottenere 200 e-mail di spam è un compito banale.

Il set up

In questo articolo si presume che utilizzerai un indirizzo email separato per la formazione sullo spam. Questo può rendere le cose più facili da gestire, soprattutto se utilizzi POP3 come mezzo principale per scaricare la posta.

I passaggi di base sono i seguenti:

  1. Abilita e configura SpamAssassin
  2. Crea un account e-mail di spam con una cartella e-mail non spam
  3. Configura .fetchmailrc per consentire a SpamAssassin di scaricare le email
  4. Configura cron per addestrare automaticamente SpamAssassin
  5. Copia 200 e-mail di spam nella Posta in arrivo di Spam e 200 e-mail non di spam in una cartella non di spam

Abilita SpamAssassin

  1. Vai al menu Mail / SpamAssassin nel cPanel
  2. Fare clic su Abilita SpamAssassin. Ciò abiliterà SpamAssassin su qualsiasi email in arrivo. Nota che questo identificherà già accuratamente lo spam, tuttavia, il resto dell'articolo mostra come aumentare la precisione di SpamAssassin.
  3. Fare clic su Configura SpamAssassin
  4. Assicurati che la configurazione sia la seguente:

add_header: all

In questo modo vengono aggiunte le e-mail di intestazione che ti consentiranno di vedere perché un'e-mail è stata classificata come spam o non spam

report_safe: 0

Ciò apporta modifiche all'e-mail "in situ". Se preferisci che l'e-mail rimanga inalterata, imposta questa opzione su "1". Verrà creata una nuova e-mail con i dettagli dello spam nel contenuto, con l'e-mail originale inalterata come allegato

required_score: 5

SpamAssassin utilizza una serie di criteri per determinare se un'e-mail è uno spam e a ciascuna viene assegnato un punteggio. L'email sarà classificata come spam se il punteggio determinato è superiore a 5

rewrite_header subject: ** SPAM ** _HITS_ (_BAYES_)

Questo cambierà la riga dell'oggetto dell'email. La riga dell'oggetto dell'email sarà preceduta dalla riga sopra, con _HITS_ sostituito con il punteggio di spam per l'email e _BAYES_ sostituito con il punteggio bayesiano

punteggio BAYES_99: 5

Ciò afferma che qualsiasi e-mail con una valutazione del 99% o superiore come spam a causa dell'analisi bayesiana, aggiunge cinque punti "spam" al suo punteggio. Tieni presente che questo metterà il punteggio dell'e-mail sopra la soglia di 5 punti definita sopra e quindi contrassegna automaticamente l'e-mail come spam

Crea account spam

Questo indirizzo email verrà utilizzato per addestrare SpamAssassin; non è previsto che questo account venga utilizzato per inviare o ricevere normali messaggi di posta elettronica.

  1. Vai a Posta / Gestisci / Aggiungi / Rimuovi account
  2. Fare clic su Aggiungi account
  3. Crea un nuovo account con un nome appropriato, ad esempio spam@miodominio.com , e definisci una password. SpamAssassin svuoterà questo account regolarmente, quindi non è necessario definire una quota.
  4. Fai clic su Indietro e dovresti vedere un elenco di account di posta elettronica; fare clic su Leggi Webmail per l'account spam appena creato. Inserisci la password per l'account e verrai indirizzato alla pagina di selezione della webmail. Scegli il tuo client webmail preferito.
  5. Crea una nuova cartella chiamata "non spam".

Configura Fetchmail

SpamAssassin utilizza fetchmail per leggere le e-mail dall'account spam per addestrare i suoi filtri bayesiani.

  1. Vai a File Manager in cPanel
  2. Ti verrà presentato un elenco di cartelle, seguito da un elenco di file. In fondo all'elenco delle cartelle, fai clic su Crea nuovo file
  3. Sul lato destro, digita .fetchmailrc nella finestra di dialogo e lascia il tipo di documento come Documento di testo
  4. Il file .fetchmailrc dovrebbe apparire nell'elenco dei file nel pannello di sinistra. Fare clic sul nome del file e quindi selezionare Modifica file dal menu sul lato destro.
  5. Completa il file come segue, utilizzando il nome utente e la password che hai selezionato per il tuo account spam sopra:

poll 127.0.0.1

con protocollo IMAP

nome utente spam + password miodominio.com spampassword è spam

  1. Salva il file

Configura cron per addestrare automaticamente Spamassassin

Cron è un pianificatore di attività e quindi può eseguire attività in momenti specifici della giornata. Configureremo cron per eseguire il processo di formazione SpamAssassin per spam e non spam una volta al giorno.

  1. Passa ai lavori Cron in cPanel
  2. Fare clic su Avanzate
  3. Ogni volta che cron viene eseguito, può inviare un'e-mail a un amministratore per segnalare i risultati di ciascuna attività. Immettere un indirizzo e-mail appropriato nella casella fornita
  4. Per prima cosa vogliamo che SpamAssassin si formi per il non spam, quindi inserisci l'ora in cui desideri che questa attività venga eseguita inserendo i minuti dell'ora nella prima casella e l'ora nella seconda casella. Quindi, per fare in modo che l'attività di addestramento non spam venga eseguita all'1: 30, immettere 30 nella colonna dei minuti e 1 nella colonna delle ore. Il comando per eseguire l'attività di addestramento non spam è:

fetchmail -v -u spam + miodominio.com -a -n --folder nonspam 127.0.0.1 -m 'sa-learn --ham --siteconfigpath / usr / share / spamassassin'

  1. La voce successiva dirà a SpamAssassin di addestrarsi per lo spam. Immettere un'ora successiva nel campo dei minuti e delle ore, ad esempio 35 per un minuto e 1 per un'ora, per eseguire il comando all'1: 35. Il comando per addestrare lo spam è:

fetchmail -v -u spam + miodominio.com -a -n 127.0.0.1 -m 'sa-learn --spam --siteconfigpath / usr / share / spamassassin'

La schermata di cron dovrebbe essere simile alla seguente:

Fornisci email di formazione

Come notato prima, SpamAssassin richiede 200 e-mail spam e non spam prima di iniziare a utilizzare i filtri bayesiani nelle e-mail.

Per fornire le e-mail, devi prima accedere all'account di posta indesiderata nel tuo client di posta preferito. Segui le istruzioni per il tuo client di posta elettronica per accedere a un account di posta IMAP, utilizzando il nome account e la password che hai selezionato sopra. Dopo aver creato l'account e averlo eseguito, dovresti vedere le cartelle Posta in arrivo e non spam. Copia 200 email di spam nella posta in arrivo e 200 email non spam nella cartella non spam. La prossima volta che verrà pianificata l'esecuzione dei cron job, SpamAssassin creerà un database da quelle email che utilizzerà per determinare se eventuali email future sono spam.

Gestione continua

Qualsiasi messaggio di posta elettronica identificato come spam verrà contrassegnato come tale con SPAM nella riga dell'oggetto. Puoi utilizzare una regola o un filtro nel tuo client di posta per gestire automaticamente queste email, magari inserendole in una cartella il cui contenuto viene automaticamente cancellato dopo un periodo di tempo definito.

SpamAssassin migliora con il maggior numero di dati con cui deve lavorare, quindi di tanto in tanto si ottengono falsi positivi, in cui un'e-mail viene classificata come spam che non avrebbe dovuto esserlo. In tal caso, copia l'e-mail nella cartella non spam dell'account spam e SpamAssassin aggiornerà il suo database "non spam". Allo stesso modo, alcuni spam non verranno identificati e questi dovrebbero essere copiati nella posta in arrivo dell'account spam.

Risoluzione dei problemi

La maggior parte dei problemi che si possono incontrare utilizzando questo metodo per addestrare SpamAssassin possono essere diagnosticati esaminando l'e-mail ricevuta dal cron job. Di solito sono correlati al processo fetchmail eseguito tramite cron:

  1. Il file di configurazione globale di SpamAssassin non si trova in / usr / share / spamassassin. Verifica con il tuo provider di hosting la sua posizione
  2. Fetchmail non è installato. Chiedi al tuo provider di hosting se può essere installato.
  3. Le e-mail non hanno un punteggio di spam bayesiano. Questo di solito è perché SpamAssassin non ha ricevuto abbastanza email per costruire un profilo di ciò che è e non è spam. Verifica che la posta in arrivo e le cartelle non spam vengano svuotate ogni giorno e di aver fornito 200 campioni di ogni tipo di email
  • 0 Utenti hanno trovato utile questa risposta
Hai trovato utile questa risposta?

Articoli Correlati

Posso utilizzare email server esterni?

Nel pannello di controllo cPanel, l'opzione MX Entry Maintenance ("Modifica Mail Exchanger...

Come caricare il tuo sito Web sul nostro server?

Ci sono diversi modi per pubblicare il tuo sito web su internet a seconda che si pubblichi il...

Server error: 550 No such user here

  Ottengo il seguente errore durante l'invio di messaggi di posta elettronica. Server error:...

Posso visionare il mio sito prima che il DNS si sia propagato?

Hosting WindowsA tutti i siti web viene fornito un alias istantaneo basato sul dominio che ci...

Come inviare email utilizzando ASP e CDOSYS

Il seguente script ASP puo' essere utilizzato per inviare email utilizzando CDOSYS sui nostri...