(mTLS)客户端证书身份认证.note

noteId: WEB237eddcf6041efff7cb3873a555d6c51 · 原始路径:/ALL/Linux - A模块/服务配置/Mail 邮件服务/(mTLS)客户端证书身份认证.note · 图片:10 · 附件待处理:0

 
1、postfix 配置 客户端证书身份认证:
要单独针对加密端口配置
 
(1)配置 postfix:
# 注意,这个命令:smtpd_tls_req_ccert=yes不能写在 main.cf 中,它会导致postfix一直触发TLS握手,并且疯狂写入将磁盘I/O占满,导致虚拟机包括外面的宿主机都变得非常卡,不能在 main.cf 中写
 
# 在 main.cf 中指定 根CA证书文件:
vim /etc/postfix/main.cf
注意,默认的是 smtp,我们要手动添加一个 smtpd的
 
vim /etc/postfix/master.cf
# 配置只在 587 和 465端口启用:
添加一行 smtpd_tls_req_ccert=yes,并将 smtpd_tls_security_level 复制到下面
 
·测试:
587端口:
# 无证书测试:
printf 'EHLO aftertls\r\nQUIT\r\n' | openssl s_client -connect Server4.shanghai.org:587 -starttls smtp -servername Server4.shanghai.org -tls1_2 -quiet
# 有证书测试:
printf 'EHLO mtls-test\r\nQUIT\r\n' | openssl s_client -connect Server4.shanghai.org:587 -starttls smtp -servername Server4.shanghai.org -tls1_2 -CAfile /etc/ssl/ca.crt -cert /etc/ssl/client.crt -key /etc/ssl/client.key -quiet
 
465端口:
# 不带证书测试:
printf 'EHLO no-cert\r\nQUIT\r\n' | openssl s_client -connect Server4.shanghai.org:465 -servername Server4.shanghai.org -tls1_2 -CAfile /etc/ssl/ca.crt -quiet
 
# 带证书测试:
printf 'EHLO mtls-465\r\nQUIT\r\n' | openssl s_client -connect Server4.shanghai.org:465 -servername Server4.shanghai.org -tls1_2 -CAfile /etc/ssl/ca.crt -cert /etc/ssl/client.crt -key /etc/ssl/client.key -quiet
 
 
 
·thunderbird 添加客户端证书:
# 先将客户端证书 私钥和公钥 合成 pfx 文件:
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
 
 
导入 p12 证书:
 
·发送邮件,此时发送邮件就会弹出提示:
 
 
·配置 自动选择证书:
添加完证书后回到刚刚那里:
勾选 select one automatically
 
 
2、dovecot 配置 客户端证书身份认证:
 
vim /etc/dovecot/conf.d/10-ssl.conf