Torna al blog

Tutorial sulla configurazione del server di posta: come usare Postfix, Dovecot, MySQL e SpamAssassin

Tutorial sulla configurazione del server di posta: come usare Postfix, Dovecot, MySQL e SpamAssassin

Introduzione

Su Ubuntu 20.04, puoi utilizzare strumenti come Postfix, Dovecot, MySQL, e SpamAssassin per configurare un server di posta. Il processo può confondere chi ci prova per la prima volta. Questo tutorial mira a semplificare il processo di configurazione del server di posta con passaggi dettagliati. Al termine di questo tutorial, saprai come aggiungere domini virtuali, utenti e alias. Infine, renderai il tuo server virtuale più sicuro dagli hub di spam.

Prerequisiti

Prima di iniziare con la configurazione del server di posta, ci sono alcuni prerequisiti di cui occuparsi. Innanzitutto, assicurati che il tuo server privato virtuale abbia un dominio che reindirizza al tuo server. Devi anche installare e configurare MySQL. Inoltre, devi avere un utente con privilegi di root concessi e installare un certificato SSL. Infine, assicurati che il tuo FQDN  sia configurato e identificato.

Se installi i pacchetti come utente root, avrai tutti i privilegi. Ecco perché lo consigliamo:

Inserisci la password del tuo utente. A questo punto, vedrai il $ simbolo cambiare in #. Successivamente, esploriamo i diversi aspetti della configurazione uno per uno.

Passaggio 1: Installazione dei pacchetti

Inizieremo imparando come installare i pacchetti:

Quando appare la configurazione di Postfix, seleziona Sito Internet:

Mail Server postfix config

Ti verrà chiesto il nome e-mail del sistema. Qui puoi utilizzare il FQDN o il dominio principale:

postfix configuration 2

Passaggio 2: Creazione di un database MySQL, domini virtuali, utenti e alias

Successivamente, una volta installati tutti i pacchetti, procederemo con la configurazione. Il nostro obiettivo è configurare tre tabelle. Una sarà per i domini, una per gli utenti e una per gli alias. Queste saranno ospitate in un database MySQL che creeremo.

Supponiamo di voler chiamare il nostro database servermail. Sei libero di usare il nome che preferisci. Ecco come lo creeremo:

Devi accedere come utente root di MySQL:

Quindi, inserisci la tua password. Un tentativo andato a buon fine mostrerà questo come risultato:

Successivamente, creeremo un nuovo utente in particolare per l'autenticazione della posta. Concedi il permesso SELECT in questo modo:

Dopodiché, ricarica i tuoi privilegi MySQL per applicare correttamente i permessi:

Successivamente, useremo il nostro database per creare le tabelle e inserire i dati:

Creeremo tabelle individuali per i domini specifici che sono riconosciuti come domini autorizzati:

L'obiettivo è inserire gli utenti nella tabella. Pertanto, aggiungeremo l'indirizzo email e la password pertinenti. Tieni presente che devi associare ogni utente a un dominio:

Successivamente, creeremo una tabella per tutti i nostri alias virtuali per specificare tutte le email che inoltreremo all'altra email:

Al termine di questo processo, avrai creato con successo tre tabelle. Successivamente, dobbiamo inserire i dati.

  • Domini virtuali

In questa sezione, impareremo come inserire i domini all'interno della virtual_domains tabella. Nello specifico, ci concentreremo su come inserire il dominio primario (example.com) e l' FQDN (hostname.example.com):

  • Email virtuali

Successivamente, inserisci l'indirizzo email e le password associate per ciascuno dei domini. Assicurati che tutte le informazioni siano sostituite con le tue informazioni specifiche:

  • Alias virtuali

Ora puoi inserire l'indirizzo email a cui inoltrerai l'altro indirizzo email. Il primo è l'origine mentre il secondo è la destinazione:

Quindi, puoi uscire da MySQL:

Passo 3: Configurazione di Postfix

È importante configurare Postfix in modo che possa gestire le connessioni SMTP. Deve anche essere in grado di inviare i messaggi per tutti gli utenti inseriti nel database MySQL. Iniziamo creando una copia del file predefinito. Questo serve per poter ripristinare facilmente la configurazione predefinita se e quando necessario:

Ora apri il file main.cf per modificarlo:

