DNS / DMARC 레코드의 용도와 설정하는 방법
Created 2023-10-02
Last Modified 2023-10-02
DMARC란?
- DMARC는 Domain-based Message Authentication Reporting and Conformance의 약자이다.
- DNS 레코드를 이용하여 메일이 해당 도메인에서 정상적으로 발송되었음을 증명하는 방법에는 SPF, DKIM이 있다.
- SPF와 DKIM 테스트를 통과하지 못한 메일에 대해서 어떻게 처리했으면 하는지를 DMARC 레코드로 수신 메일 서버에 알려준다.
- DMARC 레코드에 대한 자세한 내용은 RFC 7489 문서에 있다.
DMARC 레코드 설정하는 방법
- DMARC 레코드는 TXT 레코드로, 호스트는 _dmarc이다.
- v와 p는 필수로, 값을 다음과 같이 설정했다면, 'SPF와 DKIM을 통과하지 못한 메일이라면 수신하지 마세요'라고 알려주는 것이다.
v=DMARC1; p=reject
- v는 가장 먼저 선언해야 하는 것으로 값은 DMARC1이다.
- p는 v 다음에 선언해야 하는 것으로, 다음 세 가지 중 하나를 선택한다.
none : 아무런 조치를 하지 않고 메일을 수신
quarantine : 스팸메일함으로 수신
reject : 수신을 차단하고, 반송 처리 - sp는 하위 도메인에서 전송된 메일에 대한 정책이다.
none : 아무런 조치를 하지 않고 메일을 수신
quarantine : 스팸메일함으로 수신
reject : 수신을 차단하고, 반송 처리 - pct로 메일의 몇 %에 적용할지 정한다. 이 값이 없으면 pct=100으로 처리한다.
- rua로 해당 도메인의 DMARC 처리 보고서를 수신할 이메일 주소를 정한다. 메일 주소 앞에 ‘mailto:’를 입력하고, 쉼표(,)를 이용하여 여러 이메일 주소를 지정할 수 있다.
- 다음은, SPF와 DKIM을 통과하지 못한 경우 도메인과 서브도메인 모두 수신 거부하고 dmarc@example.com으로 보고서를 보내달라는 뜻이다.
v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc@example.com
DMARC 설정 확인
- DNS 레코드가 잘 반영되고 있는지 확인하는 방법은 여러 가지가 있는데, DMARC 레코드의 경우 https://mxtoolbox.com/에서 조회하는 것이 편하다.
- 도메인을 입력하고 DMARC Lookup으로 조회하면 바로 확인할 수 있다.