Quale file di Zimbra SpamAssassin devi modificare?
Per Zimbra Collaboration Suite 8.5 e versioni successive, la documentazione di Zimbra colloca le personalizzazioni locali di SpamAssassin in /opt/zimbra/data/spamassassin/localrules. Un file di regole con .cfestensione può risiedere in questa posizione; l'esempio di Zimbra utilizza un file separato per una regola personalizzata. Le versioni precedenti di Zimbra utilizzavano posizioni diverse, quindi verifica la versione e la directory sul tuo server prima di apportare modifiche. Anche la struttura del pacchetto corrente può variare a seconda della versione o dell'implementazione.
Questa guida aggiunge una piccola regola reversibile valida per tutto il sito, ne verifica la sintassi, ricarica il servizio di scansione della posta e controlla la consegna del messaggio. Presuppone che tu gestisca il server MTA Zimbra. Se utilizzi più server MTA, applica il file e ricarica SpamAssassin su ciascun server che si occupa della scansione della posta in arrivo.
La guida alle regole personalizzate di SpamAssassin di Zimbra documenta il percorso di localrules e il zmamavisdctl restartcomando. Le sue indicazioni antispam distinguono la vecchia configurazione di ZCS 8 da ZCS 8.5 e versioni successive.
Che cosa modifica una regola personalizzata?
Una regola di SpamAssassin rileva una caratteristica del messaggio, assegna un nome simbolico alla regola e contribuisce con un punteggio. SpamAssassin combina questo punteggio con altri risultati dei test. Zimbra applica quindi le soglie di gestione dello spam configurate. Una regola, di per sé, non garantisce che un messaggio venga spostato nella cartella Spam o rifiutato: il resto del punteggio del messaggio e le impostazioni del server sono determinanti.
Questa distinzione è importante quando si sceglie un punteggio. Iniziate con un valore modesto, verificate i falsi positivi e aumentatelo solo quando i test dimostrano che il segnale è affidabile. Evitate di copiare un punteggio elevato da un esempio senza prima aver verificato il vostro punteggio di spam richiesto e la soglia di scarto.
Prima di apportare qualsiasi modifica, cosa dovresti verificare?
- Versione e percorso: Verifica la tua versione di Zimbra e se il percorso
/opt/zimbra/data/spamassassin/localrulesesiste. Il percorso indicato in questa guida si applica a ZCS 8.5 e versioni successive, secondo la documentazione di Zimbra. Non dare per scontato che sia valido per le versioni precedenti.
- Quale host esegue la scansione della posta: Identifica ogni MTA che utilizza Amavis/SpamAssassin. Una regola installata su un server non viene automaticamente visualizzata su un altro MTA indipendente.
- Obiettivo della regola: scegliere un segnale di messaggio specifico e ripetibile. Evitare regole che corrispondono a parole generiche come "gratuito" o "offerta" senza ulteriori prove.
- Ripristino: Registra qualsiasi file esistente prima di modificarlo. Utilizza un nuovo nome file descrittivo per la nuova regola e non sovrascrivere
.cfaccidentalmente un file esistente.
Si tratta di personalizzazioni a livello di server, non di filtri per le caselle di posta. Tutti gli utenti la cui posta passa attraverso lo scanner configurato potrebbero essere interessati.
Come si scrive una regola semplice?
SpamAssassin supporta tipi di regole come header, body, uri, e meta. Una regola di intestazione è utile quando un oggetto o un valore di intestazione distintivo è il segnale. Una regola di corpo cerca il contenuto testuale del messaggio; la documentazione di SpamAssassin nota che le normali regole di corpo operano sul testo decodificato e trattano l'oggetto come parte del corpo per impostazione predefinita. Utilizzare una regola URI quando la condizione riguarda specificamente i link.
Ecco un esempio volutamente specifico che aggiunge un piccolo punteggio quando l'oggetto di un messaggio di prova contiene una frase univoca. Sostituisci la frase con un segnale che hai verificato nelle tue email; questo esempio non rappresenta una firma spam generica.
header LOCAL_SUBJECT_REVIEW Subject =~ /\bExample Vendor Alert\b/i
score LOCAL_SUBJECT_REVIEW 2.0
describe LOCAL_SUBJECT_REVIEW Subject contains the review phrase
Il nome simbolico deve essere univoco e utilizzare lettere, cifre e trattini bassi. La headerriga definisce la corrispondenza, scorecontrolla i punti aggiunti quando viene rilevata e describefornisce una spiegazione nel report di SpamAssassin. Mantieni la descrizione breve e spiega chiaramente a un altro amministratore il motivo dell'esistenza del test.
La documentazione di riferimento per la configurazione di SpamAssassin descrive la sintassi delle regole di intestazione e corpo, il comportamento del punteggio e i dettagli delle espressioni regolari. La versione di SpamAssassin installata su Zimbra potrebbe differire dalla documentazione più recente di Apache, pertanto si consiglia di evitare di utilizzare funzionalità delle regole più recenti finché non si verifica la compatibilità a livello locale.
Come si installa una regola su Zimbra 8.5 e versioni successive?
- Connettiti all'MTA con un account amministratore che possa passare all'account di servizio Zimbra.
- Verificare la directory di installazione e quella delle regole locali. Ad esempio:
su - zimbra
ls -ld /opt/zimbra/data/spamassassin/localrules
- Scegli un nome file che non esista già, ad esempio
local_subject_review.cf. Verifica prima:
ls -l /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
se esiste, esaminalo e seleziona un altro nome invece di sovrascriverlo.
- Crea il nuovo file come
zimbrautente con il tuo editor e aggiungi le tre righe di regola sopra:
vi /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
- Salva il file, quindi conferma il proprietario e il contenuto:
ls -l /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
cat /opt/zimbra/data/spamassassin/localrules/local_subject_review.cf
Se la directory non è presente, arrestare e verificare la versione di Zimbra e la relativa configurazione documentata. Non creare una directory con un nome simile in una posizione a caso; SpamAssassin potrebbe non caricarla.
Come si deve convalidare e ricaricare?
Eseguire il controllo della sintassi di SpamAssassin prima di ricaricare. La documentazione della riga di comando di Apache lo descrive --lintcome un controllo della sintassi di regole e configurazione. Come utente Zimbra, eseguire il comando spamassassin --lintse l'eseguibile è disponibile nell'ambiente Zimbra. Se il comando non viene trovato o non carica la configurazione di Zimbra, individuare l'eseguibile incluso e utilizzare il percorso di configurazione appropriato per la versione, anziché eseguire il test su un'installazione di sistema non correlata. Un risultato pulito del lint controlla la sintassi; non dimostra che il pattern corrisponderà ai messaggi previsti.
La documentazione di SpamAssassin spiega l'opzione lint. Una volta completata la convalida, riavvia Amavis come zimbrautente in modo che lo scanner carichi le regole modificate:
zmamavisdctl restart
L'esempio di regole personalizzate di Zimbra utilizza questo comando di servizio. In un'installazione multi-MTA, ripetere la distribuzione del file e il riavvio del servizio su ogni scanner interessato. Se la propria versione utilizza un comando di servizio diverso, fare riferimento alla documentazione di Zimbra relativa a tale versione.
Come si fa a capire se la regola funziona?
Invia un messaggio di prova controllato attraverso lo stesso percorso in entrata utilizzato dagli utenti. Usa esattamente la frase oggetto della regola per un messaggio, quindi invia un messaggio simile senza di essa. Esamina le intestazioni originali del messaggio consegnato, in particolare X-Spam-Status, per LOCAL_SUBJECT_REVIEWe il contributo al punteggio. Confronta i due messaggi e verifica dove Zimbra ha consegnato ciascuno di essi.
Il risultato è utile se la regola appare solo sul test previsto e il punteggio totale produce la gestione attesa. Se il nome del test non è presente, verificare che il messaggio abbia attraversato questo MTA, che il nome del file termini con .cf, che il file si trovi nella directory locale corretta, che lo scanner sia stato riavviato correttamente e che il campione corrisponda effettivamente all'espressione regolare. Ricordare che i client di posta elettronica potrebbero nascondere le intestazioni diagnostiche nella visualizzazione normale; aprire il codice sorgente del messaggio o le intestazioni complete.
Cosa succede se la regola crea falsi positivi o non trova una corrispondenza?
- Troppi messaggi legittimi corrispondono: abbassa il punteggio o restringi l'espressione regolare. Esegui dei test con esempi di email sia desiderate che indesiderate prima di aumentare il punteggio.
- Nessun messaggio corrisponde: verifica il nome esatto dell'intestazione, l'espressione regolare che non distingue tra maiuscole e minuscole, l'escape, l'estensione del file, il percorso e il riavvio del servizio. Per gli URL, valuta una
uriregola anziché presumere che una regola sul corpo sia il test migliore.
- Lint segnala un errore: correggi la riga indicata ed esegui nuovamente Lint prima di riavviarlo. Una regola personalizzata non corretta può causare problemi di configurazione o impedire il caricamento dei test previsti.
- La regola appare, ma l'email rimane nella Posta in arrivo: questo può essere normale se i punti aggiunti non portano il punteggio totale oltre la soglia di spam configurata. Rivedi il
X-Spam-Statuspunteggio completo e le soglie di gestione locali.
Per ripristinare la versione precedente, rimuovi solo il file personalizzato che hai aggiunto, quindi riavvia Amavis. Se hai modificato un file esistente, ripristina la copia salvata e convalida la configurazione prima di ricaricare. Conserva un breve registro delle modifiche con lo scopo della regola, il punteggio, i messaggi di test e il nome del file di ripristino, in modo che gli amministratori futuri possano rivalutarla.
Limiti di versione e di comportamento
Le linee guida pubblicate da Zimbra si riferiscono esplicitamente a ZCS 8.5 e versioni successive e documentano un layout diverso per le versioni precedenti. La versione esatta di SpamAssassin inclusa e le soglie sono specifiche dell'installazione. Una regola valida può anche comportarsi in modo diverso con formati di messaggio, relay e percorsi di flusso di posta differenti. Consultare la documentazione della versione installata, eseguire test su un percorso controllato e valutare i risultati in base alle intestazioni dei messaggi e a campioni reali di falsi positivi, piuttosto che basarsi esclusivamente sul testo della regola.