Nota:
- Questa esercitazione è disponibile in un ambiente di laboratorio gratuito fornito da Oracle.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti Oracle Cloud Infrastructure. Al termine del laboratorio, sostituire questi valori con quelli specifici del tuo ambiente cloud.
Imparare a installare e configurare Postfix con STARTTLS su Oracle Linux
Introduzione
Questa esercitazione descrive come installare e configurare il software server di posta elettronica Postfix su un sistema Oracle Linux per consentire all'utente di inviare messaggi all'interno della rete con cifratura e verifica STARTTLS. Questa esercitazione è destinata agli utenti di Oracle Linux 8 o versione successiva.
Postfix è un server Mail Transfer Agent (MTA) sviluppato come sostitutivo per sendmail
, che è il server MTA predefinito in molti sistemi Linux più vecchi. Grazie all'architettura modulare basata su pipeline, Postfix è versatile e si integra facilmente con molti altri servizi, come lo spam e l'elaborazione antivirus, nonché con il software per l'area di memorizzazione dei messaggi, come il server Dovecot IMAP e POP.
Per garantire la sicurezza del servizio, è necessario configurare Postfix in modo che supporti STARTTLS per eseguire la verifica e la cifratura TLS/SSL su una connessione SMTP. L'uso di STARTTLS consente di proteggere l'integrità delle comunicazioni.
Questa esercitazione descrive come impostare e configurare Postfix in modo che funzioni principalmente come server SMTP (Simple Mail Transfer Protocol).
Obiettivi
Al termine di questo laboratorio potrai:
- Impostare il nome host del server
- Installare Postfix con le regole firewall appropriate
- Generare un certificato TLS autofirmato
- Configurare Postfix per inviare e-mail e verificare l'integrità con STARTTLS
- Inviare e-mail di prova utilizzando
mailx
- Rivedere la coda di posta elettronica Postfix
Prerequisiti
- Qualsiasi sistema con Oracle Linux 8
Installa Postfix
Nota: quando si utilizza l'ambiente di laboratorio gratuito, consultare Oracle Linux Lab Basics per le istruzioni di connessione e altro tipo.
-
Installare il pacchetto
postfix
nell'istanza utilizzando il package Manager come indicato di seguito.sudo dnf install -y postfix
-
Consenti traffico SMTP tramite il firewall del server:
sudo firewall-cmd --zone=public --add-service=smtp --permanent
sudo firewall-cmd --reload
-
Rimuovere il pacchetto
sendmail
, se presente.sudo dnf remove -y sendmail
-
Impostare Postfix come agente di trasferimento posta predefinito:
sudo alternatives --set mta /usr/sbin/sendmail.postfix
-
Abilitare e avviare il servizio Postfix:
sudo systemctl enable --now postfix
Generazione di un certificato TLS
Ai fini di questo laboratorio, generare e utilizzare un certificato TLS autofirmato. In un ambiente di produzione, Oracle consiglia di utilizzare un certificato TLS/SSL firmato da un'autorità di certificazione esterna (CA, Certficate Authority). Per ulteriori informazioni, vedere https://docs.oracle.com/en/operating-systems/oracle-linux/certmanage/.
-
Installare il pacchetto
openssl
nell'istanza utilizzando il package Manager come indicato di seguito.sudo dnf install -y openssl
-
Creare una chiave privata RSA e un certificato di test X.509 autofirmato:
hostname=$(hostname -f)
sudo openssl req -new -x509 -days 1 -nodes -newkey rsa:2048 -keyout private.key \ -out public.cert -subj "/C=US/ST=Ca/L=Sunnydale/CN=$hostname"
-
Copiare la chiave privata RSA nella directory
/etc/pki/tls/private
:sudo cp private.key /etc/pki/tls/private/
-
Copiare il certificato di test X.509 autofirmato nella directory
/etc/pki/tls/certs
:sudo cp public.cert /etc/pki/tls/certs/
Configurare Postfix con STARTTLS
-
Creare un backup per la configurazione Postfix predefinita:
sudo mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
-
Modificare il file di configurazione,
/etc/postfix/main.cf
, per contenere righe simili alle seguenti:sudo tee -a /etc/postfix/main.cf > /dev/null <<EOF myhostname = $(hostname -f) myorigin = \$myhostname inet_interfaces = all inet_protocols = all mydestination = \$myhostname, localhost mynetworks = 192.168.1.0/24, 127.0.0.0/8, 10.0.0.0/24 home_mailbox = mail/ # Additional STARTTLS configuration settings tls_random_source=dev:/dev/urandom # SMTPD TLS configuration for incoming connections smtpd_use_tls = yes smtpd_tls_cert_file = /etc/pki/tls/certs/public.cert smtpd_tls_key_file = /etc/pki/tls/private/private.key smtpd_tls_security_level = may # SMTP TLS configuration for outgoing connections smtp_use_tls = yes smtp_tls_cert_file = /etc/pki/tls/certs/public.cert smtp_tls_key_file = /etc/pki/tls/private/private.key smtp_tls_security_level = may EOF
Nota: l'invio di e-mail da un singolo host è sufficiente ai fini del presente laboratorio. In un ambiente di produzione, impostare
mydomain
come nome di dominio registrato dal quale si desidera inviare l'e-mail. Per ulteriori informazioni, leggere le pagine del manuale Postfix. -
Riavviare il servizio Postfix:
sudo systemctl restart postfix
Invia e-mail di test
-
Installare il client di posta elettronica
mailx
:sudo dnf install -y mailx
-
Inviare un messaggio di posta elettronica di prova al proprio indirizzo di posta elettronica esterno. Aggiornare il nome host nel comando
mailx
in modo che corrisponda all'istanza da cui si invia il messaggio di posta elettronica:hostname=$(hostname -f)
echo "External email" | mailx -r root@$hostname -s "Test email subject" admin@example.com
Nota: l'uso di
mailx
per inviare messaggi di posta elettronica di prova da un singolo host è sufficiente ai fini del presente laboratorio. In un ambiente di produzione è consigliabile utilizzare il dominio registrato configurato in/etc/postfix/main.cf
all'interno dell'indirizzo e-mail del mittente, ad esempioroot@example.com
. -
Controlla il tuo account e-mail per trovare un nuovo messaggio. Potrebbe essere necessario controllare la cartella spam.
-
Se l'e-mail non viene visualizzata, è possibile controllare la coda di posta Postfix:
sudo mailq
-
È anche possibile verificare il log Postfix. Premere Ctrl + C per uscire:
sudo tail -f /var/log/maillog
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di apprendimento gratuito sul canale Oracle Learning YouTube. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare il sito Oracle Help Center.
Learn to Install and Configure Postfix With STARTTLS on Oracle Linux
F47875-07
February 2023
Copyright © 2021, Oracle and/or its affiliates.