Debian9 postfix 3.1.4-7: Zertifikatsbasierendes Relaying defekt
Friedemann Stoyan
fstoyan at swapon.de
So Sep 17 16:37:37 CEST 2017
Liebe Mailserverbetreiber!
Ich habe meinen internen Mailserver auf Debian 9.1 geupdatet. Leider ist dabei
das zertifikatsbasierende Relaying kaputt gegangen.
Folgendes Setup: Ein Client zeigt sein Zertifikat vor und wird anhand des SHA1
Fingerprints für das Relaying erlaubt.
Die relevante Konfiguration:
# TLS parameters
# TLS Server
smtpd_tls_fingerprint_digest = sha1
smtpd_tls_loglevel = 2
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/postfix/certs/mail-smtpd.crt
smtpd_tls_key_file = /etc/postfix/certs/mail-smtpd.key
smtpd_tls_CApath = /etc/ssl/certs
smtpd_tls_dh1024_param_file = /etc/postfix/dh2048.pem
smtpd_tls_dh512_param_file = /etc/postfix/dh512.pem
smtpd_tls_ask_ccert = yes
smtpd_tls_security_level = may
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls=yes
# list of clientcerts for the permit_tls_clientcerts feature
relay_clientcerts = btree:/etc/postfix/relay_clientcerts
# relay checks
smtpd_recipient_restrictions =
check_recipient_access btree:/etc/postfix/discards
permit_mynetworks
#permit_tls_clientcerts
check_ccert_access btree:/etc/postfix/relay_clientcerts
reject_unauth_destination
...
permit
$ cat /etc/postfix/relay_clientcerts
86:D8:7D:8E:4F:10:70:43:A1:43:85:F8:E0:A3:5A:34:45:0A:39:91 OK
E2:10:FB:E7:4A:CA:8D:A5:B6:95:61:E5:28:B0:FD:33:7E:B3:BD:86 OK
Im Logfile sieht das dann so aus:
Sep 17 15:55:15 intrepid postfix/smtpd[25651]: excelsior.lab.swapon.de[192.168.19.10]: subject_CN=excelsior.lab.swapon.de, issuer=CA, fingerprint=86:D8:7D:8E:4F:10:70:43:A1:43:85:F8:E0:A3:5A:34:45:0A:39:91, pkey_fingerprint=E2:10:FB:E7:4A:CA:8D:A5:B6:95:61:E5:28:B0:FD:33:7E:B3:BD:86
Sep 17 15:55:15 intrepid postfix/smtpd[25651]: Trusted TLS connection established from excelsior.lab.swapon.de[192.168.19.10]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Sep 17 15:55:15 intrepid postfix/smtpd[25651]: NOQUEUE: reject: RCPT from excelsior.lab.swapon.de[192.168.19.10]: 454 4.7.1 <echo at tu-berlin.de>: Relay access denied; from=<fstoyan at labbb.swapon.de> to=<echo at tu-berlin.de> proto=ESMTP helo=<excelsior.lab.swapon.de>
Für mich sieht das so aus, als ob permit_tls_clientcerts oder auch check_ccert_access
völlig ohne Wirkung bleiben. Obwohl ja der Fingerprint im Logfile korrekt
angezeigt wird. Manuell kann ich diesen auch finden:
$ postmap -q E2:10:FB:E7:4A:CA:8D:A5:B6:95:61:E5:28:B0:FD:33:7E:B3:BD:86 /etc/postfix/relay_clientcerts
OK
$ postmap -q 86:D8:7D:8E:4F:10:70:43:A1:43:85:F8:E0:A3:5A:34:45:0A:39:91 /etc/postfix/relay_clientcerts
OK
Vor dem Upgrade klappe alles wunderbar. Irgendwie bin ich jetzt ratlos. Hat
jemand eine Idee, oder das selbe Problem?
mfg Friedemann
Mehr Informationen über die Mailingliste Postfixbuch-users