Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Configurazione di Postfix

Configurare e comprendere Postfix, principale server di posta utilizzato su Ubuntu Server, per gestire più indirizzi mail, alias e molto altro.
Configurare e comprendere Postfix, principale server di posta utilizzato su Ubuntu Server, per gestire più indirizzi mail, alias e molto altro.
Link copiato negli appunti

Parte della configurazione del server Postfix viene effettuata direttamente in fase di installazione, come illustrato nella lezione precedente. Qualora si volessero cambiare le impostazioni effettuate durante l'installazione prima di procedere, è possibile richiamare nuovamente gli script di configurazione dei pacchetti, usando il comando dpkg-reconfigure:

# dpkg-reconfigure postfix

Lo script precedente mostrerà la stessa interfaccia vista in fase di installazione, dalla quale sarà possibile impostare il dominio principale del server di posta, il nome di un eventuale server smarthost, etc.

Formato della casella

Un altro importante passo nella configurazione del server Postfix è la scelta del formato di memorizzazione delle caselle di posta. Postfix supporta due formati: Mbox e Maildir.

Mbox è il più vecchio tra i due ed ha una struttura piuttosto semplice: la casella di posta è essenzialmente un file di testo, ed i messaggi sono memorizzati in questo file uno dopo l'altro, separati da opportuni tag. Questo formato risulta essere poco efficiente nel gestire caselle di posta con un numero elevato di messaggi. Ad esempio, la cancellazione di un messaggio richiede l'aggiornamento dell'intero file della casella. Inoltre, non è possibile effettuare più operazioni contemporaneamente (ad esempio, l'utente potrebbe voler cancellare un messaggio ed allo stesso tempo il server potrebbe dover aggiungere un nuovo messaggio in coda). Quest'ultima limitazione impone la presenza di un meccanismo di blocco a livello di file noto come Filesystem Locking, che impedisca a più processi di effettuare delle operazioni sullo stesso file in contemporanea.

Il più recente formato Maildir è stato concepito per superare le limitazioni di Mbox. Usando Maildir, la singola casella di posta è essenzialmente una directory. I messaggi sono singoli file contenuti al suo interno. Questo permette accessi contemporanei e garantisce una maggiore flessibilità. Ad esempio, un utente può cancellare un vecchio messaggio (e quindi un file nella casella), mentre il server salva un messaggio appena ricevuto su un nuovo file. Le due operazioni possono essere effettuate contemporaneamente senza alcun rischio per l'integrità dei dati. Inoltre, il formato è facilmente espandibile, semplicemente aggiungendo altri file.

Per configurare Postfix affinché utilizzi Maildir, è sufficiente utilizzare il comando postconf, come mostrato nell'esempio di seguito:

# postconf -e 'home_mailbox = Maildir/'

Si consiglia inoltre di disattivare Mbox, con il comando:

# postconf -e 'mailbox_command ='

Ogni utente del sistema disporrà così di una directory Maildir, posta all'interno della propria home directory. Ad esempio, i messaggi indirizzati all'utente user1 saranno archiviati in /home/user1/Maildir.

Indirizzi virtuali

A questo punto della configurazione, ogni utente del sistema dispone di un indirizzo di posta elettronica nella forma nome_utente@nome_host_server. Spesso è utile definire degli indirizzi virtuali o alias, il cui scopo è quello di inoltrare automaticamente i messaggi ad essi destinati ad uno o più utenti.

Ad esempio, si pensi al caso di un'azienda, con dominio azienda.com e due impiegati: Pippo e Pluto. L'azienda assegna ad ogni dipendente una propria casella di posta, quindi sul server esistono gli indirizzi pippo@azienda.com e pluto@azienda.com.

Si supponga di dover creare l'indirizzo generico info@azienda.com. Sia Pippo che Pluto devono poter leggere i messaggi indirizzati ad info@azienda.com per effettuare il loro lavoro. Una possibile soluzione al problema consiste nel creare l'utente info sul sistema (così da creare la casella info@azienda.com) e fornire la password di accesso sia a Pippo che a Pluto. Tuttavia questa soluzione non è molto efficiente. Ad esempio, se Pippo legge un messaggio prima di Pluto, questo verrà marcato come già letto e quindi Pluto potrebbe non accorgersi che si tratta di un nuovo messaggio.

In casi come questo, un alias è la scelta migliore. Creando l'alias info@azienda.com si può configurare il server affinché inoltri i messaggi indirizzati ad info@azienda.com direttamente a pippo@azienda.com e pluto@azienda.com. Entrambi riceveranno il messaggio nella propria casella, senza creare conflitti.

Postfix gestisce gli alias con un semplice file di testo, in cui ogni riga è una regola di inoltro. Per prima cosa, bisogna indicare il percorso del file con l'elenco degli alias, con il comando:

# postconf -e 'virtual_alias_maps = hash:/etc/postfix/virtual'

Quindi procedere con la modifica del file /etc/postfix/virtual per impostare gli alias richiesti:

# nano /etc/postfix/virtual

Per creare l'alias info, come nell'esempio di cui sopra, basterà aggiungere le righe:

info@azienda.com pippo
info@azienda.com pluto

Quindi salvare il file in nano, ed applicare le modifiche con il comando postmap:

# postmap /etc/postfix/virtual

Infine, riavviare il server Postfix, con il comando:

# systemctl restart postfix

Configurazione del firewall

Potrebbe essere necessario riconfigurare il firewall per permettere a Postfix di ricevere connessioni in ingresso. Per effettuare questa modifica in ambiente Ubuntu, è sufficiente digitare il comando:

# ufw allow Postfix

Abilitare MSA

Al fine di combattere lo spam, la maggior parte degli ISP (Internet Service Provider) blocca il traffico sulla porta TCP 25, usata di default da SMTP, in favore della 587, usata invece da MSA (Message submission agent), un protocollo compatibile con SMTP ma che impone autenticazione dei messaggi in ingresso.

Per abilitare MSA ed impostare Postfix per l'utilizzo della porta 587 invece della 25, bisogna modificare il file /etc/postfix/master.cf rimuovendo il commento (il simbolo # all'inizio) alla riga "submission", come mostrato di seguito:

submission inet n      -       y       -       -       smtpd

Per applicare le modifiche, riavviare il server postfix, con il comando:

# systemctl restart postfix

Ti consigliamo anche