androide

Installa e integra rspamd

Integra-E Configuration and Installation video series - EPISODE 4

Integra-E Configuration and Installation video series - EPISODE 4

Sommario:

Anonim

Questa è la terza parte della nostra installazione e configurazione di un server di posta. In questo tutorial esamineremo l'installazione e la configurazione del sistema di filtro antispam Rspamd e la sua integrazione nel nostro server di posta, creando record DNS DKIM e DMARC.

Puoi chiederti perché scegliamo di andare con Rspamd e non con Spamassassin. Rspamd è più attivamente mantenuto e scritto in C ed è molto più veloce di Spamassassin che è scritto in Perl. Un altro motivo è che Rspamd viene fornito con un modulo di firma DKIM, quindi non dovremo utilizzare un altro software per firmare le nostre e-mail in uscita.

Prerequisiti

Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.

Installa Redis

Redis verrà utilizzato come sistema di archiviazione e memorizzazione nella cache da Rspamd, per installarlo basta eseguire:

sudo apt install redis-server

Installa Nessun impegno

Unbound è un resolver DNS sicuro, validante, ricorsivo e di memorizzazione nella cache.

Lo scopo principale dell'installazione di questo servizio è ridurre il numero di richieste DNS esterne. Questo passaggio è facoltativo e può essere ignorato.

sudo apt update sudo apt install unbound

Le impostazioni Unbound predefinite dovrebbero essere sufficienti per la maggior parte dei server.

Per impostare non associato come risolutore DNS primario del server, eseguire i comandi seguenti:

sudo echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head sudo resolvconf -u Se non si utilizza resolvconf è necessario modificare manualmente il file /etc/resolv.conf .

Installa Rspamd

Installeremo l'ultima versione stabile di Rspamd dal suo repository ufficiale.

Inizia installando i pacchetti necessari:

sudo apt install software-properties-common lsb-release sudo apt install lsb-release wget

Aggiungi la chiave GPG del repository al tuo portachiavi di sorgenti apt usando il seguente comando wget:

wget -O- https://rspamd.com/apt-stable/gpg.key | sudo apt-key add -

Abilitare il repository Rspamd eseguendo:

echo "deb http://rspamd.com/apt-stable/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rspamd.list

Una volta abilitato il repository, aggiornare l'indice del pacchetto e installare Rspamd utilizzando i seguenti comandi:

sudo apt update sudo apt install rspamd

Configura Rspamd

Invece di modificare i file di configurazione stock creeremo nuovi file nella directory /etc/rspamd/local.d/local.d/ che sovrascriveranno l'impostazione predefinita.

Per impostazione predefinita, il normal worker Rspamd il lavoratore che esegue la scansione dei messaggi e-mail è in ascolto su tutte le interfacce sulla porta 11333. Creare il seguente file per configurare il normale lavoratore Rspamd in modo che ascolti solo l'interfaccia localhost:

/etc/rspamd/local.d/worker-normal.inc

bind_socket = "127.0.0.1:11333";

Il proxy worker ascolta sulla porta 11332 e supporta il protocollo milter. Per consentire a Postfix di comunicare con Rspamd è necessario abilitare la modalità Milter:

/etc/rspamd/local.d/worker-proxy.inc

bind_socket = "127.0.0.1:11332"; milter = yes; timeout = 120s; upstream "local" { default = yes; self_scan = yes; }

Successivamente è necessario impostare una password per il server controller worker che fornisce l'accesso all'interfaccia web di Rspamd. Per generare un'esecuzione di password crittografata:

rspamadm pw --encrypt -p P4ssvv0rD

L'output dovrebbe assomigliare a questo:

$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb Non dimenticare di cambiare la password ( P4ssvv0rD ) in qualcosa di più sicuro.

Copia la password dal tuo terminale e incollala nel file di configurazione:

/etc/rspamd/local.d/worker-controller.inc

password = "$2$khz7u8nxgggsfay3qta7ousbnmi1skew$zdat4nsm7nd3ctmiigx9kjyo837hcjodn1bob5jaxt7xpkieoctb";

Successivamente configureremo Nginx come proxy inverso per il server Web di controllo del lavoratore in modo da poter accedere all'interfaccia web di Rspamd.

Imposta Redis come backend per le statistiche Rspamd aggiungendo le seguenti righe al file classifier-bayes.conf :

/etc/rspamd/local.d/classifier-bayes.conf

servers = "127.0.0.1"; backend = "redis";

Apri il file milter_headers.conf e imposta le intestazioni del milter:

/etc/rspamd/local.d/milter_headers.conf

use =;

Puoi trovare ulteriori informazioni sulle intestazioni del mungitore qui.

Riavvia infine il servizio Rspamd per rendere effettive le modifiche:

sudo systemctl restart rspamd

Configura Nginx

Nella prima parte di questa serie, abbiamo creato un blocco server Nginx per l'istanza PostfixAdmin.

Apri il file di configurazione di Nginx e aggiungi la seguente direttiva sulla posizione, quella evidenziata in giallo:

