Mail Server · 1 min read · Oct 06, 2025
Vollständige Mail-Server-Lösung mit virtuellen Domänen und Benutzern (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Seite 13
C. CA-signierte Client- und Serverzertifikate
Wenn Sie CA-signierte Client-Zertifikate verwenden möchten, müssen Sie weitere Schritte sowohl in Postfix als auch in Dovecot unternehmen, um dies zum Laufen zu bringen. Wenn Sie möchten, dass die Benutzernamen aus dem Zertifikat selbst entnommen werden, müssen Sie derzeit den allgemeinen Namen auf den Benutzernamen setzen, zum Beispiel [email protected], der in diesem Dokument verwendet wurde.
1. Postfix über die Zertifikate informieren
In Postfix können Sie entweder ein Verzeichnis von CA-Zertifikaten oder eine zusammengesetzte Datei mit allen zusammengefügten Zertifikaten verwenden. Wir werden die zusammengefügte Form verwenden, da Dovecot dies erwartet.
# postconf -e 'smtpd_tls_CAfile = /etc/ssl/example.com/ca/all.pem'2. Dovecot über die Zertifikate informieren
In Dovecot müssen Sie die CRL zusammen mit dem Zertifikat haben, damit die Authentifizierung funktioniert. Die Direktiven selbst sind die folgenden.
/etc/dovecot/dovecot.conf[...]
ssl_ca_file = /etc/ssl/example.com/ca/all.pem
ssl_verify_client_cert = yes
ssl_require_client_cert = yes
ssl_username_from_cert = yes
[...] HINWEIS: Sie müssen auch die password_query auf die kommentierte in /etc/dovecot/dovecot-sql.conf ändern.
Warnung: Wenn Sie Dovecot Release Candidate 28 oder älter verwenden, wird der Server die Liste der akzeptierten CA-Namen nicht senden, was dazu führen könnte, dass Clients mit mehreren Client-Zertifikaten keine Verbindung herstellen können. Bitte aktualisieren Sie oder installieren Sie diesen Patch.
3. Dateien zusammenfügen
Wenn Sie mehrere CAs und CRLs haben, kann es schwierig sein, sie jedes Mal zusammenzufügen, daher wurde ein kleines Skript erstellt, das dies für Sie erledigt. Legen Sie es einfach in Ihr Verzeichnis /etc/ssl/example.com/ca/ und führen Sie es aus. Es wird ein all.pem mit allen Zertifikaten und allen CRLs erstellen.
make.sh:#!/bin/bash
rm all.pem 2> /dev/null
cat *.pem *.crl > all.pem4. Postfix TLS-Einstellungen
Wie ich bereits sagte, gibt es einige Einstellungen in Postfix, die ebenfalls geändert werden müssen, also lassen Sie uns main.cf ändern:
# postconf -e 'smtpd_tls_ask_ccert = yes'
# postconf -e 'smtpd_tls_req_ccert = no'
# postconf -e 'smtpd_recipient_restrictions = permit_tls_all_clientcerts, reject'Jetzt sollten Sie einen unternehmensbereiten E-Mail-Server mit Client-Zertifikaten haben.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.