Postfix è uno dei server di posta più popolari e affidabili disponibili per sistemi operativi Unix e Linux. È noto per la sua sicurezza, efficienza e facilità di configurazione. Questa guida ti guiderà attraverso i passaggi per installare e configurare Postfix per l’invio e la ricezione di email.

Prerequisiti

  • Server con sistema operativo Linux (Debian, Ubuntu, CentOS, etc.)
  • Accesso root o privilegi sudo
  • Nome di dominio registrato
  • Record DNS configurati per il dominio (A, MX, SPF)

Passaggi per l’Installazione e la Configurazione di Postfix

1. Installazione di Postfix

Prima di tutto, aggiorna i pacchetti del tuo sistema.

Per Debian/Ubuntu:

sudo apt update
sudo apt upgrade

Per CentOS:

sudo yum update

Installa Postfix utilizzando il gestore di pacchetti del tuo sistema.
Per Debian/Ubuntu:

sudo apt install postfix

Per CentOS:

sudo yum install postfix

2. Configurazione di Base

Durante l’installazione, ti verrà chiesto di configurare Postfix. Segui questi passaggi:

  1. Postfix Configuration: Scegli “Internet Site”.
  2. System Mail Name: Inserisci il tuo nome di dominio (es.
    example.com

    ).

Se non viene richiesto durante l’installazione, puoi configurarlo manualmente modificando il file di configurazione principale di Postfix.

3. Configurare Postfix

Apri il file di configurazione principale di Postfix.

sudo nano /etc/postfix/main.cf

Modifica o aggiungi le seguenti linee per configurare Postfix:

Impostazioni di Base:

myhostname = mail.example.com mydomain = example.com myorigin = <span class="hljs-variable">$mydomain</span> inet_interfaces = all inet_protocols = all mydestination = <span class="hljs-variable">$myhostname</span>, localhost.<span class="hljs-variable">$mydomain</span>, localhost, <span class="hljs-variable">$mydomain</span>

Rete di Invio:

relayhost =

Sicurezza e Restrizioni:

smtpd_banner = <span class="hljs-variable">$myhostname</span> ESMTP <span class="hljs-variable">$mail_name</span> (Ubuntu) biff = no append_dot_mydomain = no readme_directory = no smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname, permit smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain, permit smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination smtpd_client_restrictions = permit_mynetworks, reject_rbl_client zen.spamhaus.org
  1. SPF, DKIM e DMARC: Configura SPF, DKIM e DMARC per migliorare la sicurezza e l’affidabilità delle email. Installa i pacchetti necessari e aggiungi i record DNS appropriati.
  2. Mailbox Size Limit:
mailbox_size_limit = 0

SMTP Authentication:

smtpd_sasl_auth_enable = <span class="hljs-built_in">yes</span> smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = <span class="hljs-variable">$mydomain</span> smtpd_sasl_authenticated_header = <span class="hljs-built_in">yes</span> broken_sasl_auth_clients = <span class="hljs-built_in">yes</span> smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

TLS/SSL:

smtp_use_tls = <span class="hljs-built_in">yes</span> smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls = <span class="hljs-built_in">yes</span> smtpd_tls_session_cache_database = btree:<span class="hljs-variable">${data_directory}</span>/smtpd_scache smtp_tls_session_cache_database = btree:<span class="hljs-variable">${data_directory}</span>/smtp_scache

Salva e chiudi il file (

Ctrl+O

,

Invio

,

Ctrl+X

).

4. Configurare il Firewall

Assicurati che il firewall del tuo server permetta il traffico sulle porte SMTP (25, 587 e 465 per SMTPS).

Per Debian/Ubuntu con UFW:

sudo ufw allow 25/tcp
(medesimo comando per le porte 587 e 465)
sudo ufw reload

Per CentOS con firewall-cmd:

sudo firewall-cmd --permanent --add-port=25/tcp
(medesimo comando per le porte 587/465)
sudo firewall-cmd --reload

5. Creare Utenti Email

sudo adduser nomeutente
sudo passwd nomeutente

Puoi creare utenti email aggiungendo nuovi utenti al sistema operativo.

6. Riavviare Postfix

Dopo aver modificato il file di configurazione, riavvia Postfix per applicare le modifiche.

sudo systemctl restart postfix

7. Testare la Configurazione

Puoi testare l’invio di email utilizzando il comando

mail

o

sendmail

. Assicurati di avere installato il pacchetto

mailutils

.

Per Debian/Ubuntu:

sudo apt install mailutils

Per CentOS:

sudo yum install mailx

Invia un’email di test:

<span class="hljs-built_in">echo</span> <span class="hljs-string">"This is a test email."</span> | mail -s <span class="hljs-string">"Test Email"</span> indirizzo@example.com

8. Monitorare i Log

Controlla i log di POSTFIX per eventuali errori:

sudo <span class="hljs-built_in">tail</span> -f /var/log/mail.log

Configurazioni Aggiuntive

Configurare SPF, DKIM e DMARC

SPF:

    Aggiungi un record SPF al tuo DNS per specificare quali server sono autorizzati a inviare email per il tuo dominio.
example.com. IN TXT <span class="hljs-string">"v=spf1 mx -all"</span>

DKIM: Installa e configura OpenDKIM per firmare le email in uscita.

Per Debian/Ubuntu:

sudo yum install opendkim opendkim-tools

Per CentOS:

sudo apt install opendkim opendkim-tools

Configura OpenDKIM modificando

/etc/opendkim.conf

e aggiungi il record DKIM al DNS.

 

DMARC:

Aggiungi un record DMARC al tuo DNS per specificare come gestire le email che falliscono l’autenticazione SPF o DKIM.

_dmarc.example.com. IN TXT <span class="hljs-string">"v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"</span>

Conclusione

La configurazione di Postfix può sembrare complessa, ma seguendo questi passaggi potrai impostare un server di posta sicuro ed efficiente. Assicurati di mantenere aggiornato il tuo server e di monitorare regolarmente i log per rilevare e risolvere eventuali problemi. Buona amministrazione del server!

Se hai bisogno di aiuto o informazioni:

Prodotti e Servizi