Back-end/Network

도메인 기반 이메일 인증 SPF / DKIM / DMARC

cheersHena 2020. 7. 9. 13:18
반응형
SPF, Sender Policy Framework

메일서버등록제

메일 발송서버 정보(IP)를 사전에 DNS에 등록하여 수신자로 하여금 이메일에 표시된 발신자 정보(IP)가 실제 메일서버의 정보와 일치하는지를 확인할 수 있도록 인증합니다. 수신시 발신자 위조 여부 확인을 위한 SPF 기능이 가동되므로 사칭메일의 유입을 차단한다.



◎ SPF를 이용한 이메일 인증절차
  • 발신자 : 메일 발송서버 정보(IP)와 정책을 나타내는 SPF 레코드를 해당 DNS에 등록
  • 수신자 : 이메일 수신시 발송자의 DNS에 등록된 ‘SPF 레코드’를 조회하여 해당 이메일에 표시된 발송IP와 대조하여 사칭여부 판단 및 수신여부를 결정







DKIM 

Domain Keys Identified Mail 

 도메인 키 인증 메일

메일 헤더에 디지털 서명을 추가하여 메일의 발신자 또는 내용이 변조되었는지 확인할 수 있도록 이메일에 공개키 기반으로 한 인증기능을 추가하는 것이다. 


수신측 서버에서는 도메인의 서명을 검사하여 실제 발신자의 도메인에서 전송되었는지, 전송과정에서 내용이 변경되었는지 여부를 확인 할 수 있으며, SPF 체크를 병행하면 인증된 메일서버로부터 수신되었는지도 확인할 수 있음. 


발신메일에 DKIM 서명을 추가하기 위해서는 기본적으로 발신자의  DNS 도메인에 도메인키를 추가해야 한다. 

도메인 키는 수신자가 DKIM 헤더를 해독할 수 있도록 DNS의 TXT레코드에 공개 도메인키를 추가하고, 메일 발송 시에는 개인 키를 이용한 RSA암호화 헤더 (DKIM-signature)를 덧붙여 발송한다.

수신 측에서는 공개키를 이용하여 해독을 하고, 메일의 유효성을 체크하는 것이다.


즉, SPF (Sender Policy Framework) 를 이용하여 발신서버가 정상적으로 인증된 서버인지를 확인하고, DKIM을 이용하여 메일의 내용이 위/변조 되었는지 확인함으로써 스팸여부를 보다 확실하게 판독할 수 있다. 


EX)

DNS등록: txt레코드에 "접두어(selector)._domainkey.your_domain" 의 형태로 등록.

default._domainkey.google.com txt =

"v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbW02FFEEJ…………."


( p는 openssl을 이용하여 생성한 공개키를 지정)


•DKIM헤더(DKIM-Signature) Example

DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; t=1429617025; s=default; d=google.com; h=Date:From:To:Cc:Message-ID:Subject:MIME-Version:Content-Type; bh=Yi50nDMMWE4d4a9bG/77u5b7bTQ8iNGm/HE1ukepoOY=; b=bs2FA6UUjCFy3vhtbVEE3dyvXPWywQkxsNUEYk9iWng+zBPmu+7eRmazG/EyTorj tZBUrBeDvzQ4m4iw5tLEZe058GEhxgMNtAyxsqTtfyZ5Gb8dPjn0fRjc8F+LvD5oGUm Wzae5ZK8OyZV2t79b2yGCAk1Jj8zTB7/4OTKcdpI= 



◎ DKIM 인증절차
  • 발신자 : 사전에 자신의 DNS TXT 레코드에 공개 도메인 키를 추가하고, 메일을 보낼 때 자신의 개인키를 이용하여 RSA암호화 헤더(DKIM-Signature)를 덧붙여서 발송
  • 수신자 : DNS로부터 얻은 공개키를 이용하여 메일의 유효성을 체크


DMARC

Domain-based Message Authentication , Reporting and Conformance


이메일 도메인 소유자가 이메일 스푸핑으로 알려진 무단사용에서 도메인을 보고할 수 있도록 설계되었다.

DMARC의 구현 목적

비즈니스 이메일 공격, 피싱메일, 이메일 사기 등 사이버 위협 행위에 도메인이 이용되지 않도록 보호한다.

메일서버등록제(SPF)와 도메인 키 인증 메일(DKIM)을 기반으로 이메일의 진위 여부를 확인하거나 정당한 발신자인지 구분할 수 있도록 인증하고, DMARC 정책 처리 결과 보고서를 발송한다.


DMARC는 SPF(Sender Policy Framework) 밑 DKIM( DomainKeys Idenfitied Mail ) 과 함께 작동하여 메일 발신자를 인증하고, 대상 전자 메일시스템이 도메인에서 보낸 메세지를 신뢰하도록 한다.


SPF 및 DKIM으로 DMARC를 구현하면 , 스푸핑 및 피싱 메일에 대한 추가 보호 기능을 제공한다.

DMARC는 메일 시스템에서 SPF또는 DKIM검사에 실패한 도메인에서 보낸 메세지를 어떻게 처리할지 결정하는데 도움이 된다. 

DMARC 인증절차
  • 발신자 : SPF와 DKIM을 우선적으로 DNS에 설정하고, 발신되는 메시지의 처리방법을 수신자에게 통보하기 위해 DNS에 DMRAC 정책을 추가적으로 등록
  • 수신자 : DNS에서 SPF, DKIM 및 DMARC 레코드를 검색하고 수신메일이 SPF 또는 DKIM 검사를 통과하지 못하면 DMARC 정책 실행 / DMARC 정책 처리 결과 피드백을 위한 보고서 발송















































반응형

'Back-end > Network' 카테고리의 다른 글

나스란 ? NAS storage  (0) 2020.11.06
Rsync 알싱크 란?  (0) 2020.11.05
REST 란? Restful API 란?  (0) 2020.05.29
[Network] [MailServer] DNS/ MX레코드/ A레코드 란?  (0) 2020.05.02
[Network] NAT / PAT 란?  (0) 2020.03.24