# postfix + tls + client certificate auth - permit_tls_clientcerts not working



## MiNoS (24. Sep. 2009)

Hallo Liebe Community!

Ich habe in den letzten Tagen versucht einen postfix mit TLS und Client Zertifikats Authentifizierung zu installieren. Soweit ging alles gut und mit Thunderbird wird auch eine TLS Verbindung auf gebaut und das postfix log zeigt dies ebenso.
Nun wollte ich per

```
smtpd_client_restrictions = permit_tls_clientcerts, permit_mynetworks, reject_unauth_destination
```
Usern welche mit einem gültigen und hinterlegten Zertifikat angemeldet sind das relaying erlauben doch ich bekommen immer "Relay access denied;".

postconf -n ergibt:

```
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
mydestination = openmailsecurity.org, nas, localhost.localdomain, localhost
myhostname = nas.openmailsecurity.org
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
readme_directory = no
recipient_delimiter = +
relay_clientcerts = hash:/etc/postfix/relay_clientcert
relayhost = [smtp.gmail.com]:587
smtp_enforce_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/password
smtp_sasl_security_options = 
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_client_restrictions = permit_tls_clientcerts, permit_mynetworks, reject_unauth_destination
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_ask_ccert = yes
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_fingerprint_digest = sha1
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_loglevel = 1
smtpd_tls_req_ccert = yes
smtpd_tls_security_level = encrypt
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
```
in der relay_clientcert steht:

```
71:4C:85:2B:B8:1E:60:3C:66:A0:DC:BB:7A:66:23:03:51:50:A7:12    OK
```
und im logfile:

```
Sep 24 17:35:49 nas postfix/smtpd[13241]: connect from unknown[78.142.185.79]
Sep 24 17:35:49 nas postfix/smtpd[13241]: setting up TLS connection from unknown[78.142.185.79]
Sep 24 17:35:50 nas postfix/smtpd[13241]: unknown[78.142.185.79]: Trusted: subject_CN=Stefan Selbitschka, issuer=QV Schweiz ICA, fingerprint=71:4C:85:2B:B8:1E:60:3C:66:A0:DC:BB:7A:66:23:03:51:50:A7:12
Sep 24 17:35:50 nas postfix/smtpd[13241]: Trusted TLS connection established from unknown[78.142.185.79]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Sep 24 17:35:50 nas postfix/smtpd[13241]: NOQUEUE: reject: RCPT from unknown[78.142.185.79]: 554 5.7.1 <selbitschka@gmail.com>: Relay access denied; from=<selbitschka@rundquadrat.at> to=<selbitschka@gmail.com> proto=ESMTP helo=<[192.168.1.102]>
Sep 24 17:35:52 nas postfix/smtpd[13241]: disconnect from unknown[78.142.185.79]
```
vielleicht hat von euch einer eine idee

danke mal im vorraus


----------



## uJtTStHoRMJj9RNJ (25. Feb. 2015)

Die ganze Konfiguration sieht m.E. plausibel aus.  
"permit_mynetworks" in "smtpd_client_restrictions" sollte nur nötig sein, wenn man auch IP-basiert relayen erlauben will.

Die Tatsache, daß die TLS connection im logfile als "Trusted" bezeichnet wird, spricht dafür, daß die Authentifizierung geklappt hat.  

Ohne daß ich wirklich dafür Beweise hátte, würde ich das Problem darin vermuten, daß es für die IP 78.142.185.79 keinen Reverse-DNS-Eintrag zu geben scheint ("unknown").

(ich weiß: das Original-Posting ist schon uralt.  Aber da postfix heute noch so konfiguriert wird, und diese hier eine der wenigen Stellen im Netz ist, an der zertifikat-basierte Authentisierung diskutiert wird, hilft es vielleicht auch heute noch jemandem.  Der Rest sieht ja gut aus.)


----------

