Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

centos:mail_c7:mta_5 [22.10.2015 18:16. ] – [DANE & TLS] djangocentos:mail_c7:mta_5 [22.07.2019 15:08. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-====== SSL/TLS-Verbindungen, verschlüsselte Kommunikation für Postfix 2.11 unter CentOS 7 ====== +====== TLS-Verbindungen, verschlüsselte Kommunikation für Postfix 2.11 unter CentOS 7 ======
- +
-<WRAP center round todo 60%> +
-\\ **Artikel befindet sich gerade in der Überarbeitung!** +
-</WRAP> +
- +
 {{:centos:world.png?nolink&80 |Bild: Weltkugel }} \\ {{:centos:world.png?nolink&80 |Bild: Weltkugel }} \\
-Dass das Internet systembedingt unsicher ist, hat sich in aller Regel herumgesprochen.  Daten durchlaufen von der Quelle bis zum Ziel zahlreiche Server und Systeme, an denen die Daten, abgegriffen und/oder manipuliert werden können. Persönliche und vertrauliche Daten können so einfach Dritten in die Hände fallen, die mit großer krimineller Energie versuchen an diese Daten zu kommen. +Dass das Internet systembedingt unsicher ist, hat sich in aller Regel herumgesprochen.  Daten durchlaufen von der Quelle bis zum Ziel zahlreiche Server und Systeme, an denen die Daten, abgegriffen und/oder manipuliert werden können. Persönliche und vertrauliche Daten können so einfach Dritten in die Hände fallen, die mit grosser krimineller Energie versuchen an diese Daten zu kommen. 
  
 Inwieweit staatliche Stellen den Datenverkehr abhören, protokollieren und abgreifen und zu manipulieren bzw. zensieren versuchen, weiss  Inwieweit staatliche Stellen den Datenverkehr abhören, protokollieren und abgreifen und zu manipulieren bzw. zensieren versuchen, weiss 
Zeile 21: Zeile 15:
 Nicht nur auf [[centos:openpgp_beim_mua|Seiten der Endkunden]], die mit Hilfe von [[http://www.openpgp.org/|OpenPGP]] oder [[http://www.smime.org/|S/MIME]] vertraulich kommunizieren, sondern auch serverseitig kann der Übertragungsweg mit einfachen Mitteln entsprechend verschlüsselt werden. {{:centos:mailserver:lan_security.png?96 |SSL/TLS Logo}} Für die vertrauliche Kommunikation zwischen unseren Usern und unserm [[centos:mailserver:start|Postfix-Mailserver]], wie auch zwischen fremden Postfix bietet sich eine verschlüsselte Kommunikation mit Hilfe von **SSL/TLS** an. Nicht nur auf [[centos:openpgp_beim_mua|Seiten der Endkunden]], die mit Hilfe von [[http://www.openpgp.org/|OpenPGP]] oder [[http://www.smime.org/|S/MIME]] vertraulich kommunizieren, sondern auch serverseitig kann der Übertragungsweg mit einfachen Mitteln entsprechend verschlüsselt werden. {{:centos:mailserver:lan_security.png?96 |SSL/TLS Logo}} Für die vertrauliche Kommunikation zwischen unseren Usern und unserm [[centos:mailserver:start|Postfix-Mailserver]], wie auch zwischen fremden Postfix bietet sich eine verschlüsselte Kommunikation mit Hilfe von **SSL/TLS** an.
  
-Mit Hilfe von **[[centos:mail_c7:mta_5?&#perfect_forward_secrecy|PFS]]**((**P**erfect **F**orward **S**ecrecy)) können wir leicht und einfach sicherstellen, dass aufgezeichnete Datenströme im nachhinein nicht entschlüsselt werden können. Dies wird erreicht, da die beiden Kommunikationspartner, einen separaten und individuellen temporären Schlüssel zur Datensicherung verweden. Dieser Schlüssel ist dabei nicht fix, sondern wird bei jeder Verbindung neu ausgehandelt. Da aber der Schlüssel an sich nicht ausgetauscht werden muss, ist es auch nicht möglich, den eventuell aufgezeichneten Datenstrom zu entschlüsseln, da der dazu benötigte Schlüssel nicht im Datenstrom enthalten war. +Mit Hilfe von **[[centos:mail_c7:mta_5?&#perfect_forward_secrecy|PFS]]**((**P**erfect **F**orward **S**ecrecy)) können wir leicht und einfach sicherstellen, dass aufgezeichnete Datenströme im nachhinein nicht entschlüsselt werden können. Dies wird erreicht, da die beiden Kommunikationspartner, einen separaten und individuellen temporären Schlüssel zur Datensicherung verwenden. Dieser Schlüssel ist dabei nicht fix, sondern wird bei jeder Verbindung neu ausgehandelt. Da aber der Schlüssel an sich nicht ausgetauscht werden muss, ist es auch nicht möglich, den eventuell aufgezeichneten Datenstrom zu entschlüsseln, da der dazu benötigte Schlüssel nicht im Datenstrom enthalten war. 
  
-Perfect Forward Secrecy (PFS) basiert auf der Idee, dass Client und Server ihre Kommunikation über einen zusätzlichen temporären Schlüssel absichern, der wechselt. Da der Verbindungsaufbau so gestrickt ist, daß der Schlüssel selbst gar nicht ausgetauscht werden muß, kann der jeweils benutzte Sitzungsschlüssel selbst auch nicht aufgezeichnet werden. Eine nachträgliche Entschlüsselung einer früher aufgezeichneten Session ist damit nicht mehr möglich. +Perfect Forward Secrecy (PFS) basiert auf der Idee, dass Client und Server ihre Kommunikation über einen zusätzlichen temporären Schlüssel absichern, der wechselt. Da der Verbindungsaufbau so gestrickt ist, dass der Schlüssel selbst gar nicht ausgetauscht werden muss, kann der jeweils benutzte Sitzungsschlüssel selbst auch nicht aufgezeichnet werden. Eine nachträgliche Entschlüsselung einer früher aufgezeichneten Session ist damit nicht mehr möglich. 
  
 Die für die Verschlüsselung notwendigen //Schlüssel// und //Zertifikate// erstellen wir mittels [[http://www.openssl.org|OpenSSL]], einer freien Implementierung von **SSL**((**S**ecure **S**ockets **L**ayer)). **SSL** oder **TLS**((**T**ransport **L**ayer **S**ecurity)) ist ein hybrides Verschlüsselungsprotokoll zur Datenübertragung im Internet. Unter TLS 1.0, 1.1 und 1.2 versteht man die standardisierten Weiterentwicklungen von SSL 3.0 (TLS 1.0 steht neu für SSL 3.1). Dies bedeutet also, SSL wird nun unter dem Namen TLS weiterentwickelt. Die für die Verschlüsselung notwendigen //Schlüssel// und //Zertifikate// erstellen wir mittels [[http://www.openssl.org|OpenSSL]], einer freien Implementierung von **SSL**((**S**ecure **S**ockets **L**ayer)). **SSL** oder **TLS**((**T**ransport **L**ayer **S**ecurity)) ist ein hybrides Verschlüsselungsprotokoll zur Datenübertragung im Internet. Unter TLS 1.0, 1.1 und 1.2 versteht man die standardisierten Weiterentwicklungen von SSL 3.0 (TLS 1.0 steht neu für SSL 3.1). Dies bedeutet also, SSL wird nun unter dem Namen TLS weiterentwickelt.
Zeile 276: Zeile 270:
 openssl dhparam -out dh_1024.pem 1024 openssl dhparam -out dh_1024.pem 1024
 openssl dhparam -out dh_2048.pem 2048 openssl dhparam -out dh_2048.pem 2048
-chmod 640 dh_512.pem dh_1024.pem dh_2048.pem+openssl dhparam -out dh_4096.pem 4096 
 +chmod 640 dh_512.pem dh_1024.pem dh_2048.pem dh_4096.pem
 /usr/bin/rsync /etc/pki/tls/tmp/*.pem /etc/pki/tls/private/ /usr/bin/rsync /etc/pki/tls/tmp/*.pem /etc/pki/tls/private/
 rm *.pem -f rm *.pem -f
-</file>+systemctl condrestart postfix</file>
  
-Damit das Script auch ausgeführt werdden kann, versehen wir es noch mit den benötigten Rechten.+Damit das Script auch ausgeführt werden kann, versehen wir es noch mit den benötigten Rechten.
    # chmod +x edh_keygen    # chmod +x edh_keygen
  
 <WRAP center round tip> <WRAP center round tip>
-Warum das ganze in ein Shellsript packen, wird nun sich der ein oder andere gefragt haben. Ganz einfach: Wenn wir das Script nun nach **///etc/cron.hourly//** verschieben, können wir einfach stündlich neu generierte Schlüssel generieren und auch verwenden!+Warum das ganze in ein Shellsript packen, wird nun sich der ein oder andere gefragt haben. Ganz einfach: Wenn wir das Script nun nach **///etc/cron.daily//** verschieben, können wir einfach einmal am Tag neu generierte Schlüssel generieren und auch verwenden!
 </WRAP> </WRAP>
-   # mv edh_keygen /etc/cron.hourly/+   # mv edh_keygen /etc/cron.daily/ 
 + 
 +Zum Testen welche Schlüssel vom Server verwendet werden, können wir folgenden Befehl verwenden: 
 +   $ echo | openssl s_client -starttls smtp -connect smtp.nausch.org:25 -cipher "EDH" 2>/dev/null | grep -ie "Server .* key" 
 + 
 +Als Antwort erhalten wie zwei Zeilen mit Angabe zu den Schlüssellängen. Die erste Zeile beschreibt den temporären Diffie Hellman, die zweite Zeile den RSA-Schlüssel des TLS-Zertifikats. 
 +  Server Temp Key: DH, 4096 bits 
 +  Server public key is 4096 bit
  
  
Zeile 570: Zeile 572:
    -rw-r--r-- 1 root root 3394 Jul 23 14:07 cakey.pem    -rw-r--r-- 1 root root 3394 Jul 23 14:07 cakey.pem
  
-Sichtshalber ändern wir die Rechte so, dass die Schlüsseldateien nur für root lesbar sind: +Sicherheitshalber ändern wir die Rechte so, dass die Schlüsseldateien nur für root lesbar sind: 
    # chmod 400 *.pem    # chmod 400 *.pem
 Bei Bedarf kann man mit **openssl rsa -in <keyfile> -noout -text** die Schlüsseldatei öffnen und ausgeben lassen. Bei Bedarf kann man mit **openssl rsa -in <keyfile> -noout -text** die Schlüsseldatei öffnen und ausgeben lassen.
Zeile 1124: Zeile 1126:
  
 <html><pre class="code"> <html><pre class="code">
-<font style="color: rgb(0, 0, 0)"># </font><font style="color: rgb(0, 0, 255)">openssl genrsa -out serverkey.pem -aes256</font>+<font style="color: rgb(0, 0, 0)"># </font><font style="color: rgb(0, 0, 255)">openssl genrsa -out serverkey.pem -aes256 4096</font>
 </pre></html> </pre></html>
 <html><pre class="code"> <html><pre class="code">
Zeile 1311: Zeile 1313:
  
 Anschließend legen wir dort die drei benötigten Dateien ab: Anschließend legen wir dort die drei benötigten Dateien ab:
-  - unseren //Serverzertifikat// : **servercert.pem** <code> # mv /etc/pki/CA/servercert.pem /etc/pki/postfix/certs/servercert_2014-10-19.pem</code> + 
-  - unseren //Serverschlüssel// : **serverkey.pem** <code> # mv /etc/pki/CA/serverkey.pem /etc/pki/postfix/private/serverkey_2014-10-19.pem</code> +<WRAP center round tip 60%> 
-  - das //CA-Zertifikat// : **cacert.pem** <code> # cp /etc/pki/CA/cacert.pem /etc/pki/dovecot/certs/</code> +Die Dateinamen passen wir natürlich den lokalen Gegebenheiten nach an! 
-  - und schützen diese Dateien mit den Dateirechten **400**: <code> # chmod 400 /etc/pki/dovecot/private/*.pem +</WRAP> 
- # chmod 400 /etc/pki/dovecot/certs/*.pem</code>+ 
 + 
 +  - unseren //Serverzertifikat// : **servercert.pem** <code> # mv /etc/pki/CA/servercert.pem /etc/pki/postfix/certs/servercert.pem</code> 
 +  - unseren //Serverschlüssel// : **serverkey.pem** <code> # mv /etc/pki/CA/serverkey.pem /etc/pki/postfix/private/serverkey.pem</code> 
 +  - das //CA-Zertifikat// : **cacert.pem** <code> # cp /etc/pki/CA/cacert.pem /etc/pki/postfix/certs/</code> 
 +  - und schützen diese Dateien mit den Dateirechten **400**: <code> # chmod 400 /etc/pki/postfix/private/*.pem 
 + # chmod 400 /etc/pki/postfix/certs/*.pem</code> 
  
  
Zeile 2299: Zeile 2308:
 Den erhaltenen Fingerprint //**C3:17:BB:DC:7F:E3:51:F6:3E:48:E7:4F:5A:48:48:6C:94:24:63:0E**// lassen wir uns nun vom Postmaster des Zielmailservers bestätigen. Hierzu wählen wir ein anderes Übertragungsmedium wie z.B. Telefon oder Faksimile.  Den erhaltenen Fingerprint //**C3:17:BB:DC:7F:E3:51:F6:3E:48:E7:4F:5A:48:48:6C:94:24:63:0E**// lassen wir uns nun vom Postmaster des Zielmailservers bestätigen. Hierzu wählen wir ein anderes Übertragungsmedium wie z.B. Telefon oder Faksimile. 
  
-Keinenfalls vermerken wir  **__ohne__** weitere Prüfung den Fingerprints in einer lokalen Konfigurationsdatei!+Keinesfalls vermerken wir  **__ohne__** weitere Prüfung den Fingerprints in einer lokalen Konfigurationsdatei!
 </WRAP> </WRAP>
  
-Den **__verifizierten Fingerprint__** hinterlegen wir nun in einer eigenen Konfigurationsdatei //**smtp_tls_policy_maps**// die wir anschließend unserem Postfix-Mailserver bekannt geben.  +Den **__verifizierten Fingerprint__** hinterlegen wir nun in einer eigenen Konfigurationsdatei //**smtp_tls_policy_maps**// die wir anschliessend unserem Postfix-Mailserver bekannt geben.  
  
 Zunächst legen wir uns die benötigte Konfigurationsdatei an. Zunächst legen wir uns die benötigte Konfigurationsdatei an.
Zeile 2324: Zeile 2333:
    # postmap /etc/postfix/smtp_tls_policy_maps    # postmap /etc/postfix/smtp_tls_policy_maps
  
-Damit nun der SMTP-Client weiß wie er den richtigen Fingerprint (MD5 oder SHA1) des empfangenen Server-Zertifikates ermitteln soll, müssen wir den verwendeten **[[https://de.wikipedia.org/wiki/Hashfunktion|Hash-Algorithmus]]** unserem Server noch vorgeben. Dies tragen wir in der Sektion **TLS/SSL-VERSCHLÜSSELUNG** unserer Postfixinstallation ein.+Damit nun der SMTP-Client weiss wie er den richtigen Fingerprint (MD5 oder SHA1) des empfangenen Server-Zertifikates ermitteln soll, müssen wir den verwendeten **[[https://de.wikipedia.org/wiki/Hashfunktion|Hash-Algorithmus]]** unserem Server noch vorgeben. Dies tragen wir in der Sektion **TLS/SSL-VERSCHLÜSSELUNG** unserer Postfixinstallation ein.
    # vim  /etc/postfix/main.cf      # vim  /etc/postfix/main.cf  
  
Zeile 2380: Zeile 2389:
 Wir sehen in dem Beispiel die Einlieferung einer Nachricht via **submission Port 587**, gefolgt vom Verbindungsaufbau des **SMTP-Clients** in Richtung **mx1.tachtler.net[88.217.171.167]:25**.  Wir sehen in dem Beispiel die Einlieferung einer Nachricht via **submission Port 587**, gefolgt vom Verbindungsaufbau des **SMTP-Clients** in Richtung **mx1.tachtler.net[88.217.171.167]:25**. 
  
-Da wir aber den Fingerprint in unserer Konfigurationsdatei absichtlich falsch gesetzt habenkann die Überprüfung des Fingerprints kein positives Ergebnis bringen: +Wurde das Zertifikat ausgetauscht ohne dem versendenden Kommunikationspartner zu informierenscheitert die  verschlüsselte und verifizierte Verbindung, da die Überprüfung des Fingerprints kein positives Ergebnis mehr bringen kann
-   Oct 12 14:59:45 vml000087 postfix/smtp[20834]: CC17DC00092: to=<klaus@tachtler.net>, relay=mx1.tachtler.net[88.217.171.167]:25, delay=0.77, delays=0.06/0.01/0.7/0, dsn=4.7.5, status=deferred (Server certificate not verified) +   Oct  1 19:02:56 vml000087 postfix/smtp[2818]: Trusted TLS connection established to mx1.tachtler.net[88.217.171.167]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) 
-Die Nachricht wird also nicht versandt, sondern in die **//deffered//-Queue** gestellt!+   Oct  1 19:02:56 vml000087 postfix/smtp[2818]: DEA87C0008A: to=<klaus@tachtler.net>, relay=mx1.tachtler.net[88.217.171.167]:25, delay=88445, delays=88437/0.04/8.5/0, dsn=4.7.5, status=deferred (Server certificate not verified) 
 + 
 +Die Nachricht wird also nicht versandt, da nicht sichergestellt werden kann, dass wir auch wirklich mit dem richtigen Empfangssystem reden. Statt dessen wir die Nachricht in die **//deffered//-Queue** eingestelltAm besten überwacht man daher das **maillog** mit Hilfe einer gängigen Monitoring-Lösung wie **[[centos:web_c7:graylog2|graylog]]** oder **[[centos:web_c7:icinga:start|icinga 2]]**.
  
 <WRAP center round tip> <WRAP center round tip>
Zeile 2388: Zeile 2399:
  
 <WRAP center round important > <WRAP center round important >
-Hat man viele dieser Ziele, kann das mauelle Pflegen von Fingerprints zum zeitaufwändigen Unterfangen werden. Wesentlich einfacher ist hier die Nutzung einer verpflichtenden Verschlüsselung unter Zuhilfenahme der Option **dane-only**.+Hat man viele dieser Ziele, kann das manuelle Pflegen von Fingerprints zum zeitaufwändigen Unterfangen werden. Zumal bei anstehenden Zertifikatsänderungen rechtzeitig dafür gesorgt werden muss, dass das sendende System die neuen Fingerprints auch kennt. Beispiele aus der Praxis zeigen leider, dass viele professionelle Dienstleister und auch entsprechend versierte und geschulte Postmaster hier __grosse Schwierigkeiten__ beim Ablauf und rechtzeitigen Erneuerung der Fingerprints haben. \\ 
 +Wesentlich einfacher ist hier die Nutzung einer verpflichtenden Verschlüsselung unter Zuhilfenahme der Option **dane-only**.
 </WRAP> </WRAP>
  
Zeile 2498: Zeile 2510:
 # default: smtpd_tls_dh512_param_file = # default: smtpd_tls_dh512_param_file =
 #          smtpd_tls_dh1024_param_file = #          smtpd_tls_dh1024_param_file =
-smtpd_tls_dh1024_param_file = /etc/pki/postfix/private/dh_2048.pem+smtpd_tls_dh1024_param_file = /etc/pki/postfix/private/dh_4096.pem
 smtpd_tls_dh512_param_file = /etc/pki/postfix/private/dh_512.pem</code> smtpd_tls_dh512_param_file = /etc/pki/postfix/private/dh_512.pem</code>
   - **"Ephemeral Elliptic Curve Diffie-Hellman" Schlüsselaustausch**: Definition des Grads der Sicherheit beim EECDH Schlüsselaustausch \\ \\ <code bash># Django : 2014-10-19 - Grad der Sicherheit beim EECDH Schlüsselaustausch   - **"Ephemeral Elliptic Curve Diffie-Hellman" Schlüsselaustausch**: Definition des Grads der Sicherheit beim EECDH Schlüsselaustausch \\ \\ <code bash># Django : 2014-10-19 - Grad der Sicherheit beim EECDH Schlüsselaustausch
Zeile 2563: Zeile 2575:
 smtp_tls_loglevel = 1</code> smtp_tls_loglevel = 1</code>
  
-==== main.cf ==== 
-Somit ergibt sich (vorerst) folgende neue Abschnitt **TLS/SSL-Verschlüsselung** in unserer Hauptkonfigurationsdatei //**/etc/postfix/main.cf**//. 
  
-FIXME 
- 
-<code bash>################################################################################ 
-## TLS/SSL-Verschlüsselung 
-# 
-# Django : 2014-10-19 - SSL/TLS - Schutz durch verschlüsselte Verbindungen 
-#          (Postfixbuch: Kapitel 20.2) 
-#          Pfade für die Key- und Zertifikatsdateien 
-# default: smtpd_tls_key_file = $smtpd_tls_cert_file 
-#          smtpd_tls_cert_file = 
-#          smtpd_tls_CAfile = 
-#          smtp_tls_CAfile = 
-smtpd_tls_key_file = /etc/pki/postfix/private/serverkey_2014-04-09.pem 
-smtpd_tls_cert_file = /etc/pki/postfix/certs/mx01.nausch.org.servercert.pem 
-smtpd_tls_CAfile = /etc/pki/postfix/certs/rapid_geotrust_equifax_bundle.pem 
- 
-smtp_tls_CAfile = /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem 
- 
- 
-# Django : 2014-10-25 - Minimaler TLS Cipher Grad für die opportunistischen TLS-Verschlüsselung 
-#          des Postfix SMTP-Daemon 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_ciphers 
-# default: smtpd_tls_ciphers = export 
- 
-# Django : 2014-10-25 - Minimaler TLS Cipher Grad für die opportunistischen TLS-Verschlüsselung 
-#          des Postfix SMTP-Client 
-#          http://www.postfix.org/postconf.5.html#smtp_tls_ciphers 
-# default: smtp_tls_ciphers = export 
- 
-# Django : 2014-10-25 - Liste der Chiffren oder Chiffre-Typen, die bei allen TLS  
-#          Sicherheitsstufen des Postfix SMTP-Daemon ausgeschlossen werden sollen. 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_exclude_ciphers 
-# default: smtpd_tls_exclude_ciphers =  
- 
-# Django : 2014-10-25 - Liste der Chiffren oder Chiffre-Typen des Postfix SMTP-Client   
-#          bei allen TLS Sicherheitsstufen ausgeschlossen werden sollen. 
-#          http://www.postfix.org/postconf.5.html#smtp_tls_exclude_ciphers 
-# default: smtp_tls_exclude_ciphers =  
- 
-# Django : 2014-10-19 - Minimum TLS Cipher für die verpflichtende Ver- 
-#          schlüsselung des Postfix SMTP-Daemon 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_mandatory_ciphers 
-# default: smtpd_tls_mandatory_ciphers = medium 
-smtpd_tls_mandatory_ciphers = high 
- 
-# Django : 2014-10-19 - Minimum TLS Cipher für die verpflichtende Ver- 
-#          schlüsselung des Postfix SMTP-Clients. 
-#          http://www.postfix.org/postconf.5.html#smtp_tls_mandatory_ciphers 
-# default: smtp_tls_mandatory_ciphers = medium 
-smtp_tls_mandatory_ciphers = high 
- 
-# Django : 2014-10-19 - Ausschlussliste der verpflichtenden TLS Verschlüsselung 
-#          des postfix SMTP-Daemons. 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_mandatory_exclude_ciphers 
-# default: smtpd_tls_mandatory_exclude_ciphers = 
-smtpd_tls_mandatory_exclude_ciphers = 
-           aNULL 
-           MD5 
-           RC4 
- 
-# Django : 2014-10-19 - Ausschlussliste der verpflichtenden TLS Verschlüsselung 
-#          des postfix SMTP-Clients. 
-#          http://www.postfix.org/postconf.5.html#smtp_tls_mandatory_exclude_ciphers 
-# default: smtp_tls_mandatory_exclude_ciphers = 
-smtp_tls_mandatory_exclude_ciphers = 
-           aNULL 
-           MD5 
-           RC4 
- 
-# Django : 2014-10-19 - Positiv-/Negativliste aller TLS-Protokolle, die der  
-#          Postfix SMTP-Server bei der opportunischtischen Verschlüsselung 
-#          berücksichtigen soll. 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_protocols 
-# default: smtpd_tls_protocols =  
-smtpd_tls_protocols =  
-           !SSLv2  
-           !SSLv3 
- 
-# Django : 2014-10-19 - Positiv-/Negativliste aller TLS-Protokolle, die der  
-#          Postfix SMTP-/LMTP-Client bei der opportunischtischen Verschlüsselung 
-#          berücksichtigen soll. 
-#          http://www.postfix.org/postconf.5.html#smtp_tls_protocols 
-# default: smtp_tls_protocols = !SSLv2  
-#          lmtp_tls_protocols = !SSLv2 
-smtp_tls_protocols =  
-           !SSLv2  
-           !SSLv3 
-lmtp_tls_protocols = $smtp_tls_protocols 
- 
-# Django : 2014-10-19 - Positiv-/Negativliste aller TLS-Protokolle, die der  
-#          Postfix SMTP-Server bei der verpflichtenden Verschlüsselung 
-#          berücksichtigen soll. 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_mandatory_protocols 
-# default: smtpd_tls_mandatory_protocols = !SSLv2 
-smtpd_tls_mandatory_protocols =  
-           !SSLv2 
-           !SSLv3 
- 
-# Django : 2014-10-19 - Positiv-/Negativliste aller TLS-Protokolle, die der  
-#          Postfix SMTP-/LMTP-Client bei der verpflichtenden Verschlüsselung 
-#          berücksichtigen soll. 
-#          http://www.postfix.org/postconf.5.html#smtp_tls_mandatory_protocols 
-# default: smtp_tls_mandatory_protocols = !SSLv2 
-smtp_tls_mandatory_protocols = 
-           !SSLv2 
-           !SSLv3 
-lmtp_tls_mandatory_protocols = $smtp_tls_mandatory_protocols 
- 
-# Django : 2014-10-19 - Opportunistische TLS-Verschlüsselung für den  
-#          SMTP-Daemon für den ankommenden Verkehr aktiviert; d.h. STARTTLS  
-#          wird dem Remote-SMTP-Client angeboten aber nicht zwingend  
-#          vorgeschrieben.  
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_security_level 
-# default: smtpd_tls_security_level = 
-smtpd_tls_security_level = may 
- 
-# Django : 2014-10-19 - Opportunistische TLS-Verschlüsselung für den 
-#          SMTP-Client für den ausgehenden Verkehr aktiviert;  
-#          Opportunistische TLS-Verschlüsselung wird verwendet, sofern der 
-#          Zielserver eine TLS-Verschlüsselung anbietet. Unterstützt der  
-#          Zielserver keine TLS-Verschlüsselung wird unverschlüsselt über- 
-#          tragen! 
-#          http://www.postfix.org/postconf.5.html#smtp_tls_security_level 
-# default: smtp_tls_security_level =  
-smtp_tls_security_level = may 
- 
-# Django : 2014-10-19 -  EDH Server support 
-#          http://www.postfix.org/FORWARD_SECRECY_README.html 
-#          Definition des 512 bit Schlüssels (export ciphers) für die obsoleten 
-#          „Export“-Ciphers und des 2048-bit (non export ciphers) Schlüssels 
-#          für all die anderen EDH Cipher Suits. 
-# default: smtpd_tls_dh512_param_file = 
-#          smtpd_tls_dh1024_param_file = 
-smtpd_tls_dh1024_param_file = /etc/pki/postfix/private/dh_2048.pem 
-smtpd_tls_dh512_param_file = /etc/pki/postfix/private/dh_512.pem 
- 
-# Django : 2014-10-19 - Grad der Sicherheit beim EECDH Schlüsselaustausch 
-#          Ephemeral Elliptic-Curve Diffie-Hellman (EECDH) 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_eecdh_grade 
-# default: smtpd_tls_eecdh_grade = strong 
-smtpd_tls_eecdh_grade = ultra 
- 
-# Django : 2014-10-19 - Default Cipher Liste des Servers verwenden, statt der 
-#          vom Client genannten Wunsch-Ciphers 
-#          http://www.postfix.org/postconf.5.html#tls_preempt_cipherlist 
-# default: tls_preempt_cipherlist = no 
-tls_preempt_cipherlist = yes 
- 
-# Django : 2014-10-19 - Headerzeile in der eMail einfügen mit Informationen 
-#          zur verwendeten Verschlüsselung 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_received_header 
-# default: smtpd_tls_received_header = no 
-smtpd_tls_received_header = yes 
- 
-# Django : 2014-10-19 - Logging der TLS-Infomationen zu den Verbindungen im 
-#          Maillog des SMTP-Daemons für den ankommenden SMTP-Verkehr. 
-#          http://www.postfix.org/postconf.5.html#smtpd_tls_loglevel 
-# default: smtpd_tls_loglevel = 0 
-smtpd_tls_loglevel = 1 
- 
-# Django : 2014-10-19 - Logging der TLS-Infomationen zu den Verbindungen im 
-#          Maillog des SMTP-Clients für den ausgehenden SMTP-Verkehr. 
-#          http://www.postfix.org/postconf.5.html#smtp_tls_loglevel 
-# default: smtp_tls_loglevel = 0 
-smtp_tls_loglevel = 1 
-</code> 
- 
-FIXME 
 ===== Konfiguration aktivieren ===== ===== Konfiguration aktivieren =====
 Zum Aktivieren unserer SSL/TLS-Verschlüsselung starten wir nun unseren Postfix-Daemon einmal durch. Zum Aktivieren unserer SSL/TLS-Verschlüsselung starten wir nun unseren Postfix-Daemon einmal durch.
Zeile 2872: Zeile 2714:
  
 Mit nachfolgendem Aufruf kann überprüft werden, welche Ciphers angeboten werden. Mit nachfolgendem Aufruf kann überprüft werden, welche Ciphers angeboten werden.
-   # /usr/local/src/cipherscan-master/cipherscan -o /usr/local/src/cipherscan-master/openssl --curves -starttls imap imap.nausch.org:587+   # /usr/local/src/cipherscan-master/cipherscan -o /usr/local/src/cipherscan-master/openssl --curves -starttls smtp mx1.nausch.org:587
  
 <code>..................................... <code>.....................................
Zeile 3040: Zeile 2882:
 </pre></html> </pre></html>
  
 +==== ssl-tools.net ====
  
 +Für eine sichere Verschlüsselung beim eMailtransport muss der Mailserver STARTTLS unterstützen. Ein vertrauenswürdiges SSL-Zertifikat sollte ebenso wie DANE zum Einsatz kommen. Selbstredend darf der Server nicht für Heartbleed anfällig sein und Perfect Forward Secrecy unterstützen.
 +
 +All diese Dinge lassen sich über die Testseite https://de.ssl-tools.net/mailservers/ überprüfen. Über den Link Mailzustellung testen kann man auch noch die Mailzustellung testen. Als Ergebnis erhält man eine aussagekräftige Aufstellung der Ergebnisse, so z.B. für den Mailserver von nausch.org: https://de.ssl-tools.net/mailservers/nausch.org
 +
 +{{ :centos:mail_c7:sssl-tools-ergebnis.png?800 |Bild: Ergebnis des scans bei https://de.ssl-tools.net/mailservers/}}
 +
 +
 + 
  
 ==== eMail-Verkehr ==== ==== eMail-Verkehr ====
Zeile 3078: Zeile 2929:
   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**   * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
-~~DISCUSSION~~ 
  
  • centos/mail_c7/mta_5.1445537798.txt.gz
  • Zuletzt geändert: 22.10.2015 18:16.
  • von django