/etc/nginx/sites-enabled/mail.linuxize.com.conf

… location /rspamd { proxy_pass http://127.0.0.1:11334/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }…

Ricarica il servizio Nginx per rendere effettive le modifiche:

sudo systemctl reload nginx

rspamadm pw su https://mail.linuxize.com/rspamd/ , inserisci la password precedentemente generata usando il comando rspamadm pw e ti verrà presentata l'interfaccia web Rspamd.

Configura Postfix

Dobbiamo configurare Postfix per usare il mungitore Rspamd.

Eseguire il comando seguente per aggiornare il file di configurazione principale di Postfix:

sudo postconf -e "milter_protocol = 6" sudo postconf -e "milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}" sudo postconf -e "milter_default_action = accept" sudo postconf -e "smtpd_milters = inet:127.0.0.1:11332" sudo postconf -e "non_smtpd_milters = inet:127.0.0.1:11332"

Riavvia il servizio Postfix per rendere effettive le modifiche:

sudo systemctl restart postfix

Configura Dovecot

Abbiamo già installato e configurato Dovecot nella seconda parte di questa serie e ora installeremo il modulo filtro sieve e integreremo Dovecot con Rspamd.

Inizia installando il modulo di filtraggio Dovecot:

sudo apt install dovecot-sieve dovecot-managesieved

Una volta installati i pacchetti, apri i seguenti file e modifica le linee evidenziate in giallo.

/etc/dovecot/conf.d/20-lmtp.conf

… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins sieve }… /etc/dovecot/conf.d/20-imap.conf

… protocol imap {… mail_plugins = $mail_plugins imap_quota imap_sieve… }… /etc/dovecot/conf.d/20-managesieve.conf

… service managesieve-login { inet_listener sieve { port = 4190 }… }… service managesieve { process_limit = 1024 }… /etc/dovecot/conf.d/90-sieve.conf

