Postfix TLS/SSL einrichten
So stellen Sie Postfix richtig auf TLS um. Gerade in der heutigen Zeit kann ein wenig Sicherheit nicht verkehrt sein, aus diesem Grund möchte ich kurz darstellen wie wir unseren MTA auf die Verschlüsselung umstellen.
Ein kostenloses SSL Zertifikat für den privaten Gebrauch erhalten wir bei StartSSL, einmal einen Zugang besorgt kannst du für deine Domain.tld + einer Subdomain ein Zertifikat holen welches aktuelle Browser wie Firefox, Chrome, Opera, IE etc. unterstützen.
Punkt 1: TLS aktivieren
Ich gehe davon aus, dass ein funktionierender Mailserver installiert ist sowie auch das Paket openssl.
TLS für die Server-zu-Server Verbindung stellen wir ebenfalls mit der Option „falls möglich“ ein.
Wir nehmen also folgende Postfix TLS Einstellungen in der Konfiguration main.cf vor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # TLS parameters smtpd_tls_key_file = /etc/ssl/private/DOMAIN.key smtpd_tls_cert_file = /etc/ssl/private/DOMAIN.crt smtpd_tls_CAfile = /etc/ssl/private/sub.class1.server.ca.pem smtpd_use_tls = yes smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_key_file = /etc/ssl/private/DOMAIN.key smtp_tls_cert_file = /etc/ssl/private/DOMAIN.crt smtp_tls_CAfile = /etc/ssl/private/sub.class1.server.ca.pem smtp_use_tls = yes smtp_tls_security_level = may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_received_header = yes smtpd_enforce_tls = no smtpd_tls_loglevel = 1 tls_random_source = dev:/dev/urandom |
Wir speichern ab und starten Postfix neu.
1 | /etc/init.d/postfix restart |
Punkt 2: Prüfen der Einstellungen
Am einfachsten prüfen wir die Einstellungen per Telnet, natürlich kann auch die nützliche MxToolbox genutzt werden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # telnet DOMAIN.tld 25 Trying xx.xx.xx.xx... Connected to DOMAIN.tld. Escape character is '^]'. 220 DOMAIN.tld ESMTP Postfix (Debian/GNU) EHLO example.org 250-DOMAIN.tld 250-PIPELINING 250-SIZE 104857600 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM 250-AUTH=PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN quit 221 2.0.0 Bye |
Die hervorgehobenen Zeilen sind hier interessant.
Im Quelltext einer eingehenden E-Mail sollte nun stehen ob diese verschlüsselt empfangen wurde.
1 2 | Received: from xxx.de (xxx.xxx.de [xx.xx.xx.xx]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) |