Hinweis:

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:

Voraussetzungen

Postfix installieren

Hinweis: Bei der Verwendung der kostenlosen Übungsumgebung finden Sie unter Oracle Linux Lab Basics für Verbindungen und weitere Verwendungsanweisungen.

  1. Installieren Sie das Package postfix wie folgt auf Ihrer Instanz mit dem Package Manager:

    sudo dnf install -y postfix
    
  2. SMTP-Traffic über die Serverfirewall zulassen:

    sudo firewall-cmd --zone=public --add-service=smtp --permanent
    
    sudo firewall-cmd --reload
    
  3. Entfernen Sie das Package sendmail, sofern vorhanden:

    sudo dnf remove -y sendmail
    
  4. Legen Sie Postfix als Standard-Mail-Übertragungs-Agent fest:

    sudo alternatives --set mta /usr/sbin/sendmail.postfix
    
  5. 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/.

  1. Installieren Sie das Package openssl wie folgt auf Ihrer Instanz mit dem Package Manager:

    sudo dnf install -y openssl
    
  2. 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"
    
  3. Kopieren Sie den RSA-Private Key in das Verzeichnis /etc/pki/tls/private:

    sudo cp private.key /etc/pki/tls/private/
    
  4. 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

  1. Erstellen Sie ein Backup für die Postfix-Standardkonfiguration:

    sudo mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
    
  2. 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.

  3. Starten Sie den Postfix-Service neu:

    sudo systemctl restart postfix
    

Test-E-Mails senden

  1. Installieren Sie den E-Mail-Client mailx:

    sudo dnf install -y mailx
    
  2. 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.

  3. Prüfen Sie Ihren eigenen E-Mail-Account auf eine neue Nachricht. Möglicherweise müssen Sie Ihren Spamordner prüfen.

  4. Wenn die E-Mail nicht angezeigt wird, können Sie die Postfix-Mail-Queue prüfen:

    sudo mailq
    
  5. 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.