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