plugin {… # sieve = file:~/sieve;active=~/.dovecot.sieve sieve_plugins = sieve_imapsieve sieve_extprograms sieve_before = /var/mail/vmail/sieve/global/spam-global.sieve sieve = file:/var/mail/vmail/sieve/%d/%n/scripts;active=/var/mail/vmail/sieve/%d/%n/active-script.sieve imapsieve_mailbox1_name = Spam imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_before = file:/var/mail/vmail/sieve/global/report-spam.sieve imapsieve_mailbox2_name = * imapsieve_mailbox2_from = Spam imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_before = file:/var/mail/vmail/sieve/global/report-ham.sieve sieve_pipe_bin_dir = /usr/bin sieve_global_extensions = +vnd.dovecot.pipe…. }

Salva e chiudi i file.

Creare una directory per gli script del setaccio:

mkdir -p /var/mail/vmail/sieve/global

Crea un filtro setaccio globale per spostare le e-mail contrassegnate come spam nella directory Spam :

/var/mail/vmail/sieve/global/spam-global.sieve

require; if anyof(header:contains "YES", header:contains "Yes", header:contains "*** SPAM ***") { fileinto:create "Spam"; stop; }

I seguenti due setacci script verranno attivati ​​ogni volta che si sposta un'e-mail all'interno o all'esterno della directory Spam :

/var/mail/vmail/sieve/global/report-spam.sieve

require; pipe:copy "rspamc"; /var/mail/vmail/sieve/global/report-ham.sieve

require; pipe:copy "rspamc";

Riavvia il servizio Dovecot per rendere effettive le modifiche:

sudo systemctl restart dovecot

Compilare gli script del setaccio e impostare le autorizzazioni corrette:

sievec /var/mail/vmail/sieve/global/spam-global.sieve sievec /var/mail/vmail/sieve/global/report-spam.sieve sievec /var/mail/vmail/sieve/global/report-ham.sieve sudo chown -R vmail: /var/mail/vmail/sieve/

Crea chiavi DKIM

DomainKeys Identified Mail (DKIM) è un metodo di autenticazione e-mail che aggiunge una firma crittografica alle intestazioni dei messaggi in uscita. Consente al destinatario di verificare che un'e-mail che pretende di provenire da un dominio specifico sia stata effettivamente autorizzata dal proprietario di quel dominio. Lo scopo principale di questo è prevenire i messaggi di posta elettronica contraffatti.

Possiamo avere diverse chiavi DKIM per tutti i nostri domini e persino più chiavi per un singolo dominio, ma per semplicità di questo articolo useremo una singola chiave DKIM che in seguito potrà essere utilizzata per tutti i nuovi domini.

Creare una nuova directory per memorizzare la chiave DKIM e generare una nuova coppia di chiavi DKIM utilizzando l'utilità rspamadm :

sudo mkdir /var/lib/rspamd/dkim/ rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub sudo mkdir /var/lib/rspamd/dkim/ rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub rspamadm dkim_keygen -b 2048 -s mail -k /var/lib/rspamd/dkim/mail.key | sudo tee -a /var/lib/rspamd/dkim/mail.pub

Nell'esempio sopra stiamo usando la mail come selettore DKIM.

Ora dovresti avere due nuovi file nella directory /var/lib/rspamd/dkim/ , mail.key che è il nostro file di chiave privata e mail.pub un file che contiene la chiave pubblica DKIM. Aggiorneremo i nostri record di zona DNS in un secondo momento.

Imposta la proprietà e le autorizzazioni corrette:

sudo chown -R _rspamd: /var/lib/rspamd/dkim sudo chmod 440 /var/lib/rspamd/dkim/*

Ora dobbiamo dire a Rspamd dove cercare la chiave DKIM, il nome del selettore e l'ultima riga abiliteranno la firma DKIM per gli indirizzi mittente dell'alias. Per fare ciò, crea un nuovo file con i seguenti contenuti:

/etc/rspamd/local.d/dkim_signing.conf

selector = "mail"; path = "/var/lib/rspamd/dkim/$selector.key"; allow_username_mismatch = true;

Rspamd supporta anche la firma per le firme ARC (Authenticated Received Chain). Puoi trovare ulteriori informazioni sulla specifica ARC qui.

Rspamd utilizza il modulo DKIM per gestire le firme ARC in modo da poter semplicemente copiare la configurazione precedente:

sudo cp /etc/rspamd/local.d/dkim_signing.conf /etc/rspamd/local.d/arc.conf

Riavvia il servizio Rspamd per rendere effettive le modifiche:

sudo systemctl restart rspamd

Impostazioni DNS

Abbiamo già creato una coppia di chiavi DKIM e ora dobbiamo aggiornare la nostra zona DNS. La chiave pubblica DKIM è memorizzata nel file mail.pub . Il contenuto del file dovrebbe essere simile al seguente:

cat /var/lib/rspamd/dkim/mail.pub

mail._domainkey IN TXT ("v=DKIM1; k=rsa; " "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGaVuUZBmi4ZTg0O4yl" "nVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB");

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGaVuUZBmi4ZTg0O4ylnVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB

Creeremo anche un'autenticazione dei messaggi basata sul dominio ( DMARC ) progettata per comunicare al server ricevente se accettare o meno un'e-mail da un determinato mittente. Fondamentalmente proteggerà il tuo dominio dallo spoofing del dominio diretto e migliorerà la reputazione del tuo dominio.

implementeremo la seguente politica DMARC:

_dmarc IN TXT "v=DMARC1; p=none; adkim=r; aspf=r;"

Analizziamo il precedente record DMARC:

  • v=DMARC1 - Questo è l'identificatore DMARC p=none - Questo dice al destinatario cosa fare con i messaggi che non riescono DMARC. Nel nostro caso è impostato su none, il che significa che non intraprendere alcuna azione se un messaggio non riesce DMARC. Puoi anche usare 'rifiutare' o quarantine adkim=r e aspf=r - Allineamento DKIM e SPF , r per Relaxed e s per Strict, nel nostro caso stiamo usando Allineamento rilassato sia per DKIM che per SPF.

Come prima se si esegue il proprio server DNS Bind, è sufficiente copiare e incollare il record nel file della zona del dominio e, se si utilizza un altro provider DNS, è necessario creare un record TXT con _dmarc come nome e v=DMARC1; p=none; adkim=r; aspf=r; v=DMARC1; p=none; adkim=r; aspf=r; come valore / contenuto.

La propagazione delle modifiche DNS potrebbe richiedere del tempo. Puoi verificare se i record si sono propagati usando il comando dig:

dig mail._domainkey.linuxize.com TXT +short

"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqdBRCqYzshc4LmmkxUkCH/rcIpSe/QdNIVmBrgqZmZ5zzWQi7ShdFOH7V32/VM1VRk2pkjDV7tmfbwslsymsfxgGhVHbU0R3803uRfxAiT2mYu1hCc9351YpZF4WnrdoA3BT5juS3YUo5LsDxvZCxISnep8VqVSAZOmt8wFsZKBXiIjWuoI6XnWrzsAfoaeGa" "VuUZBmi4ZTg0O4ylnVlIz11McdZTRe1FlONOzO7ZkQFb7O6ogFdepWLsM9tYJ38TFPteqyO3XBjxHzp1AT0UvsPcauDoeHUXgqbxU7udG1t05f6ab5h/Kih+jisgHHF4ZFK3qRtawhWlA9DtS35DlwIDAQAB"

dig _dmarc.linuxize.com TXT +short

"v=DMARC1; p=none; adkim=r; aspf=r;"

Puoi anche controllare la politica DMARC corrente del tuo dominio o creare la tua politica DMARC qui.

Conclusione

Questo è tutto per questa parte del tutorial. Nella prossima parte di questa serie, continueremo con l'installazione e la configurazione di RoundCube.

mail server postfix dovecot dns rspamd

Questo post fa parte dell'installazione e della configurazione di una serie di server di posta.

Altri post di questa serie:

• Installa un server di posta con PostfixAdmin • Installa e configura Postfix e Dovecot • Installa e integra Rspamd • Installa e configura Roundcube Webmail