Servidor de Email · 1 min read · Oct 06, 2025

Solução Completa de Servidor de Email com Domínios e Usuários Virtuais (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Página 13

C. Certificados de cliente e servidor assinados por CA

Se você quiser usar certificados de cliente assinados por CA, precisará tomar mais medidas, tanto no Postfix quanto no Dovecot para que isso funcione. Se você quiser que os nomes de usuário sejam retirados do próprio certificado, atualmente deve definir o nome comum como o nome de usuário, por exemplo [email protected], que foi usado neste documento.

1. Informando o Postfix sobre os Certificados

No Postfix, você pode usar um diretório de certificados CA ou um arquivo composto com todos os certificados concatenados. Vamos usar a forma concatenada, já que é isso que o Dovecot espera.

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

2. Informando o Dovecot sobre os Certificados

No Dovecot, você deve ter a CRL junto com o certificado para que a autenticação funcione. As diretivas são as seguintes.

/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: Você também precisará alterar a password_query para a comentada em /etc/dovecot/dovecot-sql.conf

Aviso: Se você estiver executando a versão candidata do Dovecot 28 ou anterior, o servidor não enviará a lista de nomes de CA aceitos, o que pode impedir que clientes com múltiplos certificados de cliente se conectem. Por favor, atualize ou instale este patch.

3. Concatenando arquivos

Se você tiver várias CAs e CRLs, pode ser difícil concatená-las toda vez, então um pequeno script foi criado que fará isso por você. Basta colocá-lo no seu diretório /etc/ssl/example.com/ca/ e executá-lo. Ele criará um all.pem com todos os certificados e todas as CRLs.

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

4. Configurações TLS do Postfix

Como eu disse antes, há algumas configurações no Postfix que também precisam ser alteradas, então vamos modificar o 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'

Agora você deve ter um servidor de email pronto para empresas com certificados de cliente.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.