Server di Posta · 1 min read · Oct 06, 2025

Soluzione Completa per Server di Posta con Domini e Utenti Virtuali (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Pagina 13

C. Certificati client e server firmati da CA

Se desideri utilizzare certificati client firmati da CA, dovrai compiere ulteriori passi, sia in Postfix che in Dovecot per farlo funzionare. Se vuoi che i nomi utente siano presi dal certificato stesso, attualmente devi impostare il nome comune sul nome utente, ad esempio [email protected], che è stato utilizzato in questo documento.

1. Informare Postfix sui Certificati

In Postfix, puoi utilizzare una directory di certificati CA, o un file composito con tutti i certificati concatenati insieme. Useremo la forma concatenata, poiché è ciò che Dovecot si aspetta.

# postconf -e 'smtpd_tls_CAfile = /etc/ssl/example.com/ca/all.pem'

2. Informare Dovecot sui Certificati

In Dovecot, devi avere la CRL insieme al certificato affinché l’autenticazione funzioni. Le direttive stesse sono le seguenti.

/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  
[...]  

NOTA: Dovrai anche cambiare la password_query con quella commentata in /etc/dovecot/dovecot-sql.conf

Attenzione: Se stai eseguendo Dovecot release candidate 28 o versioni precedenti, il server non invierà l’elenco dei nomi CA accettati, il che potrebbe impedire ai client con più certificati client di connettersi. Si prega di aggiornare o installare questa patch.

3. Concatenare file

Se hai diversi CA e CRL, potrebbe essere difficile concatenarli ogni volta, quindi è stato creato un piccolo script che lo farà per te. Basta metterlo nella tua directory /etc/ssl/example.com/ca/ e eseguirlo. Creerà un all.pem con tutti i certificati e tutte le CRL.

make.sh:
#!/bin/bash  
rm all.pem 2> /dev/null  
cat *.pem *.crl > all.pem

4. Impostazioni TLS di Postfix

Come ho detto prima, ci sono alcune impostazioni in Postfix che devono essere modificate, quindi modifichiamo main.cf:

# postconf -e 'smtpd_tls_ask_ccert = yes'  
# postconf -e 'smtpd_tls_req_ccert = no'  
# postconf -e 'smtpd_recipient_restrictions = permit_tls_all_clientcerts, reject'

Ora dovresti avere un server di posta pronto per l’azienda con certificati client.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.