Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:mail_c6_mta_8a [12.06.2012 12:23. ]
django [Verversand - Test eMail]
centos:mail_c6_mta_8a [20.04.2018 09:09. ] (aktuell)
Zeile 1: Zeile 1:
 +====== SSL/​TLS-Client-Authentifikation ======
 +{{:​centos:​mailserver:​lan_security.png?​96 |SSL/TLS Logo}}
 +
 +Neben der Client-Authentifizierung mit **Username** und **Passwort** kann sich ein Client auch mit einem X.509 Client-Zertifikat gegenüber unserem Postfix-Mailserver ausweisen.
 +===== Voraussetzungen =====
 +Hierzu sind zwei Voraussetzungen zu erfüllen:
 +  - Postfix unterstützt generell SST/​TLS-Verbindungen (Im Kapitel [[centos:​mail_c6:​mta_5|SSL/​TLS - Postfixverbindungen verschlüsselte Kommunikation]] beschrieben)
 +  - Der Mailclient unterstützt **TLS-Certificate** bei der **Client-Authentifizierung** (Bei Thunderbird ist dies zum Beispiel kein Problem.)
 +
 +===== Konfiguration =====
 +==== Postfix ====
 +Als erstes ermitteln wir den Fingerprint unseres Client-Certifikates. Hierzu können wir entweder die Zertifikatsverwaltung unseres Mailclients verwenden.
 +
 +{{ :​centos:​zertifikat-ansicht.png?​direct&​300 |Bildschirmhardcopy:​ Thinderbird Zertifikat Ansicht}}
 +
 +
 +Oder wir benitzen einfach den Befehl **openssl** aus dem gleichnamigen **rpm**.
 +   $ openssl x509 -noout -fingerprint -in django.pem
 +
 +   SHA1 Fingerprint=33:​39:​E6:​FC:​C5:​14:​08:​19:​67:​BF:​D7:​5A:​4D:​44:​18:​8D:​AE:​1B:​EB:​29
 +
 +Diesen Fingerprint tragen wir nun in die Datei ** /​etc/​postfix/​relay_clientcerts ** ein. Die zweite Spalte können wir dabei wieder als Bemerkungsfeld verwenden, da diese Spalte nur zum Erhalt der Tabellenstruktur benötigt wird. Darüber hinaus ist es auch nur relavant, dass der Fingerprint in der Tabelle enthalten ist und nicht welchem Bemerkungsfeld dieser Fingerprint zugeordnet ist.
 +   # vim /​etc/​postfix/​relay_clientcerts
 +
 +<file bash /​etc/​postfix/​relay_clientcerts>​33:​39:​E6:​FC:​C5:​14:​08:​19:​67:​BF:​D7:​5A:​4D:​44:​18:​8D:​AE:​1B:​EB:​29 ​    ​django
 +</​file>​
 +
 +Anschließend erstellen wir das für die Konfigurationsdatei zugehörige Datenbankfile.
 +   # postmap /​etc/​postfix/​relay_clientcerts
 +
 +In der Konfigurationsdatei unseres Postfix-Mailservers tragen wir nun die die beiden Parameter **smtpd_tls_ask_ccert** und **relay_clientcerts** ein.
 +
 +   # vim /​etc/​postfix/​main.cf
 +<code bash># Django : 2012-06-11
 +# Mit SSL/​TLS-Zertifikaten authentifizieren ​    ​(Kapitel 11.9)
 +smtpd_tls_ask_ccert = yes
 +relay_clientcerts = btree:/​etc/​postfix/​relay_clientcerts
 +</​code>​
 +
 +Zum Aktivieren der konfigurationsänderung starten wir nun unseren Mailserver einmal durch.
 +   # service postfix restart
 +
 +   ​Shutting down postfix: ​                                    ​[ ​ OK  ]
 +   ​Starting postfix: ​                                         [  OK  ]
 +
 +==== Mailclient Thunderbird ====
 +In unserem Mailclient hinterlegen wir, wenn noch nicht bereits bei der [[centos:​smime|Installation rund um die S/​MIME-Verschlüsselung beim Client]] passiert, unser Zertifikat.
 +
 +{{ :​centos:​konten-einstellungen.png?​direct&​500 |Bildschirmhardcopy:​ Thunderbird Konteneinstellungen}} ​
 +
 +Hier wählen wier den Menüpunkt **Zertifikate** aus.
 +
 +{{ :​centos:​zertifikat-manager.png?​direct&​300 |Bildschirmhardcopy:​ Thunderbird Zertifikats-Manager}}
 +
 +Beim Menüpunkt **Importieren** laden wir nun unser Client-Zertifikat in die Zertifikatsverwaltung von Thunderbird.
 +
 +Als nächstes wählen wir den Menüpunkt **Postausgangs-Server (SMTP)** aus.
 +
 +{{ :​centos:​smtp-konten-einstellungen.png?​direct&​500 |Bildschirmhardcopy:​ Thunderbird Konteneinstellungen}}
 +
 +Beim betreffenden Konto geben wir dann nur noch bei der **Verbindungssicherheit** **STARTTLS** an.
 +
 +{{ :​centos:​smtp-server.png?​direct&​280 |Bildschirmhardcopy:​ Thunderbird SMTP-Server}}
 +
 +
 +
 +
 +
 +
 +===== Versand - Test eMail =====
 +Zum Testen unserer Konfigurationsänderung versenden wir einfach eine eMail mit Hilfe unseres Mailclients - hier in dem Beispeil **thunderbird** - über unseren Postfix Mailserver.
 +
 +==== Maillog ====
 +Im Maillog unseres Servers wird uns die erfolgreiche Clientauthentifizierung entsprechend protokolliert. ​
 +
 +   ​Trusted:​ subject_CN=Michael Nausch, issuer=CAcert Class 3 Root, fingerprint=E4:​9B:​78:​F5:​03:​99:​49:​50:​F1:​EF:​50:​6C:​E8:​7D:​54:​1B
 +
 +   # tail -f /​var/​log/​maillog
 +
 +<​code>​Jun 11 22:41:19 vml000080 postfix/​smtpd[27794]:​ connect from unknown[192.168.10.45]
 +Jun 11 22:41:19 vml000080 postfix/​smtpd[27794]:​ discarding EHLO keywords: DSN
 +Jun 11 22:41:19 vml000080 postfix/​smtpd[27794]:​ setting up TLS connection from unknown[192.168.10.45]
 +Jun 11 22:41:19 vml000080 postfix/​smtpd[27794]:​ unknown[192.168.10.45]:​ Trusted: subject_CN=Michael Nausch, issuer=CAcert Class 3 Root, fingerprint=E4:​9B:​78:​F5:​03:​99:​49:​50:​F1:​EF:​50:​6C:​E8:​7D:​54:​1B
 +Jun 11 22:41:19 vml000080 postfix/​smtpd[27794]:​ Trusted TLS connection established from unknown[192.168.10.45]:​ TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)
 +Jun 11 22:41:19 vml000080 postfix/​smtpd[27794]:​ discarding EHLO keywords: DSN
 +Jun 11 22:41:19 vml000080 postfix/​smtpd[27794]:​ NOQUEUE: client=unknown[192.168.10.45]
 +Jun 11 22:41:20 vml000080 postfix/​smtpd[27794]:​ disconnect from unknown[192.168.10.45]
 +</​code>​
 +
 +==== Mailheader ====
 +Im Mailheader auf der Empfangsseite sehen wir auch, dass sich der Client ​ erfolgreich mit einem Certifikat authentifiziert hatte.
 +
 +   ​(Client CN "​Michael Nausch",​ Issuer "​CAcert Class 3 Root" (verified OK))
 +
 +<​code>​Return-Path:​ <​django@nausch.org>​
 +Received: from murder ([192.168.8.180])
 + by backend12 (Cyrus v2.2.12) with LMTPA;
 + Mon, 11 Jun 2012 22:41:25 +0200
 +X-Sieve: CMU Sieve 2.2
 +Received: from mail.m-online.net (localhost [127.0.0.1])
 + by frontend1.mail.m-online.net (Cyrus v2.2.12) with LMTPA;
 + Mon, 11 Jun 2012 22:41:25 +0200
 +Received: from scanner-2.m-online.net (scanner-2.mail.m-online.net [192.168.8.166])
 + by mail.m-online.net (Postfix) with ESMTP id 3WB5jd60S3z4KK2s
 + for <​django@mnet-mail.de>;​ Mon, 11 Jun 2012 22:41:25 +0200 (CEST)
 +X-Virus-Scanned:​ by amavisd-new at m-online.net
 +Received: from mx1.nausch.org (mx1.nausch.org [88.217.187.21])
 + (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
 + (No client certificate requested)
 + by mxin-2.m-online.net (Postfix) with ESMTPS id 3WB5jb4Lp0zfwhX
 + for <​django@mnet-mail.de>;​ Mon, 11 Jun 2012 22:41:23 +0200 (CEST)
 +Received: from localhost (vml000060.dmz.nausch.org [10.0.0.60])
 + by mx1.nausch.org (Postfix) with ESMTP id A9CBD53
 + for <​django@mnet-mail.de>;​ Mon, 11 Jun 2012 22:41:20 +0200 (CEST)
 +Received: from mx1.nausch.org ([10.0.0.80])
 + by localhost (amavis.dmz.nausch.org [10.0.0.60]) (amavisd-new,​ port 10024)
 + with ESMTP id Ma6cIPljzUpH for <​django@mnet-mail.de>;​
 + Mon, 11 Jun 2012 22:41:19 +0200 (CEST)
 +Received: from pml010051.nausch.org (unknown [192.168.10.45])
 + (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits))
 + (Client CN "​Michael Nausch",​ Issuer "​CAcert Class 3 Root" (verified OK))
 + by mx1.nausch.org (Postfix) with ESMTPS
 + for <​django@mnet-mail.de>;​ Mon, 11 Jun 2012 22:41:19 +0200 (CEST)
 +Message-ID: <​4FD657F1.9040001@nausch.org>​
 +Date: Mon, 11 Jun 2012 22:41:21 +0200
 +From: Django <​django@nausch.org>​
 +User-Agent: Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/​20120329 Thunderbird/​11.0.1
 +MIME-Version:​ 1.0
 +To: django@mnet-mail.de
 +Subject: tls client auth
 +Content-Type:​ text/plain; charset=ISO-8859-1
 +Content-Transfer-Encoding:​ 7bit
 +
 +und? gehts?
 +</​code>​
 +
 +====== Links ======
 +  * **[[centos:​mail_c6:​start|Zurück zum Kapitel >>​Mailserverinstallation unter CentOS 6<<​]]**
 +  * **[[wiki:​start|Zurück zu >>​Projekte und Themenkapitel<<​]]**
 +  * **[[http://​dokuwiki.nausch.org/​doku.php/​|Zurück zur Startseite]]**
 +
  
  • centos/mail_c6_mta_8a.txt
  • Zuletzt geändert: 20.04.2018 09:09.
  • (Externe Bearbeitung)