Hinweis:
- Dieses Tutorial steht in einer von Oracle bereitgestellten kostenlosen Übungsumgebung zur Verfügung.
- Er verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, Mandanten und Compartments. Ersetzen Sie diese Werte beim Durchführen Ihrer Übung durch spezifische Werte für Ihre Cloud-Umgebung.
Erfahren Sie, wie Sie Postfix mit STARTTLS auf Oracle Linux installieren und konfigurieren
Einführung
In diesem Tutorial wird gezeigt, wie Sie die Postfix-E-Mail-Serversoftware auf einem Oracle Linux-System installieren und einrichten, damit Sie Nachrichten innerhalb Ihres Netzwerks mit STARTTLS-Verschlüsselung und -Verifizierung senden können. Dieses Tutorial richtet sich an Benutzer von Oracle Linux 8 oder höher.
Postfix ist ein MTA-(Mail Transfer Agent-)Server, der als Ersatz für sendmail
entwickelt wurde. Dies ist der Standard-MTA-Server auf vielen älteren Linux-Systemen. Aufgrund seiner modularen Pipeline-basierten Architektur ist Postfix vielseitig und lässt sich problemlos mit vielen anderen Services wie Spam- und Antivirenverarbeitung sowie mit Nachrichtenspeichersoftware wie dem Dovecot IMAP- und POP-Server integrieren.
Um den Service zu sichern, sollten Sie Postfix so konfigurieren, dass STARTTLS zur Ausführung der TLS/SSL-Verifizierung und Verschlüsselung über eine SMTP-Verbindung unterstützt. Mit STARTTLS wird die Integrität Ihrer Kommunikation geschützt.
In diesem Tutorial wird beschrieben, wie Sie Postfix so einrichten und konfigurieren, dass es in erster Linie als Simple Mail Transfer Protocol-(SMTP-)Server funktioniert.
Ziele
Nach Abschluss dieser Übung können Sie:
- Serverhostnamen festlegen
- Postfix mit entsprechenden Firewallregeln installieren
- Erstellen Sie ein selbstsigniertes TLS-Zertifikat
- Postfix so konfigurieren, dass E-Mails gesendet und die Integrität mit STARTTLS geprüft werden
- Test-E-Mails mit
mailx
senden - Postfix-Mail-Queue prüfen
Voraussetzungen
- Jedes System mit Oracle Linux 8
Postfix installieren
Hinweis: Bei der Verwendung der kostenlosen Übungsumgebung finden Sie unter Oracle Linux Lab Basics für Verbindungen und weitere Verwendungsanweisungen.
-
Installieren Sie das Package
postfix
wie folgt auf Ihrer Instanz mit dem Package Manager:sudo dnf install -y postfix
-
SMTP-Traffic über die Serverfirewall zulassen:
sudo firewall-cmd --zone=public --add-service=smtp --permanent
sudo firewall-cmd --reload
-
Entfernen Sie das Package
sendmail
, sofern vorhanden:sudo dnf remove -y sendmail
-
Legen Sie Postfix als Standard-Mail-Übertragungs-Agent fest:
sudo alternatives --set mta /usr/sbin/sendmail.postfix
-
Aktivieren und starten Sie den Postfix-Service:
sudo systemctl enable --now postfix
TLS-Zertifikat generieren
Generieren und verwenden Sie im Rahmen dieser Übung ein selbstsigniertes TLS-Zertifikat. In einer Produktionsumgebung empfiehlt Oracle dringend die Verwendung eines TLS/SSL-Zertifikats, das von einer externen Zertifizierungsstelle (CA) signiert wurde. Weitere Informationen finden Sie unter https://docs.oracle.com/en/operating-systems/oracle-linux/certmanage/.
-
Installieren Sie das Package
openssl
wie folgt auf Ihrer Instanz mit dem Package Manager:sudo dnf install -y openssl
-
Erstellen Sie einen RSA-Private Key und ein selbstsigniertes X.509-Testzertifikat:
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"
-
Kopieren Sie den RSA-Private Key in das Verzeichnis
/etc/pki/tls/private
:sudo cp private.key /etc/pki/tls/private/
-
Kopieren Sie Ihr selbstsigniertes X.509-Testzertifikat in das Verzeichnis
/etc/pki/tls/certs
:sudo cp public.cert /etc/pki/tls/certs/
Postfix mit STARTTLS konfigurieren
-
Erstellen Sie ein Backup für die Postfix-Standardkonfiguration:
sudo mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
-
Bearbeiten Sie die Konfigurationsdatei
/etc/postfix/main.cf
, sodass sie Zeilen wie die folgenden enthält: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
Hinweis: Das Senden von E-Mails von einem einzelnen Host ist für diese Übung ausreichend. In einer Produktionsumgebung müssen Sie
mydomain
als registrierten Domainnamen festlegen, aus dem Sie E-Mails senden möchten. Weitere Informationen finden Sie in den Postfix-Manpages. -
Starten Sie den Postfix-Service neu:
sudo systemctl restart postfix
Test-E-Mails senden
-
Installieren Sie den E-Mail-Client
mailx
:sudo dnf install -y mailx
-
Senden Sie eine Test-E-Mail an Ihre eigene externe E-Mail-Adresse. Aktualisieren Sie den Hostnamen im Befehl
mailx
, damit er mit der Instanz übereinstimmt, von der Sie E-Mails senden:hostname=$(hostname -f)
echo "External email" | mailx -r root@$hostname -s "Test email subject" admin@example.com
Hinweis: Die Verwendung von
mailx
zum Senden von Test-E-Mails von einem einzelnen Host reicht für die Zwecke dieser Übung aus. In einer Produktionsumgebung müssen Sie stattdessen die registrierte Domain verwenden, die Sie in/etc/postfix/main.cf
innerhalb der E-Mail-Adresse des Absenders konfiguriert haben. Beispiel:root@example.com
. -
Prüfen Sie Ihren eigenen E-Mail-Account auf eine neue Nachricht. Möglicherweise müssen Sie Ihren Spamordner prüfen.
-
Wenn die E-Mail nicht angezeigt wird, können Sie die Postfix-Mail-Queue prüfen:
sudo mailq
-
Sie können auch das Postfix-Log prüfen. Drücken Sie STRG+C, um den Vorgang zu beenden:
sudo tail -f /var/log/maillog
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere Inhalte für kostenloses Lernen im Oracle Learning YouTube-Kanal zu. Außerdem besuchen Sie education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie im 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.