이메일 보안 강화 가능의 마지막 단계인 DMARC는 이메일 스푸핑을 이용한 피싱, 사기 등을 막기 위한 도메인 기반 메시지 인증에 대한 보고 및 준수 정책입니다.
수신 서버는 발송자 주소 (From) 도메인의 DNS에서 DMARC 레코드를 조회합니다. DMARC 레코드에 정의된 정책에 따라 수신 서버는 수신된 메일을 인증합니다. DMARC 정책은 SPF와 DKIM을 사용하는지, 각각의 인증 수단이 실패했을 때 메일 처리 방법은 어떻게
되는지로 구성되어 있습니다.
일부 메일 서비스 (ex. Gmail이나 Yahoo 등)들은 DMARC를 적용하지 않을 경우 스팸 메일로 인지해 발송을 차단합니다. 메일 발송 간 높은 메일 도달률을 위해서는 DMARC 레코드를 사용하는 것을 권장합니다.
DMARC DNS 레코드는 '_dmarc.example.com'처럼 DMARC를 적용할 발송 도메인에 '_dmarc'를 붙인 서브 도메인 DNS에 레코드를 등록합니다.
다음은 DMARC DNS 레코드 예시입니다.
"v=DMARC1;p=none;sp=quarantine;pct=100;rua=mailto:dmarcreports@example.com;"
DMARC 레코드에 사용되는 값에 대해 설명합니다. 더 자세한 내용은 RFC 7489를 참고 부탁드립니다.
구분 | 필수 여부 | 값 | 설명 |
---|---|---|---|
v | 필수 | DMARC1 (고정) | 버전입니다. |
p | 필수 | none, quarantine, reject | 실패 시 처리에 대한 정책입니다. |
sp | 선택 | none, quarantine, reject | 서브 도메인에 대한 실패 처리 정책입니다. |
pct | 선택 | 0 \~ 100 (기본값 100) | 정책을 적용할 이메일 비중입니다. 예를 들어 50인 경우 수신된 이메일 중 절반이 DMARC 정책에 의해 인증됩니다. |
adkim | 선택 | s, r (기본값) | DKIM 얼라인먼트 (Alignment). DKIM-Signature의 도메인 (d)와 From (5322.From)의 일치 수준에 대한 설정입니다. |
aspf | 선택 | s, r (기본값) | SPF 얼라인먼트 (Alignment). SPF 인증 시 MAIL FROM (5321.From)과 From (5322.From)의 일치 수준에 대한 설정입니다. |
rua | 선택 | 주기적으로 집계한 실패 보고서를 수신할 주소입니다. 예, mailto:demarc-report@nhncloud.com | |
ruf | 선택 | 실패 보고서를 수신할 주소입니다. 예, mailto:demarc-report@nhncloud.com | |
fo | 선택 | 0 (기본값), 1, d, s | 실패 보고서 (ruf)를 생성할 기준입니다. |
rf | 선택 | afrf (고정) | 실패 보고서 (ruf) 형식에 대한 설정입니다. |
ri | 선택 | 86400 (단위 초, 기본 값) | 실패를 집계할 기간입니다. 설정된 주기마다 실패 보고서(rua)가 발송됩니다. |
실패 정책 | 설명 |
---|---|
none | 수신 서버에서 실패에 대해 아무 처리도 하지 않을 것을 바랍니다. SPF, DKIM을 사용하지 않는 상황에서 설정할 수 있습니다. |
quarantine | 수신 서버는 실패한 메일을 스팸으로 처리할 것을 바랍니다. |
reject | 수신 서버에서 DMARC 실패가 발생한 메일을 반송합니다. 일반적으로 발송 서버와 수신 서버가 SMTP 통신 시 DSN (Delivery Status Notification) 응답으로 이루어지는 것을 선호하는 정책입니다. |
정책 | 설명 |
---|---|
s | 엄격함 (Strict)입니다. 도메인 부분이 완전히 일치해야 합니다. |
r | 유연함 (Relexed)입니다. 서브 도메인도 가능합니다. 예, 'd=example.com'일 때 'From: news.example.com' 통과 |
기준 | 설명 |
---|---|
0 | SPF, DKIM 모두 실패했을 때 보고합니다. |
1 | SPF, DKIM 하나라도 실패했을 때 보고합니다. |
d | DKIM 인증 실패 시 보고합니다. |
s | SPF 인증 실패 시 보고합니다. |
"v=DMARC1; p=none; fo=1; rua=mailto:${보고서를_수신할_주소}"
RFC 7489 문서를 참고할 경우 일부 수신 서버에서 SPF를 DMARC 검증 로직을 먼저 구현할 수 있습니다. 이 때 SPF 레코드에 -all과 같은 - 접두사가 있을 경우 DMARC 인증을 실패할 수 있습니다. 일부 수신 서버에서 DMARC 인증을 실패할 경우 SPF 레코드에 -all과 같은 - 접두사를 제거하고 DMARC 인증을 다시 시도하십시오.
DMARC에서 주의할 점은 수신 서버가 DMARC 정책에 맞게 처리하는 것을 완전히 보장하지 않는다는 것입니다. DMARC는 발송 서버가 수신 서버에게 정책을 제안하는 수준으로 이해해야 합니다. 예를 들어 실패 정책을 'none'으로 설정해도 수신 서버는 인증이 실패된 이메일을 스팸으로 처리할 수 있습니다.
NHN Cloud에서는 RFC 7489 문서에 따라 DMARC 검증을 수행합니다. 일부 수신 서버에서 메일 수신이 실패할 경우 고객 센터 > 1:1 문의를 통해 문의하십시오.