25/07/2014
enit

Configurare Postfix + Antispam come MX backup

Configurare Postfix + Antispam come MX backup

In un’architettura mail-server, dovrebbe essere sempre presente il servizio MX backup per motivi di ridondanza e per evitare che le email vengano ritornate con un errore mentre il mail-server è offline.

Il principio di funzionamento è molto semplice: quando il mail-server primario è offline (failure o manutenzione), le email vengono raccolte e conservate dall’MX backup che le trattiene fino a quando il server primario ritorna nuovamente online.

Configurare Postfix + Antispam come MX backup

 

Configurazione DNS

Per poter funzionare correttamente, il sistema richiede l’aggiunta di un secondo record MX nel DNS con una priorità più bassa in modo da instradare le email all’MX backup solo nel caso il mail-server è offline.

Inoltre devono essere configurati correttamente anche gli IP pubblici dei mail-server associati.

Configurare Postfix + Antispam come MX backup

 

Installazione dei package richiesti

Per utilizzare il comando yum per effettuare l’installazione di tutti i package richiesti, aggiungere al sistema il repository RPMforge.

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm
# rpm -Uvh rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm

Configurare Postfix + Antispam come MX backup

Oltre a Postfix, l’installazione prevede dei package aggiuntivi per proteggere il server dallo spamming: ClamAV, Spamassassin e Amavisd-new.

# yum install postfix spamassassin clamd clamav-db amavisd-new

Configurare Postfix + Antispam come MX backup

Poichè lo scopo è di utilizzare solo Postfix, se nel sistema sono presenti altri package (Sendmail ad esempio) è necessario configurare correttamente l’MTA tramite il comando alternatives selezionando l’opzione desiderata.

# alternatives –config mta

Configurare Postfix + Antispam come MX backup

Poichè nell’esempio è installato il solo package Postfix, il numero da digitare è 1.

Se nel sistema è presente anche Sendmail, rimuoverlo tramite il comando yum.

# yum remove sendmail

 

Configurazione ClamAV

Editare il file /etc/clamd.conf e verificare che la comunicazione tra Amavisd-new -> ClamAV avvenga tramite il local UNIX socket e non tramite TCP socket.

# vi /etc/clamd.conf

Configurare Postfix + Antispam come MX backup

Abilitare ClamAV rimuovendo il commento #.

Configurare Postfix + Antispam come MX backup

 

Configurazione Amavisd-new

Editare il file di configurazione /etc/amavisd.conf ed impostare i vari parametri con i valori che rispecchiano la propria rete.

# vi /etc/amavisd.conf

Configurare Postfix + Antispam come MX backup

 

Configurazione Postfix

Editare il file /etc/postfix/master.cf ed aggiungere le seguenti linee:

# vi /etc/postfix/master.cf

Configurare Postfix + Antispam come MX backup

Editare il file /etc/postfix/main.cf .

# vi /etc/postfix/main.cf

Aggiungere le righe:

Configurare Postfix + Antispam come MX backup

Modificare i parametri di configurazione inserendo i valori appropriati alla rete in uso.

Configurare Postfix + Antispam come MX backup

Se il parametro relay_recipient_maps è lasciato vuoto, tutte le email sono processate dall’MX backup senza verificare se i recipient destinatari sono presenti nel mail-server con il rischio di conservare tantissime email “junk”. Creando invece il file /etc/postfix/relay_recipients inserendo gli account esistenti il problema si risolve. Naturalmente in un ambiente dinamico con centinaia di mailbox questa soluzione non è probabilmente molto pratica.

# vi /etc/postfix/ relay_recipients

Abilitare i servizi installati per essere avviati durante il boot del sistema.

# chkconfig postfix on
# chkconfig amavisd on
# chkconfig clamd on
# chkconfig spamassassin on

Configurare Postfix + Antispam come MX backup

Avviare i servizi effettuando il restart nella sequenza illustrata.

# service spamd restart
# service clamd restart
# service amavisd restart
# service postfix restart

Configurare Postfix + Antispam come MX backup

Se compare la notifica di warning relativa al database di ClamAV, l’aggiornamento manuale della signature viene effettuata tramite il comando:

# /usr/bin/freshclam

Configurare Postfix + Antispam come MX backup

La signature viene aggiornata all’ultima release disponibile.

Configurare Postfix + Antispam come MX backup

 

Test del sistema

Terminata la configurazione non rimane che testare la funzionalità del sistema verificando se le email sono processate correttamente.

Tramite il comando telnet, verificare se il servizio Amavisd risponde sulla porta 127.0.0.1:10024.

# telnet localhost 10024

Configurare Postfix + Antispam come MX backup

Testare successivamente Postfix smtpd per verificare la risposta sulla porta 127.0.0.1:10025.

