메일 서버 · 1 min read · Oct 06, 2025

CA 서명 클라이언트 및 서버 인증서

C. CA 서명 클라이언트 및 서버 인증서

CA 서명 클라이언트 인증서를 사용하려면, 이를 작동시키기 위해 Postfix와 Dovecot에서 추가 단계를 수행해야 합니다. 인증서 자체에서 사용자 이름을 가져오려면, 현재 공통 이름을 사용자 이름으로 설정해야 합니다. 예를 들어 [email protected]가 이 문서에서 사용되었습니다.

1. Postfix에 인증서 알리기

Postfix에서는 CA 인증서의 디렉토리를 사용하거나 모든 인증서를 연결한 복합 파일을 사용할 수 있습니다. Dovecot이 기대하는 것이므로 연결된 형식을 사용할 것입니다.

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

2. Dovecot에 인증서 알리기

Dovecot에서는 인증이 작동하려면 인증서와 함께 CRL이 있어야 합니다. 지시문은 다음과 같습니다.

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

참고: /etc/dovecot/dovecot-sql.conf의 주석 처리된 password_query로 변경해야 합니다.

경고: Dovecot 릴리스 후보 28 이하를 실행 중인 경우, 서버는 수락된 CA 이름 목록을 전송하지 않으므로 여러 클라이언트 인증서가 있는 클라이언트가 연결할 수 없게 될 수 있습니다. 업그레이드하거나 이 패치를 설치하십시오.

3. 파일 연결하기

여러 CA와 CRL이 있는 경우, 매번 연결하기 어려울 수 있으므로 이를 수행하는 작은 스크립트가 생성되었습니다. /etc/ssl/example.com/ca/ 디렉토리에 넣고 실행하면 됩니다. 모든 인증서와 모든 CRL이 포함된 all.pem을 생성합니다.

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

4. Postfix TLS 설정

앞서 언급했듯이 Postfix에서 변경해야 할 설정이 있으므로 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'

이제 클라이언트 인증서가 있는 기업 준비 완료 이메일 서버를 갖추게 되었습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.