Einführung
Die zwei wichtigsten Elemente für das reibungslose Funktionieren eines Mailservers sind: eine korrekt konfigurierte main.cf
-Datei und die regelmäßige Überprüfung der Logs. Postfix
ist aufgrund seiner sicheren und flexiblen Struktur einer der beliebtesten Open-Source-SMTP-Server.
In diesem Artikel erklären wir von A bis Z, wie der Inhalt der /etc/postfix/main.cf
-Datei, der grundlegenden Konfigurationsdatei von Postfix, aussehen sollte und wie der Befehl tail -f /var/log/maillog
zur Log-Überwachung verwendet wird.
Was ist die Postfix main.cf-Datei?
main.cf
ist die Hauptkonfigurationsdatei von Postfix. Diese Datei enthält viele grundlegende Konfigurationen wie SMTP-Verbindungseinstellungen, TLS/SSL-Nutzung, Relay-Einstellungen, Hostname, Domain-Einstellungen und Sicherheitsrichtlinien.
Beispiel für eine /etc/postfix/main.cf-Datei
myhostname = mail.ihredomain.com
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
readme_directory = no
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=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
Hinweis: Zertifikatspfade sollten entsprechend Ihrem eigenen SSL-Zertifikat geändert werden.
Was bei der main.cf-Konfiguration zu beachten ist
-
myhostname
: Muss der vollständige Domainname des Servers sein. Muss mit dem Reverse-DNS-Eintrag (PTR) übereinstimmen. -
mynetworks
: Der IP-Bereich, dem der Server SMTP-Relay-Berechtigungen erteilt. Sollte im Allgemeinen nicht über127.0.0.0/8
hinausgehen. -
smtpd_use_tls
: TLS sollte erzwungen werden, um die Sicherheit von Absender und Empfänger zu gewährleisten. -
smtpd_sasl_auth_enable
: Die SMTP-Authentifizierungsfunktion muss aktiviert sein.
Was ist tail -f /var/log/maillog und wie wird es verwendet?
Die maillog
-Datei ist die wichtigste Quelle, um die Ereignisse von Postfix während des Betriebs zu verfolgen.
tail -f /var/log/maillog
Mit diesem Befehl können Sie die Zeilen, die am Ende der Protokolldatei hinzugefügt werden, in Echtzeit verfolgen.
Beispielhafte Logzeile:
May 13 13:45:01 mail postfix/smtpd[1878]: connect from unknown[192.168.1.100]
May 13 13:45:03 mail postfix/smtpd[1878]: 8GH2D2322F: client=unknown[192.168.1.100], sasl_method=PLAIN, [email protected]
In diesen Zeilen werden Details wie Verbindungsinformationen, IP-Adresse, Authentifizierungstyp und Benutzername beobachtet.
Suche in der maillog-Datei
Der grep
-Befehl kann verwendet werden, um bestimmte kritische Ereignisse zu filtern:
-
Fehler finden:
grep error /var/log/maillog
-
Eine bestimmte E-Mail-Adresse verfolgen:
grep '[email protected]' /var/log/maillog
-
Nach TLS-Fehlern suchen:
grep tls /var/log/maillog
Fazit
Postfix ist eine sehr leistungsfähige MTA für Systemadministratoren, und bei korrekter Konfiguration erhält man einen hochleistungsfähigen, sicheren Mailserver. Die korrekte Konfiguration der Datei main.cf
ist entscheidend für die Stabilität des Mailservers. Gleichzeitig erleichtert die Echtzeitüberwachung des Systemverhaltens mit /var/log/maillog
die Problemlösung erheblich.