Inizia commentando i parametri TLS e poi aggiungi gli altri parametri. Nel nostro esempio, stiamo utilizzando i certificati SSL gratuiti. Puoi, ovviamente, modificare la configurazione in base alle tue esigenze:

Successivamente, aggiungerai questi parametri sotto le impostazioni TLS:

Successivamente, dobbiamo commentare le mydestination impostazioni predefinite. Successivamente, lo sostituiremo con localhost. Con questa modifica, il VPS sarà in grado di utilizzare i domini virtuali nella tabella MySQL:

Ora usa questo comando per verificare che il parametro myhostname sia impostato nel tuo FQDN:

Inoltre, aggiungi questa riga per attivare la consegna della posta locale a tutti i domini virtuali elencati nella tabella:

Infine, aggiungeremo i seguenti parametri per indicare a Postfix di configurare i domini virtuali, gli utenti e gli alias:

Per assicurarti che non ci siano errori, confronta queste modifiche con il seguente file:

https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt

Una volta verificato tutto questo, creerai tre file da aggiungere nel file main.cf . L'obiettivo qui è fornire a Postfix le istruzioni su come connettersi con MySQL. Per fare questo, inizieremo creando il file mysql-virtual-mailbox-domains.cf . Naturalmente, nel tuo file, apporterai le modifiche in base alla tua configurazione personale:

Successivamente, riavvia Postfix:

Devi assicurarti che Postfix sia in grado di trovare il tuo dominio. Per testarlo, usa questo comando:

Il comando restituirà 1 se ha successo. In questo caso, puoi procedere creando il file mysql-virtual-mailbox-maps.cf :

Riavvia nuovamente Postfix:

Ancora una volta, ci assicureremo che Postfix sia in grado di trovare il primo indirizzo email. Per testarlo, usa il seguente comando:

Se ha successo, otterrai in risposta un output pari a 1. Pertanto, passeremo alla creazione dell'ultimo file:

Questo completa la configurazione tra Postfix e MySQL. Riavvia Postfix per applicare:

Per confermare che Postfix stia effettivamente trovando i tuoi alias, usa questo comando:

Idealmente dovresti ricevere come output l'email che viene inoltrata all'alias. Puoi anche modificare il /etc/postfix/master.cf file in questo modo se desideri connettere la porta 587 con i client di posta elettronica in modo sicuro:

Ecco come decommentare alcune righe e aggiungere parametri:

A volte, potrebbe essere necessario riavviare Postfix per confermare che la porta sia aperta:

Questo strumento può essere utilizzato anche per scansionare le porte del dominio. Puoi usarlo per verificare che le porte 25 e 587 siano aperte.

Passo 4: Configurazione di Dovecot

Ora è il momento di configurare Dovecot. Per questa sezione, dovremo copiare i 7 file che desideri modificare. Questo serve a garantire che tu possa ripristinarli se necessario. Inserisci questi comandi uno alla volta:

Devi modificare il file di configurazione di Dovecot:

Assicurati che l'opzione sia decommentata:

Successivamente, abiliteremo i protocolli sotto la riga !include_try /usr/share/dovecot/protocols.d/*.protocol . Se vuoi, puoi anche aggiungere pop3:

Per assicurarti che non ci siano errori, confrontalo con questo file:

https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt

Successivamente, modifica il file di configurazione della posta:

Individua la riga mail_location . Devi decommentarla e aggiungere questo parametro:

Dopodiché, individua la riga mail_privileged_group . Di nuovo, decommentala e aggiungi il parametro mail:

Per eliminare qualsiasi possibilità di errore, confrontalo con questo file:

https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt

  • Verifica dei permessi

Per verificare i permessi, usa questo comando:

Assicurati che i tuoi permessi appaiano come segue:

Puoi creare una cartella per ogni dominio. Tutte queste cartelle saranno registrate nella tabella MySQL:

Crea un utente e un gruppo vmail utilizzando un ID di 5000:

Successivamente, devi cambiare il proprietario della /var/mail cartella all'utente vmail:

Ora modifica il /etc/dovecot/conf.d/10-auth.conf file:

Aggiungi la seguente riga dopo aver decommentato l'autenticazione in testo normale:

Usa questo per modificare il auth_mechanisms parametro:

Ora commenta questa riga:

Per abilitare l'autorizzazione MySQL, devi decommentare la seguente riga:

Per rilevare e correggere gli errori, usa il seguente file:

https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt

La creazione di un /etc/dovecot/dovecot-sql.conf.ext file con le tue informazioni ti consentirà di autenticarti:

Inserisci questo codice nel file:

Useremo le nostre informazioni MySQL personalizzate per modificare il /etc/dovecot/dovecot-sql.conf.ext file:

Imposta MySQL come parametro dopo aver decommentato il parametro driver in questo modo:

Puoi inserire le tue informazioni specifiche di MySQL decommentando la riga connect :

Ora devi decommentare la riga default_pass_scheme e modificarla in SHA-512:

Aggiungi le seguenti informazioni dopo aver decommentato password_query:

Per rilevare errori, usa questo file per fare un confronto:

https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt

Successivamente, puoi cambiare il proprietario e il gruppo della cartella dovecot all'utente vmail:

Il passo successivo consiste nel modificare il /etc/dovecot/conf.d/10-master.conf file. Devi prestare molta attenzione qui poiché verranno modificati diversi parametri:

Usa il seguente codice per cambiare il parametro unix_listener in service_auth:

Successivamente, devi modificare service auth-worker in questo modo:

Rileva gli errori confrontandoli con questo file:

https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt

Il passo successivo consiste nel modificare il file di configurazione SSL di Dovecot. Se hai intenzione di utilizzare la configurazione predefinita, puoi saltare questo passaggio e passare alla sezione successiva:

Successivamente, modifica il parametro ssl su required in questo modo:

Modificheremo anche il percorso sia per ssl_cert che per ssl_key:

Riavvia Dovecot:

Assicurati di controllare che la porta 993 sia aperta. Se hai abilitato pop3, controlla anche la porta 995:

Se hai completato i passaggi fino a questo punto, congratulazioni! Hai configurato con successo il tuo server di posta. Per assicurarti di aver eseguito correttamente tutti i passaggi, puoi testare il tuo account con l'aiuto di un client di posta elettronica in questo modo:

La porta 993 viene utilizzata per l'IMAP sicuro e la porta 587/porta 25 per l'SMTP.

Passo 5: Configurazione di SpamAssassin

Siamo finalmente arrivati all'ultima sezione del tutorial in cui configureremo SpamAssassin. Inizieremo installando SpamAssassin:

Crea un utente per SpamAssassin in questo modo:

Devi aprire e modificare le impostazioni di configurazione per poter configurare SpamAssassin:

Ora che sei qui, devi modificare il parametro ENABLED per abilitare il demone SpamAssassin:

Modifica i parametri home e options con questo codice:

Usa questa riga per specificare il parametro PID_File:

Successivamente, usa questo comando per indicare che le regole di SpamAssassin verranno aggiornate automaticamente:

Verifica la presenza di errori confrontando con il seguente documento:

https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt

Se desideri impostare le regole anti-spam, devi aprire nuovamente il file /etc/spamassassin/local.cf:

Il funzionamento di SpamAssassin consiste nell'assegnare un punteggio a ogni email ricevuta dall'utente. Valuta i punteggi delle email e, se superano il valore di 5.0 nel controllo dello spam, l'email viene contrassegnata come spam. Ecco i parametri che puoi utilizzare per configurare queste regole anti-spam:

Once the anti-spam rules are set, you need to tell Postfix that each email is to be checked with SpamAssassin. For this purpose, we need to modify the /etc/postfix/master.cf file:

Find the following line and add the spamassassin filtro:

Now you can append these parameters:

Finally, start SpamAssassin and restart Postfix to apply the changes. When you relaunch, Postfix will start to verify spam from emails:

Ed ecco fatto! Hai configurato con successo il tuo server di posta con Postfix e Dovecot. Hai anche eseguito l'autenticazione MySQL e impostato il filtraggio dello spam con SpamAssassin.

Conclusione

Questo tutorial illustra i passaggi da seguire per configurare il server di posta con gli strumenti sopra menzionati. Può essere utilizzato come guida completa per configurare il server di posta in modo indipendente. Se sei interessato a utilizzare la funzionalità del server SMTP di Google, segui questo tutorial.

Buon computing!

author

Pranay Kapgate

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.