Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

centos:mail_c7:mta_5 [15.10.2015 15:39. ] – [testssl] djangocentos:mail_c7:mta_5 [18.11.2024 19:12. ] (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 270: Zeile 264:
 <file bash edh_keygen>#!/bin/bash <file bash edh_keygen>#!/bin/bash
 # Script zum Erstellen der Diffie Hellman Schlüssel # Script zum Erstellen der Diffie Hellman Schlüssel
-# Django <django@mailserver.guru> (c) 2015+# Django <django@nausch.org> (c) 2015
 cd /etc/pki/tls/tmp cd /etc/pki/tls/tmp
 umask 022 umask 022
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 4096 -days 7300</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 1324: Zeile 1333:
 ===== Postfix konfigurieren ===== ===== Postfix konfigurieren =====
 Die Konfiguration der TLS-Optionen erfolgt in der Hauptkonfigurationsdatei //**/etc/postfix/main.cf**// unseres Postfix Mailservers. Die Konfiguration der TLS-Optionen erfolgt in der Hauptkonfigurationsdatei //**/etc/postfix/main.cf**// unseres Postfix Mailservers.
-==== Zertifikate und Key ==== +==== Zertifikate und Key(s) ==== 
-Für die (asynchrone] Verschlüsselung benötigen wir neben unserem **[[centos:mail_c7:mta_5?&#schluessel_fuer_das_serverzertifikat_erzeugen|privaten Schlüssel]]**, das zugehörige Zertifikat, sowie die Root-Zertifikate der ausstellenden CA. +Postfix kennt grundsätzlich zwei verschiedene Transportrichtungen bei der Verarbeitung von eMails: 
-<code bash># Django : 2014-10-19 - SSL/TLS - Schutz durch verschlüsselte Verbindungen+ 
 +  * **ankommend:** Für den Empfang der eMails ist unser //**[[centos:mail_c7:mta_1#daemone_queues_und_dienste|SMTP-Daemon]]**// zuständig. 
 +  * **abgehend:** Der Versand bzw. Weiterleitung erfolgt durch den //**[[centos:mail_c7:mta_1#daemone_queues_und_dienste|SMTP-Client]]**//
 + 
 +In aller Regel werden wir unseren SMTP-Daemon mit einem Zertifikat für die TLS-Transportverschlüsselung ausstatten. Aber auch der SMTP-Client kann mit Zertifikat und zugehörigen Schlüssel ausgestattet werden, wenn z.B. der empfangene SMTP-Server unseres Kommunikationspartners an Hand unseres Clientzertifikats überprüfen will/muss ob es sich um einen legitimen Sender handelt. 
 + 
 + 
 +=== SMTP-Daemon (Empfang von eMails) === 
 +Zunächst definieren wir unseren SMTP-Daemon, also die Empfangsrichtung von unserem Mailserver aus gesehen. Für die (asynchrone] Verschlüsselung benötigen wir drei Dinge: 
 +  - **[[centos:mail_c7:mta_5?&#schluessel_fuer_das_serverzertifikat_erzeugen|privaten Schlüssel/Serverkey]]**, den wir auf unserem Server erstellt haben.  
 +  - **[[centos:mail_c7:mta_5#zertifikatserstellung|Zertifikat]]**welches die CA((Certificate Authority)) an Hand unseres [[centos:mail_c7:mta_5#certificate_signing_request_erzeugen|CSR]]((Certificate Signing Request)) erstellt und mit dem Root- bzw. intermediate Zertifikat signiert hat.  
 +  - **[[centos:mail_c7:mta_5#zertifizierungspfad_beim_ssl_zertificate_trusted_chain|CA-Zertifikate]]**: Das Root- und alle Zwischenzertifikate der CA, von der wir unser Serverzertifikat erhalten haben. 
 + 
 +Diese drei Teilen weisen wir nun den zugehörigen Postfixparametern **smtpd_tls_key_file**, **smtpd_tls_cert_file** und **smtpd_tls_CAfile** zu:  
 +  - **[[centos:mail_c7:mta_5?&#schluessel_fuer_das_serverzertifikat_erzeugen|privaten Schlüssel/Serverkey]]:** \\ Unseren privaten Schlüssel/Serverkey haben wir in der Datei **mx01.nausch.org.serverkey_151015.pem** im Verzeichnis //**/etc/pki/postfix/private/**// abgelegt. \\ \\ <code> # vim /etc/pki/postfix/private/mx01.nausch.org.serverkey_151015.pem</code> <file /etc/pki/postfix/private/mx01.nausch.org.serverkey_151015.pem>-----BEGIN RSA PRIVATE KEY----- 
 +MIIJKQIBAAKCAgEA148Cwr3Z9vK9I2uc1iYZK9hbcRoqR/9/6fNRXHAJRYB14OGv 
 +q9tpf43ypjKpZBCL+OE3SCrG3W6/paGQBcNeR2lIqhbD1sPvjv09fTmSiY3qf1v8 
 +FhRUpLk1eXjAShxGpyH6Xrb9xK7tishirSHuCIhXhtjSzNZQeMg+8yfbrQpzRK/
 +vxonHNX1EWC0DS54+5UUT6Eb6Q8kK545+8/Xu5V4INsl+PO3SHnWGdoFGrG7sfbV 
 +gfIhFwnfsyh+9trp5WTeVFu40mzs7WZRHATbrwFZqJ4F/UKpvIuDHsAdZQpvZy8U 
 +H74Mm4xyU8IkU8R1lh1TVGyeUarMRef9xuCjxioqwbw6kHcjfkmY4OI+XlAO7BIJ 
 +EVe2RVocvjqIAeQpFr3pOXCg390/dtWTcdKYq9JUBJLVsvI+iZ1btHH2Do3lsI1O 
 +oBmpvc7tswRVp501ZCPgOv5dkFbPyM+brUF3QZHv6mHAgleTQnUaTRGfBfcEzki/ 
 +TCtZlf66IBEFI7o4I3weD+u+DRfVy5S2mAXwCqL9QTyqf/sasNGlshlDvhrdp/zH 
 +r3m1EID4UpusuSdZ2oqFWztU+ZnKQDRhqjNH1YhEZJu66og4X3hzjL2y8OkCAwEA 
 +AQKCAgEAoKt/IkrCeXhLFGi02UZCgtTcq7wWAd5mqKntXhpAPubWdk2iMLh6W9qi 
 ++PoybwaC8WaI4GKEMh0wk1ehk5swPhqPaJ3vWM1r7O17Jbfh0zSIsBPxjkuYIjRa 
 +xhiC/Av9WP/95bPE0O4ouTtoj3MlBdNrDySyypT3LbyCpaFRIWh/fnjAuHBk+vb1 
 +7dncciELZK5F4W1CT+UXN9fO/T+KHiAKJX/d+EJSbwTLLxDpg9yDOJJx+2Jx/uNX 
 +rKFI835NPTDMl+H9XMUlb8GbdJ9iLPbnOI5AioSWe9YciN5h6ZjKz4atdBNXKMX6 
 +UJ8Bq9xWdN6vfW90npwEKZuXH2xblYHTip+BQD2yDDtGLRFPv70/pWUkoP6mlkcw 
 +D0ycFMD10sYo2tg69QHCwzdzgj6l/UUovu8N1QFgcwhykAEL/oCinDpQup8fuE3G 
 +vjMSmpcoCinDpQKGGUwpc65C5hWj7H3WO13fZGzIl33BBK9B0DG1GdJSAIlTh9hy 
 +cu0llaQ0bVWniXj42QeojGbUmAbB67rzgpN+rAfJilWNuNx0sEyyvDcjI04dJ9pN 
 +zWDpQKGGUwpc65C5hW91z2F1ckD1cHd0Ch53l6571n5Kn13UJ0oUCggEBAP/Q4Yo 
 +BiUpOphahwy7fz5mFWGCnpz5fmUpfNjzJlI+ibqggT7geRbiR8iZUp4+AW+W8u8L 
 +YnpWDErK8cQ+U08mLb3NBTHZETvwsmiAYdHoL/8PvgONmNtUzqD8aInbiQ7nPg95 
 +uQZoYiFSbqfkj+Jcvu9ljrJTkpIoVsLp68040hdF9EbAIEMrPY8o9Dz6/DQpoq2p 
 +dzNHGyFBx62xyaDTMk20fLrPMqF/DxQOoWPSvmMWJs3fXs/33yU4zatnEMx3lDp8 
 +9FlcVMhNEHSizmEvhAnK7vdHPFcvkfQVbK3f8ZCy7B76OmY6lPtkb3MJRGyVuP2B 
 +ljb+IGsa3/H3l0MCggEBANe2tvj7fV1vr3/yOslvnLSxTLR4iDPdUwdF3ujsPthI 
 +sJSB7KswFImUqNHSZ4NoDG+KtE+lYHAkMQMOhG9/U5389Ka/HRgC4wQwPX0jYhrZ 
 +e83S0uVn/aQPgDFhKxfQXqISJguRcraqNGsZAjCZImA1b+hIDNrTsnA/uP6wBATs 
 +mxh5REItS1amoBRdt2fjzJIhRbIdlRBjYPJQl6BWk07AIt4D52XphpuLrmCMUbSY 
 +oTvS/W6VoanymlK8arXLu9+STZDibGEk/H/IzMXJ3fp9tPasxFwrgN8PSaYZ9C3U 
 +0LQXUYKXBfw6cKh98wUV5Yoo/5bhVjqp4oq0ymzKpmMCggEAbRN7l50jOaUivuOa 
 +wesQjmKoqzMuvnADXM8b1MWYiWjxAQp/EXhVKVTClt4JRD/cDOCoJRUNoGwgQaPX 
 +An4wt4bn6g4JMQAFQTGYYMac7wu5q1/i/VDa5Gp80FfPmzhocFpZM/AK3JiVfu/
 +Dvd+Al7Zauo6tf68eGWK2QE08gRQUGwbhC9XkkxVqz0jJv09nGBEZRflI5AmGUAb 
 +DAzKlDB5OnjC1kSSqhmrLDowxoeNdmJzmUStALAIDa7ywyrnFsfGBEpTRecAn4d8 
 +hL8GkJnaCvLkgbt2FxbJfPHFrT3XmoMv+uVnET/ZVne0rbA95K7SegVPL5Ob7w8+ 
 +fcW8UQKCAQEAtZCLLcKwYIbzFyRRqt8Q7V4WjAivy8fMbOC4oSDIPM/iIP3CsMxF 
 +XRANkJ4ilo5reS8sWaV/KKStxD7h5d8sCFyzp+5QlLdJUWsxNjUkDClmdXWwIXuI 
 +GCEb63Q4C1FNdekEsNP51BorCMIB/9nE/2m7Ca4rc7ygAq8ADQ8mMubcHJtlgrYR 
 +JZwWPU4sY3tv4seynBseLq8XGJ4RIdn9H1nFf02V5UfMDvxhB87TrsiRXYNX4U58 
 +xkj28BC7WM1lEudX9k0+n/27serXwNsKxh4sxTviAxpy3E1H1lEeH71y9UJzTxHC 
 +7exaiteIR42IqOOdTefY5oO7tLg7cZqYtQKCAQA4Fpbl/101OWzNLqgeS0csmRwh 
 +o5xBcruthSFRVT+gbtB3HSa0ImW69YofutC1FNdekEsNP51BorCMIBtcXaGFHXx3 
 +1aTxVTN1bWtcqzeV9zLvxQ39FWRZczKQzf2eSEQcO3MQJu3X+F1dbcpuWKHOg6S9 
 +QKgUAh7HeTb9A+/WTzuHVUllNvRJtgk6lSDEBMHHrisLBav5AguBSl+Rbva0wvI7 
 +wm+bdTNKhHvZ7tepw8wwD321Iv82me7afNMjlV2OLy0OZ5jjXLJIXcV1QTIikIUm 
 +MeXU1e4o7RXZ6IjxvjPObtcEJYy0etm3AkKo+Ql/PTn4QG+p7D3gWVKRbMXn 
 +-----END RSA PRIVATE KEY-----</file> 
 +  - **[[centos:mail_c7:mta_5#zertifikatserstellung|Zertifikat]]:** \\ Das Serverzertifikat, welches wir von der ausstellenden CA erhalten haben, legen wir im Verzeichnis //**/etc/pki/postfix/certs/**// abIn unserem Konfigurationsbeispiel wäre das die Datei **rapidssl_2015-10-15_mx01.nausch.org.certificate.pem**. \\ \\ <code> # vim /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.certificate.pem</code> <file /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.certificate.pem>-----BEGIN CERTIFICATE----- 
 +MIIFoDCCBIigAwIBAgICKRAwDQYJKoZIhvcNAQELBQAwRzELMAkGA1UEBhMCVVMx 
 +FjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlkU1NMIFNIQTI1 
 +NiBDQSAtIEc0MB4XDTE1MTAxNDIyMjA1M1oXDTE3MTAxNTE2MDkxMVowgZMxEzAR 
 +BgNVBAsTCkdUMjI2Njc5NDExMTAvBgNVBAsTKFNlZSB3d3cucmFwaWRzc2wuY29t 
 +L3Jlc291cmNlcy9jcHMgKGMpMTUxLzAtBgNVBAsTJkRvbWFpbiBDb250cm9sIFZh 
 +bGlkYXRlZCAtIFJhcGlkU1NMKFIpMRgwFgYDVQQDEw9teDAxLm5hdXNjaC5vcmcw 
 +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXjwLCvdn28r0ja5zWJhkr 
 +2FtxGipH/3/p81FccAlFgHXg4a98E11VEOfH7mjJqi3a6hx+MQDGD78aSxpqAE2c 
 +M5No3fONVr3cFoj/IVVUG+EwMOSr22l/jfKmMqlkEIv44TdIKsbdbr+loZAFw15H 
 +aUiqFsPWw++O/T19OZKJjep/W/wWFFSkuTV5eMBKHEanIfpetv3Eru2KyGKtIe4I 
 +iFeG2NLM1lB4yD7zJ9utCnNEr/O/Gicc1fURYLQNLnj7lRRPoRvpDyQrnjn7z9e7 
 +lXgg2yX487dIedYZ2gUasbux9tWB8iEXCd+zKH722unlZN5UW7jSbOztZlEcBNuv 
 +AVmongX9Qqm8i4MewB1lCm9nLxQfvgybjHJTwiRTxHWWHVNUbJ5RqsxF5/3G4KPG 
 +KirBvDqQdyN+SZjg4j5eUA7sEgkRV7ZFWhy+OogB5CkWvek5cKDf3T921ZNx0pir 
 +0lQEktWy8j6JnVu0cfYOjeWwjU6gGam9zu2zBFWnnTVkI+A6/l2QVs/Iz5utQXdB 
 +ke/qYcCCV5NCdRpNEZ8F9wTOSL9MK1mV/rogEQUjujgjfB4P674NF9XLlLaYBfAK 
 +ov1BPKp/+xqw0aWyGUO+Gt2n/MevebUQgPhSm6y5J1naioVbO1T5mcpANGGqM0fV 
 +iERkm7rqiDhfeHOMvbLw6QIDAQABo4IBRzCCAUMwHwYDVR0jBBgwFoAU87VWDMQJ 
 +sLTPH6r53SNW8HfoofkwVwYIKwYBBQUHAQEESzBJMB8GCCsGAQUFBzABhhNodHRw 
 +Oi8vZ3ouc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8vZ3ouc3ltY2IuY29t 
 +L2d6LmNydDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG 
 +AQUFBwMCMBoGA1UdEQQTMBGCD214MDEubmF1c2NoLm9yZzArBgNVHR8EJDAiMCCg 
 +HqAchhpodHRwOi8vZ3ouc3ltY2IuY29tL2d6LmNybDAMBgNVHRMBAf8EAjAAMEEG 
 +A1UdIAQ6MDgwNgYGZ4EMAQIBMCwwKgYIKwYBBQUHAgEWHmh0dHBzOi8vd3d3LnJh 
 +cGlkc3NsLmNvbS9sZWdhbDANBgkqhkiG9w0BAQsFAAOCAQEAI741GwJW1MPFpzn6 
 +k0KavUzJp9uybjbRGrH1p1HbKX7nMj93qO7BcN6x3aXVxAe5bDPhK7flmlAwIAyn 
 +X+EVjC0uV10zY75uY8jfyQ2j7qi2FMMWsa98kWMPzxkU9k7DXDSNIXvhoPhfT9ep 
 +A0pY4peiKrrCDGvW6/G2Bx8KXpOjUlNC7GGZxK9ZOVvCe8l5fZFT/II4dEYiU/bJ 
 +Md2v5ayCTGAt8S5ITz/6o0MALtIB9M0/AyqqxFKLinIqOAoKxWE+4fO6J3t+YOGp 
 +eVH+n//PADBewKZZF43KSROsqM6fE4DeRdUk77Tp9LyCoKdPFHo04XHmE0iyBT6h 
 +x5L03w== 
 +-----END CERTIFICATE-----</file> 
 +  - **[[centos:mail_c7:mta_5#zertifizierungspfad_beim_ssl_zertificate_trusted_chain|CA-Zertifikate]]**: \\ Da wir nicht sicher sein können, dass der einliefernde SMTP-Client alle notwendigen Zwischenzertifikate in seinem [[centos:mail_c7:mta_5#vertrauensmodelle_in_public-key-infrastrukturen|trusted Root CA Store]] vorhält, müssen wir diese dem Postfix-SMTP-Daemon bekannt geben, damit der Daemon diese beim Aushandeln der TLS-Verschlüsselung auch [[centos:mail_c7:mta_5#zertifizierungspfad_beim_ssl_zertificate_trusted_chain|diese Zertifikate]] dem SMTP-Client bekannt geben kann. \\ \\ Alle nötigen CA-Zertifikate legen wir nun nacheinander in einer Datei ab und zwar in der Reihenfolge vom Serverzertifikat in Richtung des obersten Root-Zertifikates der CA ab. Wenn wir nicht sicher sind welche Zwischenzertifikate genau benötigt werden, ermitteln wir diese wie folgt. Als erstes ermitteln wir, mit welchem Zertifikat unser Serverzertifikat signiert wurde. \\ \\ <code> # openssl x509 -subject -issuer -dates -noout -in /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.certificate.pem</code> <code>subject= /OU=GT22667941/OU=See www.rapidssl.com/resources/cps (c)15/OU=Domain Control Validated - RapidSSL(R)/CN=mx01.nausch.org 
 +issuer= /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G4 
 +notBefore=Oct 14 22:20:53 2015 GMT 
 +notAfter=Oct 15 16:09:11 2017 GMT</code> Wir benötigen also das Zertifikat des **CN=//RapidSSL SHA256 CA - G4//**. Wir besorgen uns nun dieses Root-Zertifikat von der **CA=//GeoTrust Inc.//**. Auch bei diesem Zertifikat überprüfen wir nun, ob es sich um das selbstsignierte Root-Zertifikat der CA handelt, oder ob dieses Zertifikat von einem anderen Root-Zertifikat signiert wurde. \\ <code> # openssl x509 -subject -issuer -dates -noout -in /etc/pki/postfix/certs/RapidSSL_SHA256_CA_-_G4.pem</code> <code>subject= /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G4 
 +issuer= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +notBefore=Jun 30 00:00:00 2015 GMT 
 +notAfter=Jun 29 23:59:59 2025 GMT</code> Da sich **subject** und **issuer** unterscheiden, wissen wir nun, dass es sich bei dem Zertifikate **RapidSSL_SHA256_CA_-_G4.pem** um ein Intermediate-Zertifikat handelt und wir uns das Zertifikat **GeoTrust_Primary_Certification_Authority_-_G3.pem** besorgen müssen. Wir besorgen uns nun auch noch dieses Root-Zertifikat von der **CA=//GeoTrust Primary Certification Authority - G3//**. Haben wir dieses Zertifikat gefunden, ermitteln wir auch hier, ob es sich um das selbstsignierte Root-Zertifikat der CA handelt, oder ob dieses Zertifikat von einem anderen Root-Zertifikat signiert wurde. \\ <code> # openssl x509 -subject -issuer -dates -noout -in /etc/pki/postfix/certs/GeoTrust_Primary_Certification_Authority_-_G3.pem</code><code>subject= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +issuer= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +notBefore=Apr  2 00:00:00 2008 GMT 
 +notAfter=Dec  1 23:59:59 2037 GMT 
 +</code> Da sich hier nun **subject** und **issuer** **__nicht__** unterscheiden, wissen wir, es handelt sich hier um das selbstsignierte Root-Zertifikat der CA! <WRAP center round tip 80%> 
 +Damit wir später leichter die Zertifikate zuordnen können, kopieren wir die Ausgaben der obigen **openssl**-Aufrufe in die jeweiligen Zertifikatsdateien und stellen den vier Zeilen jeweils eine Raute **#** voran!  
 +</WRAP> Wir haben also nun drei Zertifikatsdateien mit folgendem Inhalt: <code> # vim /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.certificate.pem</code> <file bash /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.certificate.pem># subject= /OU=GT22667941/OU=See www.rapidssl.com/resources/cps (c)15/OU=Domain Control Validated - RapidSSL(R)/CN=mx01.nausch.org 
 +# issuer= /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G4 
 +# notBefore=Oct 14 22:20:53 2015 GMT 
 +# notAfter=Oct 15 16:09:11 2017 GMT 
 +-----BEGIN CERTIFICATE----- 
 +MIIFoDCCBIigAwIBAgICKRAwDQYJKoZIhvcNAQELBQAwRzELMAkGA1UEBhMCVVMx 
 +FjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlkU1NMIFNIQTI1 
 +NiBDQSAtIEc0MB4XDTE1MTAxNDIyMjA1M1oXDTE3MTAxNTE2MDkxMVowgZMxEzAR 
 +BgNVBAsTCkdUMjI2Njc5NDExMTAvBgNVBAsTKFNlZSB3d3cucmFwaWRzc2wuY29t 
 +L3Jlc291cmNlcy9jcHMgKGMpMTUxLzAtBgNVBAsTJkRvbWFpbiBDb250cm9sIFZh 
 +bGlkYXRlZCAtIFJhcGlkU1NMKFIpMRgwFgYDVQQDEw9teDAxLm5hdXNjaC5vcmcw 
 +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXjwLCvdn28r0ja5zWJhkr 
 +2FtxGipH/3/p81FccAlFgHXg4a98E11VEOfH7mjJqi3a6hx+MQDGD78aSxpqAE2c 
 +M5No3fONVr3cFoj/IVVUG+EwMOSr22l/jfKmMqlkEIv44TdIKsbdbr+loZAFw15H 
 +aUiqFsPWw++O/T19OZKJjep/W/wWFFSkuTV5eMBKHEanIfpetv3Eru2KyGKtIe4I 
 +iFeG2NLM1lB4yD7zJ9utCnNEr/O/Gicc1fURYLQNLnj7lRRPoRvpDyQrnjn7z9e7 
 +lXgg2yX487dIedYZ2gUasbux9tWB8iEXCd+zKH722unlZN5UW7jSbOztZlEcBNuv 
 +AVmongX9Qqm8i4MewB1lCm9nLxQfvgybjHJTwiRTxHWWHVNUbJ5RqsxF5/3G4KPG 
 +KirBvDqQdyN+SZjg4j5eUA7sEgkRV7ZFWhy+OogB5CkWvek5cKDf3T921ZNx0pir 
 +0lQEktWy8j6JnVu0cfYOjeWwjU6gGam9zu2zBFWnnTVkI+A6/l2QVs/Iz5utQXdB 
 +ke/qYcCCV5NCdRpNEZ8F9wTOSL9MK1mV/rogEQUjujgjfB4P674NF9XLlLaYBfAK 
 +ov1BPKp/+xqw0aWyGUO+Gt2n/MevebUQgPhSm6y5J1naioVbO1T5mcpANGGqM0fV 
 +iERkm7rqiDhfeHOMvbLw6QIDAQABo4IBRzCCAUMwHwYDVR0jBBgwFoAU87VWDMQJ 
 +sLTPH6r53SNW8HfoofkwVwYIKwYBBQUHAQEESzBJMB8GCCsGAQUFBzABhhNodHRw 
 +Oi8vZ3ouc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8vZ3ouc3ltY2IuY29t 
 +L2d6LmNydDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG 
 +AQUFBwMCMBoGA1UdEQQTMBGCD214MDEubmF1c2NoLm9yZzArBgNVHR8EJDAiMCCg 
 +HqAchhpodHRwOi8vZ3ouc3ltY2IuY29tL2d6LmNybDAMBgNVHRMBAf8EAjAAMEEG 
 +A1UdIAQ6MDgwNgYGZ4EMAQIBMCwwKgYIKwYBBQUHAgEWHmh0dHBzOi8vd3d3LnJh 
 +cGlkc3NsLmNvbS9sZWdhbDANBgkqhkiG9w0BAQsFAAOCAQEAI741GwJW1MPFpzn6 
 +k0KavUzJp9uybjbRGrH1p1HbKX7nMj93qO7BcN6x3aXVxAe5bDPhK7flmlAwIAyn 
 +X+EVjC0uV10zY75uY8jfyQ2j7qi2FMMWsa98kWMPzxkU9k7DXDSNIXvhoPhfT9ep 
 +A0pY4peiKrrCDGvW6/G2Bx8KXpOjUlNC7GGZxK9ZOVvCe8l5fZFT/II4dEYiU/bJ 
 +Md2v5ayCTGAt8S5ITz/6o0MALtIB9M0/AyqqxFKLinIqOAoKxWE+4fO6J3t+YOGp 
 +eVH+n//PADBewKZZF43KSROsqM6fE4DeRdUk77Tp9LyCoKdPFHo04XHmE0iyBT6h 
 +x5L03w== 
 +-----END CERTIFICATE-----</file> <code> # vim vim /etc/pki/postfix/certs/RapidSSL_SHA256_CA_-_G4.pem> </code> <file bash /etc/pki/postfix/certs/RapidSSL_SHA256_CA_-_G4.pem># subject= /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G4 
 +# issuer= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# notBefore=Jun 30 00:00:00 2015 GMT 
 +# notAfter=Jun 29 23:59:59 2025 GMT 
 +-----BEGIN CERTIFICATE----- 
 +MIIEpjCCA46gAwIBAgIQKByJKWYUQ4BCY1U6MkCuszANBgkqhkiG9w0BAQsFADCB 
 +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT 
 +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s 
 +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv 
 +cml0eSAtIEczMB4XDTE1MDYzMDAwMDAwMFoXDTI1MDYyOTIzNTk1OVowRzELMAkG 
 +A1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlk 
 +U1NMIFNIQTI1NiBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC 
 +AQEAwJ46D5qyutPS3BXs0DBUWTBNQFGuQnFx0o1Tc4H+uODElsWOfsLxt2NKz6ce 
 +P6jnzlOg+i331ubOcBGm7uEDUtJo3j0IDYf9HNcLl2JtgjB2G0c6xPfO7R18jLcX 
 +jlOAHh0PXYz5kOQEHgJ+y7BJ79pSJfv7Z+3dhHRZhA7z3nBmjeRSOPdTWjcTZws+ 
 +u6hYty7t/7deEXO5d0VSZ0auxNwkgYl2CsqhbGZzBIKq9XBsXxuaAHlG1n96Jhcw 
 +zzlLLHTZiUR2ENDt94u7iQV1TQsNs9rpv/FqfSoR2x6fjOPEBmnhHYhFOdFuVdiq 
 +t5tv6vTerBcRkl1Am4N7muL3qQIDAQABo4IBOjCCATYwLgYIKwYBBQUHAQEEIjAg 
 +MB4GCCsGAQUFBzABhhJodHRwOi8vZy5zeW1jZC5jb20wEgYDVR0TAQH/BAgwBgEB 
 +/wIBADBJBgNVHSAEQjBAMD4GBmeBDAECATA0MDIGCCsGAQUFBwIBFiZodHRwczov 
 +L3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2VzL2NwczA2BgNVHR8ELzAtMCugKaAn 
 +hiVodHRwOi8vZy5zeW1jYi5jb20vR2VvVHJ1c3RQQ0EtRzMuY3JsMB0GA1UdJQQW 
 +MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE 
 +FPO1VgzECbC0zx+q+d0jVvB36KH5MB8GA1UdIwQYMBaAFMR5yo6hTgMdHNxr2zFb 
 +lD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQDDftiDSwRMVSkqTxSdmm7ekHDBpCZM 
 +iI54SO+9nLCg9fBm/P5ZJuF578i3YGSoi0fqL+CDmdpBGdfFvgX68pAR8Ar/bNwF 
 +tNgGb6Rvjb4gK1Tb+aJFg5oepSGJNR18IFwX/QQuRdiyxvhCmfxUCE5LgF85N7qV 
 +TqY3Cp6TXodb6ZDWqLZlCI1hSeuDIKldGxZgYmsvVPtaAg16J+JL4QUUwuTp+XDA 
 +2fc0ZQ6ikUusKPK3CA+Yytc+cLbIC/GLnFH4xhBs0lNPYowRAD6I37/m0sxwve0l 
 +nPvdJAq9WZFKQgM4EnEyiHagjny7Mu+IKhvUam9QuVJni6sw+h/94ySa 
 +-----END CERTIFICATE-----</file> <code> # vim /etc/pki/postfix/certs/GeoTrust_Primary_Certification_Authority_-_G3.pem> </code><file bash /etc/pki/postfix/certs/GeoTrust_Primary_Certification_Authority_-_G3.pem># subject= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# issuer= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# notBefore=Apr  2 00:00:00 2008 GMT 
 +# notAfter=Dec  1 23:59:59 2037 GMT 
 +-----BEGIN CERTIFICATE----- 
 +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB 
 +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT 
 +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s 
 +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv 
 +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ 
 +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg 
 +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 
 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg 
 +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz 
 ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm 
 +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn 
 +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/
 +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL 
 +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC 
 +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw 
 +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB 
 +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB 
 +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN 
 +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD 
 +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH 
 +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G 
 +spki4cErx5z481+oghLrGREt 
 +-----END CERTIFICATE-----</file> Wir können nun die Root-Zertifikate unserem Postfix auf zwei Arten zur Verfügung stellen: 
 +    - **certificate_chain**: Hierzu kopieren wir die beiden Root-Zertifikate in eine Datei und weisen diese Datei dann später dem Postfix-Parameter **smtpd_tls_CAfile** zu. <html><br><br></html> <code> # cat /etc/pki/postfix/certs/RapidSSL_SHA256_CA_-_G4.pem \ 
 +       /etc/pki/postfix/certs/GeoTrust_Primary_Certification_Authority_-_G3.pem > \ 
 +       /etc/pki/postfix/certs/RapidSSL_ca_certificate_chain.pem</code> Als Ergebnis erhalten wir nun: <code> # vim /etc/pki/postfix/certs/RapidSSL_ca_certificate_chain.pem</code> <file bash /etc/pki/postfix/certs/RapidSSL_ca_certificate_chain.pem># subject= /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G4 
 +# issuer= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# notBefore=Jun 30 00:00:00 2015 GMT 
 +# notAfter=Jun 29 23:59:59 2025 GMT 
 +-----BEGIN CERTIFICATE----- 
 +MIIEpjCCA46gAwIBAgIQKByJKWYUQ4BCY1U6MkCuszANBgkqhkiG9w0BAQsFADCB 
 +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT 
 +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s 
 +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv 
 +cml0eSAtIEczMB4XDTE1MDYzMDAwMDAwMFoXDTI1MDYyOTIzNTk1OVowRzELMAkG 
 +A1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlk 
 +U1NMIFNIQTI1NiBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC 
 +AQEAwJ46D5qyutPS3BXs0DBUWTBNQFGuQnFx0o1Tc4H+uODElsWOfsLxt2NKz6ce 
 +P6jnzlOg+i331ubOcBGm7uEDUtJo3j0IDYf9HNcLl2JtgjB2G0c6xPfO7R18jLcX 
 +jlOAHh0PXYz5kOQEHgJ+y7BJ79pSJfv7Z+3dhHRZhA7z3nBmjeRSOPdTWjcTZws+ 
 +u6hYty7t/7deEXO5d0VSZ0auxNwkgYl2CsqhbGZzBIKq9XBsXxuaAHlG1n96Jhcw 
 +zzlLLHTZiUR2ENDt94u7iQV1TQsNs9rpv/FqfSoR2x6fjOPEBmnhHYhFOdFuVdiq 
 +t5tv6vTerBcRkl1Am4N7muL3qQIDAQABo4IBOjCCATYwLgYIKwYBBQUHAQEEIjAg 
 +MB4GCCsGAQUFBzABhhJodHRwOi8vZy5zeW1jZC5jb20wEgYDVR0TAQH/BAgwBgEB 
 +/wIBADBJBgNVHSAEQjBAMD4GBmeBDAECATA0MDIGCCsGAQUFBwIBFiZodHRwczov 
 +L3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2VzL2NwczA2BgNVHR8ELzAtMCugKaAn 
 +hiVodHRwOi8vZy5zeW1jYi5jb20vR2VvVHJ1c3RQQ0EtRzMuY3JsMB0GA1UdJQQW 
 +MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE 
 +FPO1VgzECbC0zx+q+d0jVvB36KH5MB8GA1UdIwQYMBaAFMR5yo6hTgMdHNxr2zFb 
 +lD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQDDftiDSwRMVSkqTxSdmm7ekHDBpCZM 
 +iI54SO+9nLCg9fBm/P5ZJuF578i3YGSoi0fqL+CDmdpBGdfFvgX68pAR8Ar/bNwF 
 +tNgGb6Rvjb4gK1Tb+aJFg5oepSGJNR18IFwX/QQuRdiyxvhCmfxUCE5LgF85N7qV 
 +TqY3Cp6TXodb6ZDWqLZlCI1hSeuDIKldGxZgYmsvVPtaAg16J+JL4QUUwuTp+XDA 
 +2fc0ZQ6ikUusKPK3CA+Yytc+cLbIC/GLnFH4xhBs0lNPYowRAD6I37/m0sxwve0l 
 +nPvdJAq9WZFKQgM4EnEyiHagjny7Mu+IKhvUam9QuVJni6sw+h/94ySa 
 +-----END CERTIFICATE----- 
 +# subject= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# issuer= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# notBefore=Apr  2 00:00:00 2008 GMT 
 +# notAfter=Dec  1 23:59:59 2037 GMT 
 +-----BEGIN CERTIFICATE----- 
 +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB 
 +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT 
 +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s 
 +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv 
 +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ 
 +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg 
 +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 
 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg 
 +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz 
 ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm 
 +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn 
 +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/
 +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL 
 +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC 
 +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw 
 +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB 
 +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB 
 +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN 
 +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD 
 +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH 
 +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G 
 +spki4cErx5z481+oghLrGREt 
 +-----END CERTIFICATE-----</file>  
 +    - **full_certificate_chain**: Hier kopieren wir nun unser Serverzertifikat, gefolgt vom Intermediate Zertifikat und dem Root-CA Zertifikat in eine Datei. Diese Datei weisen wir dann dem Postfix Parameter **smtpd_tls_cert_file** zu. <html><br><br></html> <code> # cat /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.certificate.pem \ 
 +       /etc/pki/postfix/certs/RapidSSL_SHA256_CA_-_G4.pem \ 
 +       /etc/pki/postfix/certs/GeoTrust_Primary_Certification_Authority_-_G3.pem > \ 
 +       /etc/pki/postfix/rapidssl_2015-10-15_mx01.nausch.org.full_certificate_chain.pem</code> Als Ergebnis erhalten wir nun: <code> # vim /etc/pki/postfix/rapidssl_2015-10-15_mx01.nausch.org.full_certificate_chain.pem</code> <file bash /etc/pki/postfix/rapidssl_2015-10-15_mx01.nausch.org.full_certificate_chain.pem># subject= /OU=GT22667941/OU=See www.rapidssl.com/resources/cps (c)15/OU=Domain Control Validated - RapidSSL(R)/CN=mx01.nausch.org 
 +# issuer= /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G4                                                                         
 +# notBefore=Oct 14 22:20:53 2015 GMT                                                                                               
 +# notAfter=Oct 15 16:09:11 2017 GMT                                                                                                
 +-----BEGIN CERTIFICATE-----                                                                                                        
 +MIIFoDCCBIigAwIBAgICKRAwDQYJKoZIhvcNAQELBQAwRzELMAkGA1UEBhMCVVMx                                                                   
 +FjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlkU1NMIFNIQTI1                                                                   
 +NiBDQSAtIEc0MB4XDTE1MTAxNDIyMjA1M1oXDTE3MTAxNTE2MDkxMVowgZMxEzAR                                                                   
 +BgNVBAsTCkdUMjI2Njc5NDExMTAvBgNVBAsTKFNlZSB3d3cucmFwaWRzc2wuY29t                                                                   
 +L3Jlc291cmNlcy9jcHMgKGMpMTUxLzAtBgNVBAsTJkRvbWFpbiBDb250cm9sIFZh                                                                   
 +bGlkYXRlZCAtIFJhcGlkU1NMKFIpMRgwFgYDVQQDEw9teDAxLm5hdXNjaC5vcmcw                                                                   
 +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXjwLCvdn28r0ja5zWJhkr                                                                   
 +2FtxGipH/3/p81FccAlFgHXg4a98E11VEOfH7mjJqi3a6hx+MQDGD78aSxpqAE2c                                                                   
 +M5No3fONVr3cFoj/IVVUG+EwMOSr22l/jfKmMqlkEIv44TdIKsbdbr+loZAFw15H                                                                   
 +aUiqFsPWw++O/T19OZKJjep/W/wWFFSkuTV5eMBKHEanIfpetv3Eru2KyGKtIe4I                                                                   
 +iFeG2NLM1lB4yD7zJ9utCnNEr/O/Gicc1fURYLQNLnj7lRRPoRvpDyQrnjn7z9e7                                                                   
 +lXgg2yX487dIedYZ2gUasbux9tWB8iEXCd+zKH722unlZN5UW7jSbOztZlEcBNuv                                                                   
 +AVmongX9Qqm8i4MewB1lCm9nLxQfvgybjHJTwiRTxHWWHVNUbJ5RqsxF5/3G4KPG                                                                   
 +KirBvDqQdyN+SZjg4j5eUA7sEgkRV7ZFWhy+OogB5CkWvek5cKDf3T921ZNx0pir                                                                   
 +0lQEktWy8j6JnVu0cfYOjeWwjU6gGam9zu2zBFWnnTVkI+A6/l2QVs/Iz5utQXdB                                                                   
 +ke/qYcCCV5NCdRpNEZ8F9wTOSL9MK1mV/rogEQUjujgjfB4P674NF9XLlLaYBfAK                                                                   
 +ov1BPKp/+xqw0aWyGUO+Gt2n/MevebUQgPhSm6y5J1naioVbO1T5mcpANGGqM0fV                                                                   
 +iERkm7rqiDhfeHOMvbLw6QIDAQABo4IBRzCCAUMwHwYDVR0jBBgwFoAU87VWDMQJ                                                                   
 +sLTPH6r53SNW8HfoofkwVwYIKwYBBQUHAQEESzBJMB8GCCsGAQUFBzABhhNodHRw                                                                   
 +Oi8vZ3ouc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8vZ3ouc3ltY2IuY29t                                                                   
 +L2d6LmNydDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG                                                                   
 +AQUFBwMCMBoGA1UdEQQTMBGCD214MDEubmF1c2NoLm9yZzArBgNVHR8EJDAiMCCg                                                                   
 +HqAchhpodHRwOi8vZ3ouc3ltY2IuY29tL2d6LmNybDAMBgNVHRMBAf8EAjAAMEEG                                                                   
 +A1UdIAQ6MDgwNgYGZ4EMAQIBMCwwKgYIKwYBBQUHAgEWHmh0dHBzOi8vd3d3LnJh                                                                   
 +cGlkc3NsLmNvbS9sZWdhbDANBgkqhkiG9w0BAQsFAAOCAQEAI741GwJW1MPFpzn6                                                                   
 +k0KavUzJp9uybjbRGrH1p1HbKX7nMj93qO7BcN6x3aXVxAe5bDPhK7flmlAwIAyn                                                                   
 +X+EVjC0uV10zY75uY8jfyQ2j7qi2FMMWsa98kWMPzxkU9k7DXDSNIXvhoPhfT9ep                                                                   
 +A0pY4peiKrrCDGvW6/G2Bx8KXpOjUlNC7GGZxK9ZOVvCe8l5fZFT/II4dEYiU/bJ                                                                   
 +Md2v5ayCTGAt8S5ITz/6o0MALtIB9M0/AyqqxFKLinIqOAoKxWE+4fO6J3t+YOGp                                                                   
 +eVH+n//PADBewKZZF43KSROsqM6fE4DeRdUk77Tp9LyCoKdPFHo04XHmE0iyBT6h                                                                   
 +x5L03w==                                                                                                                           
 +-----END CERTIFICATE-----                                                                                                          
 +# subject= /C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G4 
 +# issuer= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# notBefore=Jun 30 00:00:00 2015 GMT 
 +# notAfter=Jun 29 23:59:59 2025 GMT 
 +-----BEGIN CERTIFICATE----- 
 +MIIEpjCCA46gAwIBAgIQKByJKWYUQ4BCY1U6MkCuszANBgkqhkiG9w0BAQsFADCB 
 +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT 
 +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s 
 +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv 
 +cml0eSAtIEczMB4XDTE1MDYzMDAwMDAwMFoXDTI1MDYyOTIzNTk1OVowRzELMAkG 
 +A1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xIDAeBgNVBAMTF1JhcGlk 
 +U1NMIFNIQTI1NiBDQSAtIEc0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC 
 +AQEAwJ46D5qyutPS3BXs0DBUWTBNQFGuQnFx0o1Tc4H+uODElsWOfsLxt2NKz6ce 
 +P6jnzlOg+i331ubOcBGm7uEDUtJo3j0IDYf9HNcLl2JtgjB2G0c6xPfO7R18jLcX 
 +jlOAHh0PXYz5kOQEHgJ+y7BJ79pSJfv7Z+3dhHRZhA7z3nBmjeRSOPdTWjcTZws+ 
 +u6hYty7t/7deEXO5d0VSZ0auxNwkgYl2CsqhbGZzBIKq9XBsXxuaAHlG1n96Jhcw 
 +zzlLLHTZiUR2ENDt94u7iQV1TQsNs9rpv/FqfSoR2x6fjOPEBmnhHYhFOdFuVdiq 
 +t5tv6vTerBcRkl1Am4N7muL3qQIDAQABo4IBOjCCATYwLgYIKwYBBQUHAQEEIjAg 
 +MB4GCCsGAQUFBzABhhJodHRwOi8vZy5zeW1jZC5jb20wEgYDVR0TAQH/BAgwBgEB 
 +/wIBADBJBgNVHSAEQjBAMD4GBmeBDAECATA0MDIGCCsGAQUFBwIBFiZodHRwczov 
 +L3d3dy5nZW90cnVzdC5jb20vcmVzb3VyY2VzL2NwczA2BgNVHR8ELzAtMCugKaAn 
 +hiVodHRwOi8vZy5zeW1jYi5jb20vR2VvVHJ1c3RQQ0EtRzMuY3JsMB0GA1UdJQQW 
 +MBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE 
 +FPO1VgzECbC0zx+q+d0jVvB36KH5MB8GA1UdIwQYMBaAFMR5yo6hTgMdHNxr2zFb 
 +lD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQDDftiDSwRMVSkqTxSdmm7ekHDBpCZM 
 +iI54SO+9nLCg9fBm/P5ZJuF578i3YGSoi0fqL+CDmdpBGdfFvgX68pAR8Ar/bNwF 
 +tNgGb6Rvjb4gK1Tb+aJFg5oepSGJNR18IFwX/QQuRdiyxvhCmfxUCE5LgF85N7qV 
 +TqY3Cp6TXodb6ZDWqLZlCI1hSeuDIKldGxZgYmsvVPtaAg16J+JL4QUUwuTp+XDA 
 +2fc0ZQ6ikUusKPK3CA+Yytc+cLbIC/GLnFH4xhBs0lNPYowRAD6I37/m0sxwve0l 
 +nPvdJAq9WZFKQgM4EnEyiHagjny7Mu+IKhvUam9QuVJni6sw+h/94ySa 
 +-----END CERTIFICATE----- 
 +# subject= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# issuer= /C=US/O=GeoTrust Inc./OU=(c) 2008 GeoTrust Inc. - For authorized use only/CN=GeoTrust Primary Certification Authority - G3 
 +# notBefore=Apr  2 00:00:00 2008 GMT 
 +# notAfter=Dec  1 23:59:59 2037 GMT 
 +-----BEGIN CERTIFICATE----- 
 +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB 
 +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT 
 +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s 
 +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv 
 +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ 
 +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg 
 +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 
 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg 
 +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz 
 ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm 
 +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn 
 +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/
 +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL 
 +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC 
 +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw 
 +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB 
 +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB 
 +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN 
 +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD 
 +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH 
 +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G 
 +spki4cErx5z481+oghLrGREt 
 +-----END CERTIFICATE-----</file> 
 +    * Variante **a**: Hier weisen wir dem Postfix-Parameter **smtpd_tls_cert_file** der Datei zu, in dem sich "nur" das Serverzertifikat befindet. Beim Parameter **smtpd_tls_CAfile** verweisen wir auf die Datei mit den beiden Root-Zertifikats-Kette zu. <html><br><br></html> <code bash># Django : 2014-10-19 - SSL/TLS - Schutz durch verschlüsselte Verbindungen
 #          (Postfixbuch: Kapitel 20.2) #          (Postfixbuch: Kapitel 20.2)
-#          Pfade für die Key- und Zertifikatsdateien+#          Pfade für die Key- und Zertifikatsdateien für den SMTP-Daemon 
 +#          Konfigurationsbeispiel "a" bei dem das Serverzertifikat und die beiden  
 +#          Root-Zertifikate der CA in getrennten Dateien vorliegen. 
 # default: smtpd_tls_key_file = $smtpd_tls_cert_file # default: smtpd_tls_key_file = $smtpd_tls_cert_file
 #          smtpd_tls_cert_file = #          smtpd_tls_cert_file =
 #          smtpd_tls_CAfile = #          smtpd_tls_CAfile =
-#          smtp_tls_CAfile = +smtpd_tls_key_file = /etc/pki/postfix/private/mx01.nausch.org.serverkey_151015.pem 
-smtpd_tls_key_file = /etc/pki/postfix/private/serverkey_2014-04-09.pem +smtpd_tls_cert_file = /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.certificate.pem 
-smtpd_tls_cert_file = /etc/pki/postfix/certs/mx01.nausch.org.servercert.pem +smtpd_tls_CAfile = /etc/pki/postfix/certs/RapidSSL_ca_certificate_chain.pem 
-smtpd_tls_CAfile = /etc/pki/postfix/certs/rapid_geotrust_equifax_bundle.pem+</code> 
 +    * Variante **b**: Hier weisen wir dem Postfix-Parameter **smtpd_tls_cert_file** diejenige Datei zu, in der, angefangen vom Serverzertifikat bis hin zum selbstsignierten Root-Zertifikat der CA, __alle__ benötigten Zertifikate vorfinden. Den Parameter **smtpd_tls_CAfile ** lassen wir erst einmal unbesetzt! <html><br><br></html> <code bash># Django : 2014-10-19 - SSL/TLS - Schutz durch verschlüsselte Verbindungen 
 +#          (Postfixbuch: Kapitel 20.2) 
 +#          Pfade für die Key- und Zertifikatsdateien für den SMTP-Daemon 
 +#          Konfigurationsbeispiel "b" bei dem das Serverzertifikat und die beiden  
 +#          Root-Zertifikate der CA in einer gemainsamen Dateien vorliegen. 
 +# default: smtpd_tls_key_file = $smtpd_tls_cert_file 
 +#          smtpd_tls_cert_file = 
 +#          smtpd_tls_CAfile = 
 +smtpd_tls_key_file = /etc/pki/postfix/private/mx01.nausch.org.serverkey_151015.pem 
 +smtpd_tls_cert_file = /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.full_certificate_chain.pem 
 +smtpd_tls_CAfile =  
 +</code> 
 + 
 +Haben die Konfiguration werden Informationen zur TLS-Verschlüsselung im Mailheader der angenommenen Nachrichten eingefügt, vorausgesetzt wir haben den Parameter **[[centos:mail_c7:mta_5#informationen_im_mailheader_zur_verschluesselung|smtpd_tls_received_header]] = //yes//** gesetzt. Nachfolgendes Beispiel zeigt einen solchen Eintrag: 
 +<html><pre class="code">Received: from mx1.piratenpartei-bayern.de (mx1.piratenpartei-bayern.de [88.198.212.215]) 
 +   (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) 
 +   <font style="color: rgb(178, 24, 24)"><b>(No client certificate requested)</b></font> 
 +   by mx01.nausch.org (Postfix) with ESMTPS id 3F887C00088 
 +   for <michael@nausch.org>; Thu, 22 Oct 2015 12:01:32 +0200 (CEST)</pre></html>
  
-smtp_tls_CAfile = /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem+Der Zusatz <html><font style="color: rgb(178, 24, 24)"><b>(No client certificate requested)</b></font></html> weisst darauf hin, dass der SMTP-Daemon nicht nach einem Zertifikat gefragt hatte. Ein Klient wird nur dann sein Client-Zertifikat zum Server schicken, wenn dieser explizit danach frägt. Diese Funktion können wir jedoch aktivieren, in dem wir den Postfix Parameter **smtpd_tls_ask_ccert = //yes//** setzen.
  
-# Django : 2015-02-23 - Remote Client nach einem Zertifikat fragen+<code># Django : 2015-02-23 - Remote Client nach einem Zertifikat fragen
 #          http://www.postfix.org/postconf.5.html#smtpd_tls_ask_ccert #          http://www.postfix.org/postconf.5.html#smtpd_tls_ask_ccert
 # default: smtpd_tls_ask_ccert = no # default: smtpd_tls_ask_ccert = no
 smtpd_tls_ask_ccert = yes smtpd_tls_ask_ccert = yes
 </code> </code>
 +
 +Haben wir diese Funktion gesetzt, werden wir nun Informationen zum **CN** des Zertifikats und eine Bewertung des Vertrauensstatuses zu dem Zertifikat vorfinden, wie nachfolgender Ausschnitt aufzeigt.
 +
 +<html><pre class="code">Received: from mx1.piratenpartei-bayern.de (mx1.piratenpartei-bayern.de [88.198.212.215])
 +   (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 +   (<font style="color: rgb(30, 180, 29)"><b>Client CN "*.piratenpartei-bayern.de", Issuer "PositiveSSL CA 2"</b></font> <font style="color: rgb(178, 24, 24)"><b>(not verified)</b></font>)
 +   by mx01.nausch.org (Postfix) with ESMTPS id 57BD3C00088
 +    for <michael@nausch.org>; Thu, 22 Oct 2015 12:28:30 +0200 (CEST)</pre></html>
 +
 +Im Mailheader sehen wir nun, dass sich der Client mit einem Zertifikat von <html><font style="color: rgb(30, 180, 29)"><b>Client CN "*.piratenpartei-bayern.de", Issuer "PositiveSSL CA 2"</b></font></html> ausgewiesen hatte. Der Zusatz <html><font style="color: rgb(178, 24, 24)"><b>(not verified)</b></font></html>wird noch angezeigt, da wir (noch) nicht die benötigten Rootzertifikate in unserem **[[centos:mail_c7:mta_5#zertifizierungspfad_beim_ssl_zertificate_trusted_chain|Truststore verankert]]** haben. Sobald wir die Zertifikate unserer wichtigsten Kommunikationspartner zu den vertrauenswürdigen Root-Zertifikaten hinzugefügt und die CAcert-Datei //**/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem**// erstellt haben, müssen wir dem SMTP-Daemon noch sagen, das er zur Verifizierung diese Datei verwenden soll. Hier zeigt es sich dann auch als Vorteil, wenn wir unser Serverzertifikat zusammen mit den CA-Root-Zertifikaten in einer Datei angelegt und dem Postfix-Parameter **smtpd_tls_cert_file** übergeben haben.
 +<code bash># Django : 2014-10-19 - SSL/TLS - Schutz durch verschlüsselte Verbindungen
 +#          (Postfixbuch: Kapitel 20.2)
 +#          Pfade für die Key- und Zertifikatsdateien für den SMTP-Daemon
 +#          Konfigurationsbeispiel "a" bei dem das Serverzertifikat und die beiden 
 +#          Root-Zertifikate der CA in einer gemainsamen Dateien vorliegen.
 +# default: smtpd_tls_key_file = $smtpd_tls_cert_file
 +#          smtpd_tls_cert_file = 
 +#          smtpd_tls_CAfile =
 +smtpd_tls_key_file = /etc/pki/postfix/private/mx01.nausch.org.serverkey_151015.pem
 +smtpd_tls_cert_file = /etc/pki/postfix/certs/rapidssl_2015-10-15_mx01.nausch.org.full_certificate_chain.pem
 +smtpd_tls_CAfile = /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
 +</code>
 +
 +Nimmt unser Mailserver nun Nachrichten über einen TLS-verschlüsselten Transportweg entgegen, frägt er den Klient nach seinem Clientzertifikat und Überprüft an Hand der Zertifikatskette, ob die Zertifikatskette lückenlos und vertrauenswürdig ist.
 +
 +<html><pre class="code">Received: from mx1.piratenpartei-bayern.de (mx1.piratenpartei-bayern.de [88.198.212.215])
 +   (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 +   (<font style="color: rgb(30, 180, 29)"><b>Client CN "*.piratenpartei-bayern.de", Issuer "PositiveSSL CA 2" (verified OK)</b></font>)
 +   by mx01.nausch.org (Postfix) with ESMTPS id A490AC00088
 +   for <michael@nausch.org>; Thu, 22 Oct 2015 13:48:13 +0200 (CEST)</pre></html>
 +
 +Nachdem nun sowohl das Zertifikat und auch die Validierung des selbigen O.K. bzw. "grün" ist, können wir das Kapitel //**[[centos:mail_c7:mta_5#smtp-daemon_empfang_von_emails|SMTP-Daemon (Empfang von eMails)]]**// schließen und uns dem nächsten Punkt //**[[centos:mail_c7:mta_5#smtp-client_versand_von_emails|SMTP-Client (Versand von eMails)]]**//.
 +
 +=== SMTP-Client (Versand von eMails) ===
 +Versendet unser Postfix MTA eine Nachricht an einen entfernten Mailserver, wird dieser nach dem **STARTTLS** sein Serverzertifikat präsentieren. Mit publickey des empfangenen Serverzertifikats kann unser Client die Parameter, die nur zur Verschlüsselung der nachfolgenden Nachricht(en) ausgehandelt werden, verschlüsseln. Wir benötigen also auf unserem Mailserver erst einmal kein eigenes Client-Zertifikat mit dem zugehörigen privaten Schlüssel. 
 +
 +Haben wir eine **[[centos:mail_c7:mta_5#verschluesselung_beim_smtp-client|TLS-Verschlüsselung des SMTP-Clients]]** aktiviert, sieht der Empfänger die Verschlüsselung in den Mailheadern, vorausgesetzt der Postmaster des Zielsystems hat diese Funktion bei seinem MTA auch aktiviert.
 +
 +<html><pre class="code">Received: from mx01.nausch.org (mx01.nausch.org [217.91.103.190])
 +   (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 +   <font style="color: rgb(178, 24, 24)"><b>(Client did not present a certificate)</b></font>
 +   by mx1.piratenpartei-bayern.de (Postfix) with ESMTPS</pre></html>
 +
 +Der Zusatz <html><font style="color: rgb(178, 24, 24)"><b>(Client did not present a certificate)</b></font></html> weisst darauf hin, dass unser SMTP-Client **kein** Zertifikat übertragen hat. Nachdem wir noch kein Zertifikat unseren SMTP-Client bekannt gegeben haben, ist dieser Hinweis einfach zu erklären.
 +
 +Wir werden also unserem SMTP-Client ein passendes Serverzertifikat benennen. Im einfachsten Fall verwenden wir das gleiche Zertifikat, welches auch schon unsere SMTP-Daemon verwendet.
 +
 +<code># Django : 2014-10-19 - SSL/TLS - Schutz durch verschlüsselte Verbindungen
 +#          (Postfixbuch: Kapitel 20.2)
 +#          Pfade für die Key- und Zertifikatsdateien für den SMTP-Client
 +#          Konfigurationsbeispiel "b" bei dem das Serverzertifikat und die beiden 
 +#          Root-Zertifikate der CA in einer gemainsamen Dateien vorliegen.
 +# default: smtpd_tls_key_file = $smtpd_tls_cert_file
 +#          smtpd_tls_cert_file = 
 +#          smtpd_tls_CAfile =
 +smtp_tls_key_file   = $smtpd_tls_key_file
 +smtp_tls_cert_file  = $smtpd_tls_cert_file
 +smtp_tls_CAfile     =
 +</code>
 +
 +Soll der Client über ein eigenes Zertifikat verfügen, müssen wir natürlich statt der Variablen, die Pfadangaben zum Zertifikat und Schlüssel angeben.
 +Ist dieses erfolgt, wird der Empfänger in den Mailhaedern sehen können, dass sich unser Client mit seinem Certifikat <html><font style="color: rgb(30, 180, 29)"><b>Client CN "mx01.nausch.org", Issuer "RapidSSL SHA256 CA - G4"</b></font></html> gemeldet hatte, da der Zielserver nach diesem fragte. Vertraut der Empfänger der Zertifikatskette wird auch ein Verify mit positivem Ergebnis <html><font style="color: rgb(30, 180, 29)"><b>verified OK</b></font></html> beendet. 
 +
 +<html><pre class="code">from mx01.nausch.org (mx01.nausch.org [217.91.103.190])
 +   (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 +   (<font style="color: rgb(30, 180, 29)"><b>Client CN "mx01.nausch.org", Issuer "RapidSSL SHA256 CA - G4" (verified OK)</b></font>)
 +   by mx1.piratenpartei-bayern.de (Postfix) with ESMTPS
 +   for <dj4n90@piraten-ebersberg.de>; Thu, 22 Oct 2015 14:38:38 +0200 (CEST)</pre></html>
 +
 +Da wir unserem SMTP-Client noch keine Root-CA-Zertifikate an die Hand gegeben haben, kann dieser auch nicht prüfen, ob dem Serverzertifikat, welches ihm der SMTP-Daemon des Zielservers übermittelte, vertraut werden kann. Im Maillog unseres Servers sehen wir auch dass eine "**Untrusted TLS connection established to**" erfolgte.
 +
 +
 +<html><pre class="code">Oct 22 14:38:38 vml000087 postfix/smtp[2640]: <html><font style="color: rgb(178, 24, 24)"><b>Untrusted</b></font> TLS connection established to mx1.piratenpartei-bayern.de[88.198.212.215]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)</pre></html>
 +
 +Wir vervollständigen nun unsere postfix-Konfiguration und geben beim Parameter **smtp_tls_CAfile** an, dass er die gleiche Datei verwenden soll, die auch schon der Daemon verwendet.
 +
 +<code># Django : 2014-10-19 - SSL/TLS - Schutz durch verschlüsselte Verbindungen
 +#          (Postfixbuch: Kapitel 20.2)
 +#          Pfade für die Key- und Zertifikatsdateien für den SMTP-Client
 +#          Konfigurationsbeispiel "b" bei dem das Serverzertifikat und die beiden 
 +#          Root-Zertifikate der CA in einer gemainsamen Dateien vorliegen.
 +# default: smtpd_tls_key_file = $smtpd_tls_cert_file
 +#          smtpd_tls_cert_file = 
 +#          smtpd_tls_CAfile =
 +smtp_tls_key_file   = $smtpd_tls_key_file
 +smtp_tls_cert_file  = $smtpd_tls_cert_file
 +smtp_tls_CAfile     = $smtpd_tls_CAfile
 +</code>
 +
 +Baut nun unser SMTP-Client eine Verbindung zu einem Zielserver auf und stuft die Verbindung an Hand des Zertifikates als vertrauenswürdig ein, wird im Maillog unseres Servers dies mit einem <html><font style="color: rgb(30, 180, 29)"><b>Trusted</b></font></html> vermewrkt.
 +
 +<html><pre class="code">Oct 22 15:06:55 vml000087 postfix/smtp[9255]: <font style="color: rgb(30, 180, 29)"><b>Trusted</b></font> TLS connection established to mx1.piratenpartei-bayern.de[88.198.212.215]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)</pre></html>
  
 ==== Ciphers - Chiffren zur Ver- und Entschlüsselung  ==== ==== Ciphers - Chiffren zur Ver- und Entschlüsselung  ====
Zeile 1357: Zeile 1842:
 Da die Verschlüsselung optional ist, ist eine Änderung der Option nicht notwendig, es sei denn die Änderung ist notwendig und daher gut überlegt sowie unumgänglich! Da die Verschlüsselung optional ist, ist eine Änderung der Option nicht notwendig, es sei denn die Änderung ist notwendig und daher gut überlegt sowie unumgänglich!
 </WRAP> </WRAP>
 +
 +Der Parameter **smtpd_tls_ciphers** definiert, welchen TLS Cipher Grad der Postfix SMTP-Daemon (ankommende Verbindungen) bei der opportunistischen TLS-Verschlüsselung verwenden soll.
  
 <code bash># Django : 2014-10-25 - Minimaler TLS Cipher Grad für die opportunistischen TLS-Verschlüsselung <code bash># Django : 2014-10-25 - Minimaler TLS Cipher Grad für die opportunistischen TLS-Verschlüsselung
-#          des Postfix SMTP-Daemon+#          des Postfix SMTP-Daemon bei ankommenden Verbindungen
 #          http://www.postfix.org/postconf.5.html#smtpd_tls_ciphers #          http://www.postfix.org/postconf.5.html#smtpd_tls_ciphers
 # default: smtpd_tls_ciphers = export # default: smtpd_tls_ciphers = export
 </code> </code>
  
-Der Parameter **smtp_tls_ciphers** definiert, welchen TLS Cipher Grad der Postfix SMTP-Client bei der opportunistischen TLS-Verschlüsselung verwenden soll. +Der Parameter **smtp_tls_ciphers** definiert, welchen TLS Cipher Grad der Postfix SMTP-Client (abgehende Verbindungen) bei der opportunistischen TLS-Verschlüsselung verwenden soll. 
  
 <code bash># Django : 2014-10-25 - Minimaler TLS Cipher Grad für die opportunistischen TLS-Verschlüsselung <code bash># Django : 2014-10-25 - Minimaler TLS Cipher Grad für die opportunistischen TLS-Verschlüsselung
-#          des Postfix SMTP-Client+#          des Postfix SMTP-Client bei ausgehenden Verbindungen
 #          http://www.postfix.org/postconf.5.html#smtp_tls_ciphers #          http://www.postfix.org/postconf.5.html#smtp_tls_ciphers
 # default: smtp_tls_ciphers = export # default: smtp_tls_ciphers = export
Zeile 1378: Zeile 1865:
 #          http://www.postfix.org/postconf.5.html#smtpd_tls_exclude_ciphers #          http://www.postfix.org/postconf.5.html#smtpd_tls_exclude_ciphers
 # default: smtpd_tls_exclude_ciphers =  # default: smtpd_tls_exclude_ciphers = 
 +smtpd_tls_exclude_ciphers =
 +           aNULL
 +           eNULL
 +           EXPORT
 +           DES
 +           3DES
 +           RC4
 +           MD5
 +           PSK
 +           aECDH
 +           EDH-DSS-DES-CBC3-SHA
 +           EDH-RSA-DES-CDC3-SHA
 +           KRB5-DE5
 +           CBC3-SHA
 </code> </code>
  
Zeile 1386: Zeile 1887:
 #          http://www.postfix.org/postconf.5.html#smtp_tls_exclude_ciphers #          http://www.postfix.org/postconf.5.html#smtp_tls_exclude_ciphers
 # default: smtp_tls_exclude_ciphers =  # default: smtp_tls_exclude_ciphers = 
 +smtp_tls_exclude_ciphers =
 +           aNULL
 +           eNULL
 +           EXPORT
 +           DES
 +           3DES
 +           RC4
 +           MD5
 +           PSK
 +           aECDH
 +           EDH-DSS-DES-CBC3-SHA
 +           EDH-RSA-DES-CDC3-SHA
 +           KRB5-DE5
 +           CBC3-SHA
 +           AES128-SHA
 +           DHE-RSA-AES128-SHA
 +           AES256-SHA
 +           DHE-RSA-AES256-SHA
 +           CAMELLIA128-SHA
 +           DHE-RSA-CAMELLIA128-SHA
 +           CAMELLIA256-SHA
 +           DHE-RSA-CAMELLIA256-SHA
 +           ECDHE-RSA-AES128-SHA
 +           ECDHE-RSA-AES256-SHA
 </code> </code>
  
Zeile 1391: Zeile 1916:
 Der Parameter **smtpd_tls_mandatory_ciphers** definiert, welchen TLS Cipher Grad der Postfix SMTP-Daemon bei der verpflichtenden TLS-Verschlüsselung verwenden soll. Der Parameter **smtpd_tls_mandatory_ciphers** definiert, welchen TLS Cipher Grad der Postfix SMTP-Daemon bei der verpflichtenden TLS-Verschlüsselung verwenden soll.
  
-<code bash># Django : 2014-10-19 - Minimum TLS Cipher für die verpflichtende Ver- +<code bash># Django : 2014-10-19 - Minimum TLS Cipher für die verpflichtende Verschlüsselung 
-#          schlüsselung des Postfix SMTP-Daemon+#          des Postfix SMTP-Daemon bei ankommenden Verbindungen
 #          http://www.postfix.org/postconf.5.html#smtpd_tls_mandatory_ciphers #          http://www.postfix.org/postconf.5.html#smtpd_tls_mandatory_ciphers
 # default: smtpd_tls_mandatory_ciphers = medium # default: smtpd_tls_mandatory_ciphers = medium
Zeile 1399: Zeile 1924:
 Der Parameter **smtp_tls_mandatory_ciphers** definiert, welchen TLS Cipher Grad der Postfix SMTP-Client bei der verpflichtenden TLS-Verschlüsselung verwenden soll. Der Parameter **smtp_tls_mandatory_ciphers** definiert, welchen TLS Cipher Grad der Postfix SMTP-Client bei der verpflichtenden TLS-Verschlüsselung verwenden soll.
  
-<code bash># Django : 2014-10-19 - Minimum TLS Cipher für die verpflichtende Ver- +<code bash># Django : 2014-10-19 - Minimum TLS Cipher für die verpflichtende Verschlüsselung 
-#          schlüsselung des Postfix SMTP-Clients.+#          des Postfix SMTP-Clients bei ausgehenden Verbindungen
 #          http://www.postfix.org/postconf.5.html#smtp_tls_mandatory_ciphers #          http://www.postfix.org/postconf.5.html#smtp_tls_mandatory_ciphers
 # default: smtp_tls_mandatory_ciphers = medium # default: smtp_tls_mandatory_ciphers = medium
Zeile 1445: Zeile 1970:
            EDH-RSA-DES-CDC3-SHA            EDH-RSA-DES-CDC3-SHA
            KRB5-DE5            KRB5-DE5
-           CBC3-SHA</code>+           CBC3-SHA 
 +           AES128-SHA 
 +           DHE-RSA-AES128-SHA 
 +           AES256-SHA 
 +           DHE-RSA-AES256-SHA 
 +           CAMELLIA128-SHA 
 +           DHE-RSA-CAMELLIA128-SHA 
 +           CAMELLIA256-SHA 
 +           DHE-RSA-CAMELLIA256-SHA 
 +           ECDHE-RSA-AES128-SHA 
 +           ECDHE-RSA-AES256-SHA</code> 
 + 
 ==== Protokolle  ==== ==== Protokolle  ====
 +=== opportunistische Verschlüsselung ===
 Mit dem Parameter **smtpd_tls_protocols** kann definiert werden, welche TLS Protokolle bei der opportunistischen Verschlüsselung des ankommenden SMTP-Verkehrs beim Postfix SMTP Daemon ein- oder ausgeschlossen werden sollen. Mit dem Parameter **smtpd_tls_protocols** kann definiert werden, welche TLS Protokolle bei der opportunistischen Verschlüsselung des ankommenden SMTP-Verkehrs beim Postfix SMTP Daemon ein- oder ausgeschlossen werden sollen.
 <code bash># Django : 2014-10-19 - Positiv-/Negativliste aller TLS-Protokolle, die der  <code bash># Django : 2014-10-19 - Positiv-/Negativliste aller TLS-Protokolle, die der 
Zeile 1469: Zeile 2007:
 lmtp_tls_protocols = $smtp_tls_protocols</code> lmtp_tls_protocols = $smtp_tls_protocols</code>
  
 +=== verpflichtende Verschlüsselung ===
 Mit dem Parameter **smtpd_tls_mandatory_protocols** wird definiert, welche TLS Protokolle bei der verpflichtenden Verschlüsselung des ankommenden SMTP-Verkehrs beim Postfix SMTP Daemon ein- oder ausgeschlossen werden sollen. Mit dem Parameter **smtpd_tls_mandatory_protocols** wird definiert, welche TLS Protokolle bei der verpflichtenden Verschlüsselung des ankommenden SMTP-Verkehrs beim Postfix SMTP Daemon ein- oder ausgeschlossen werden sollen.
  
Zeile 1769: 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 1794: 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 1850: 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 1858: 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 1945: Zeile 2487:
    # systemctl restart postfix.service    # systemctl restart postfix.service
  
 +Wir nun eine Nachricht an den Zielserver gesendet, für die wir einen **smtp_tls_security_level = //dane-only//** definiert haben, wird der Zertifikats-Fingerprint via DNSSEC-Anfrage geholt und mit dem Wert verglichen, den der SMTP-Client vom empfangenen Server-Zertifikat ermitelt hat. Sind beide Fingerprints gleich, wird unser MTA mit der Üertragung der Nachricht(en) fortfahren. Im Maillog unseres Servers wird dies entsprehend positiv vermerkt.
  
 +<code>Oct 13 09:53:36 vml000087 postfix/smtp[18312]: connect to mail.sys4.de[194.126.158.132]:25
 +Oct 13 09:53:36 vml000087 postfix/smtp[18312]: Verified TLS connection established to mail.sys4.de[194.126.158.132]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
 +Oct 13 09:53:37 vml000087 postfix/smtp[18312]: 17D5FC00097: to=<p@sys4.de>, relay=mail.sys4.de[194.126.158.132]:25, delay=1.8, delays=0.05/0.02/0.71/1, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 3nZpz5107tz1G7x)
 +Oct 13 09:53:37 vml000087 postfix/qmgr[18157]: 17D5FC00097: removed
 +</code>
  
- +Unterscheiden sich aber beide Fingerprints wird die Kommunikation mit dem Zielsystem abgebrochen und die Nachricht in die **deffered**-Queue gestellt und ggfspäter wieder versucht die eMail zuzustellen
-FIXME +
- +
-Beispiel zu einem Konfigfehler: +
-<code>Oct 13 10:13:59 vml000087 postfix/smtp[1087]: warning: sys4.de: dane-only configured with dnssec lookups disabled +
-Oct 13 10:13:59 vml000087 postfix/smtp[1087]: warning: TLS policy lookup for sys4.de/mail.sys4.de: client TLS configuration problem +
-Oct 13 10:13:59 vml000087 postfix/smtp[1087]: warning: TLS policy lookup for sys4.de/mail.sys4.de: client TLS configuration problem</code> +
- +
-FIXME  +
-Negatives Überprüfungsergebnis des TLSA-Records (in diesem Fall war es der absichtlich zu Testzwecken gefälschte TLSA-Fingerprint des SMTP-Serverzeretifikates). +
  
 <code>Oct 13 12:32:22 mailslut1 postfix/smtp[27804]: Trusted TLS connection established to mx01.nausch.org[217.91.103.190]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) <code>Oct 13 12:32:22 mailslut1 postfix/smtp[27804]: Trusted TLS connection established to mx01.nausch.org[217.91.103.190]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Zeile 1963: Zeile 2501:
  
  
- 
- 
-FIXME 
- 
-<code>Oct 13 09:53:36 vml000087 postfix/smtp[18312]: connect to mail.sys4.de[194.126.158.132]:25 
-Oct 13 09:53:36 vml000087 postfix/smtp[18312]: Verified TLS connection established to mail.sys4.de[194.126.158.132]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits) 
-Oct 13 09:53:37 vml000087 postfix/smtp[18312]: 17D5FC00097: to=<p@sys4.de>, relay=mail.sys4.de[194.126.158.132]:25, delay=1.8, delays=0.05/0.02/0.71/1, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 3nZpz5107tz1G7x) 
-Oct 13 09:53:37 vml000087 postfix/qmgr[18157]: 17D5FC00097: removed 
-</code> 
- 
-FIXME 
 ==== Perfect Forward Secrecy ==== ==== Perfect Forward Secrecy ====
 Zur Aktivierung von **[[http://www.postfix.org/FORWARD_SECRECY_README.html|PFS]]**((**P**erfect **F**orward **S**ecrecy)) sind nachfolgende Optionen von entscheidender Bedeutung. Zur Aktivierung von **[[http://www.postfix.org/FORWARD_SECRECY_README.html|PFS]]**((**P**erfect **F**orward **S**ecrecy)) sind nachfolgende Optionen von entscheidender Bedeutung.
Zeile 1983: 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 2048: 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**//. 
- 
-<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> 
  
 ===== Konfiguration aktivieren ===== ===== Konfiguration aktivieren =====
Zeile 2354: 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 2522: 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 2560: 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.1444923550.txt.gz
  • Zuletzt geändert: 15.10.2015 15:39.
  • (Externe Bearbeitung)