# telnet localhost 10025

Configurare Postfix + Antispam come MX backup

Tramite un altro computer, connettersi in telnet all’MX backup configurato. Le parti evidenziate sono le varie istruzioni da digitare.

# telnet mail2.nolabnoparty.com 25

Configurare Postfix + Antispam come MX backup

Se il messaggio email viene recapitato, il sistema funziona correttamente.

Configurare Postfix + Antispam come MX backup

Per effettuare un test simulando uno scenario reale, mettere offline il mail-server e provare ad inviare alcuni messaggi email tramite un qualunque client di posta esterno alla rete.

Configurare Postfix + Antispam come MX backup

Effettuare l’analisi del log di Postfix per verificare se l’MX backup sta processando i messaggi.

# tail -f /var/log/maillog

Configurare Postfix + Antispam come MX backup

Per verificare quali messaggi sono effettivamente nella coda dell’MX backup, il comando mailq visualizza i messaggi processati.

# mailq

Configurare Postfix + Antispam come MX backup

Il sistema periodicamente effettua l’operazione di flush delle email in coda in base al valore specificato nel file /etc/postfix/master.cf (default 1000 secondi).

# vi /etc/postfix/mastercf

Configurare Postfix + Antispam come MX backup

Senza attendere la normale schedulazione, è possibile effettuare un flush manuale tramite il comando postqueue verificando con mailq lo stato della coda.

# postqueue -f
# mailq

Configurare Postfix + Antispam come MX backup

Rilasciati i messaggi dall’MX backup, se tutto funziona come ci si aspetta, le email vengono recapitate al client di posta.

Configurare Postfix + Antispam come MX backup

Poichè i costi per avere delle risorse nel cloud potrebbero risultare eccessivi per questo tipo di soluzione, nel mercato sono presenti alcuni provider che offrono a prezzi contenuti il servizio MX backup.

Implementando questa soluzione nessuna email verrà persa in caso di failure del mail-server e le attività di manutenzione possono essere effettuate con una relativa calma.

Configurare Postfix + Antispam come MX backup

 

Configurare Postfix + Antispam come MX backup

About Paolo Valsecchi

Sistemista Informatico | Mi occupo principalmente dell’implementazione e della gestione di servizi informatici basati su piattaforma virtuale VMware vSphere con sistemi Microsoft Windows/Active Directory e Linux (Red Hat, CentOS).

9 commenti

  1. Tasslehoff Burrfoot

    Articolo utilissimo come sempre, ho un paio di domande che vorrei farti:
    - nel caso il proprio server faccia da MX per più domini è sufficiente indicare nei parametri ‘mydomain’ di postfix e di amavis l’elenco dei domini, oltre a ovviamente l’elenco dei destinatari nel file relay_recipients?
    - per quanto riguarda l’antispam non è necessario fare alcuna attività di aggiornamento delle eventuali blacklist o particolari attività di configurazione o manutenzione?

    Grazie

    • Nel caso di più domini bisogna editare il file /etc/postfix/main.cf e modificare il parametro relay_domains come nell’esempio:

      relay_domains = domain1.com, domain2.com, $mydestination

      Nel caso dell’antispam, quando si effettua l’installazione viene creato un cron job per l’aggiornamento periodico.

  2. Ciao,
    complimenti per l’ennesima guida davvero ben fatta. Una sola domanda, perche postfix rimane in ascolto sulla porta 10025?? e poi piu avanti nella guida fai un telnet sulla 25?

    • Nell’MX backup Postfix rimane in ascolto sulla porta 10025 poichè è da quella porta che riceve i messaggi da Amavisd-new.

      Per connetterti da un altro computer al server MX Backup per testare l’invio delle email, effettui una connessione SMTP che utilizza appunto la porta 25.

      • Ma quindi è amavisd-new che rimane in ascolto sulla 25 che poi manda a postfix sulla 10025?
        Seguendo la guida pari passo alla fine se faccio telnet localhost funziona ma se eseguo telnet con l’ip non va, sai dirmi cosa puo essere?

  3. Enrico Maria Chellini

    ciao, ho un problema, quando l’utente ha la quota della maildir piena, i messaggi vengono persi e non ritornano al mittente messaggi di errore. ho una centos6.4 postfix, dovecot, amavisd, clamd, spamassasin, procmail . sai darmi una dritta di dove guardare?

    grazie
    enrico

  4. Buongiorno,
    nel caso in cui debba installare postfix con ssl? come bisogna procedere?
    il problema si presenta quando invio le mail per esempio ad un indirizzo gmail che vengono messe nello spam.
    Grazie

Inserisci un commento

Il tuo indirizzo email non sarà pubblicato. Required fields are marked *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">