메일서버에 Let’s Encrypt 적용하기(sendmail, dovecot)

| 2018년 1월 31일 | 0 Comments

이 글에서는 무료 SSL 인증서인 Let’s Encryprt를 sendmail과 dovecot에 적용하는 방법에 대해 다룹니다.
CentOS7 환경이며, sendmail과 dovecot은 yum으로 설치하였습니다.

 

0. 선행작업 – Let’s Encrypt 인증서 발급
아래 매뉴얼을 확인하여 인증서를 생성하면 됩니다. 이미 인증서를 발급받으신 분은 1번으로 넘어갑니다.
Let’s Encrypt 무료 SSL 인증서 적용하기 [ LINUX ](http://idchowto.com/?p=33077)

 

1. Sendmail SSL 설정(/etc/mail/sendmail.mc)

define(`confCACERT_PATH’, `/etc/letsencrypt/live/도메인명’)dnl
define(`confCACERT’, `/etc/letsencrypt/live/도메인명/chain.pem’)dnl
define(`confSERVER_CERT’, `/etc/letsencrypt/live/도메인명/cert.pem’)dnl
define(`confSERVER_KEY’, `/etc/letsencrypt/live/도메인명/privkey.pem’)dnl
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s’)dnl

 

2. dovecot SSL 설정(/etc/dovecot/conf.d/10-ssl)

ssl = yes
ssl_cert = </etc/letsencrypt/live/도메인명/cert.pem
ssl_key = </etc/letsencrypt/live/도메인명/privkey.pem

 

3. 개인키 권한 조정
권한을 변경하지 않을 경우 sendmail에서 정상적으로 ssl이 작동하지 않기 때문에 권한을 조정합니다.

chmod 600 /etc/letcencrypt/live/도메인명/privkey.pem

 

4. 적용 확인
테스트는 메일 수발신시 tcpdump를 이용하여 메일의 내용이 정상적으로 암호화되었는지 확인하였습니다.
ssl을 적용하지 않을 경우 클리어 텍스트로 해당 내용이 보입니다.
메일 클라이언트의 경우 아래와 같이 설정하였습니다.

메일을 다음과 같이 보내었으며, 동시에 패킷을 확인하였습니다.

1234를 확인해보았으나, 암호화되었기 때문에 찾을 수 없었습니다.

지메일에서 메일서버로 메일을 보내었으며, 도착할 때 패킷 덤프를 진행하였습니다.

tcpdump를 이용하여 패킷덤프를 진행하였으며, 역시 1234를 확인할 수 없었습니다.

긴 글 읽어주셔서 감사합니다.

 

 

 

Category: LINUX

김영훈

About the Author ()