sendmail (3/4) – sendmail with SSL

By | 2020년 4월 5일
Table of Contents

sendmail (3/4) – sendmail with SSL

인증서 등록

먼저 여기 를 참조하여 SSL 을 설치해야 합니다.

sudo vi /etc/hostname

skyer9.pe.kr
sudo reboot

인증서가 갱신되는 경우를 대비해 크론탭등에 인증서를 다시 복사해 오는 로직이 필요합니다.

sudo mkdir /etc/cert_sendmail
sudo cp /etc/letsencrypt/live/skyer9.pe.kr/* /etc/cert_sendmail/

sudo chown root:smmsp /etc/cert_sendmail/*.pem
sudo chmod 640 /etc/cert_sendmail/*.pem

sudo chown root:smmsp /etc/cert_sendmail
sudo chmod 750 /etc/cert_sendmail
sudo vi /etc/mail/sendmail.mc

define(`CERT_DIR', `/etc/cert_sendmail')dnl
define(`confCACERT_PATH', `/etc/cert_sendmail')dnl
define(`confCACERT',      `CERT_DIR/chain.pem')dnl
define(`confSERVER_CERT', `CERT_DIR/cert.pem')dnl
define(`confSERVER_KEY',  `CERT_DIR/privkey.pem')dnl
define(`confCLIENT_CERT', `CERT_DIR/cert.pem')dnl
define(`confCLIENT_KEY',  `CERT_DIR/privkey.pem')dnl
sudo vi /etc/mail/sendmail.mc

include(`/etc/mail/tls/starttls.m4')dnl
# below the following
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
sudo vi /etc/mail/submit.mc

include(`/etc/mail/tls/starttls.m4')dnl
# below the following
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
sudo make -C /etc/mail
sudo systemctl restart sendmail
sudo systemctl status sendmail

인증서 경로를 변경했음에도 변경이 되지 않는 경우 아래 두개의 파일을 직접수정해야 합니다.

/etc/mail/tls/starttls.m4
/etc/mail/submit.cf

SASL 인증 설정

sudo apt update
sudo apt install sasl2-bin libsasl2-modules

sudo systemctl start saslauthd
sudo systemctl enable saslauthd
sudo vi /etc/default/saslauthd

START=yes

sudo systemctl reload saslauthd
sudo sendmailconfig

TLS 활성화

아래 설정을 추가하면, TLS 가 활성화되어 이메일이 발송됩니다.

vi ~/.mutt/muttrc

set from="ubuntu@skyer9.pe.kr"
set realname="ubuntu"
set hostname=skyer9.pe.kr
set ssl_starttls=yes

발송 테스트

echo "메일 서버 설정 테스트

안녕하세요,

이 메일은 메일 서버의 보안 설정이 올바르게 구성되었는지 확인하기 위한 테스트 메일입니다.

현재 활성화된 보안 설정:
- DKIM (DomainKeys Identified Mail): 활성화
- SPF (Sender Policy Framework): 활성화  
- DMARC (Domain-based Message Authentication): 활성화
- TLS (Transport Layer Security): 활성화

테스트 항목:
1. 메일 전송 성공 여부
2. 스팸 필터 통과 여부
3. DKIM 서명 검증
4. SPF 레코드 검증
5. DMARC 정책 준수

이 메일이 정상적으로 수신되었다면 메일 서버 설정이 올바르게 구성된 것입니다.

발송 시각: $(date '+%Y-%m-%d %H:%M:%S')
서버: $(hostname)

감사합니다." | mutt -s "[테스트] 메일 서버 보안 설정 검증" skyer9@gmail.com

답글 남기기