Tab & Tap
한국어

가이드

DMARC 확인: DMARC 레코드를 태그별로 읽기

DMARC는 내 도메인에서 보낸 것처럼 보이지만 SPF와 DKIM을 통과하지 못한 메일을 어떻게 처리할지 수신 메일 서버에 알려 줍니다. 레코드가 잘못되면 스푸핑 메일이 그대로 전달되거나 내 메일이 스팸함으로 갑니다. 확인하는 방법을 알아봅니다.

DMARC 레코드의 위치

DMARC는 도메인 앞에 _dmarc.을 붙인 이름에 있는 TXT 레코드입니다. example.com이라면 _dmarc.example.com의 TXT 레코드를 조회합니다.

_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100"

이 레코드는 정확히 하나만 있어야 합니다. DMARC 레코드가 두 개면 수신 측은 둘 다 무시합니다.

중요한 태그

태그의미예시
v버전. 맨 앞에 와야 하며 값은 DMARC1이어야 합니다.v=DMARC1
p도메인 정책: none(보고만), quarantine(의심 메일로 처리, 보통 스팸함) 또는 reject(메일 거부).p=reject
sp하위 도메인 정책. 기본값은 p와 같습니다.sp=quarantine
pct인증에 실패한 메일 중 정책을 적용할 비율, 0–100. 기본값은 100.pct=25
rua집계 보고서를 받을 주소.rua=mailto:dmarc@example.com
ruf실패 보고서를 받을 주소. 보내지 않는 제공업체가 많습니다.ruf=mailto:forensic@example.com
adkim, aspfDKIM과 SPF의 정렬 모드: r 완화(하위 도메인도 일치, 기본값) 또는 s 엄격.adkim=s

p=none, quarantine, reject 중 무엇을 쓸까?

  • p=none은 아무것도 보호하지 않으며, 수신 측은 보고서만 보냅니다. 몇 주 동안 사용해 누가 내 도메인으로 메일을 보내는지 파악하세요.
  • p=quarantine은 인증에 실패한 메일을 스팸함으로 보냅니다. 사용하는 모든 서비스가 통과하면 안전하게 넘어갈 수 있는 단계입니다.
  • p=reject는 스푸핑 메일을 완전히 차단합니다. 대부분의 도메인이 목표로 할 설정입니다.

p=none이면서 rua도 없는 레코드는 보호도 보고서도 주지 않으므로 아무 역할도 하지 않습니다.

DMARC의 판정 방식: 정렬

SPF나 DKIM이 통과하고 그리고 확인한 도메인이 From 헤더의 도메인과 일치하면 메일은 DMARC를 통과합니다. SPF는 봉투 발신자(Return-Path)를, DKIM은 서명의 d= 도메인을 확인합니다. 자기 도메인으로 서명하는 뉴스레터 서비스는 DKIM은 통과하지만, 그 서비스에서 내 도메인용 DKIM을 설정하기 전까지는 DMARC 정렬에 실패합니다.

흔한 실수

  • 레코드를 _dmarc.이 아니라 도메인 자체에 둠.
  • DMARC 레코드가 두 개이거나, SPF 레코드 안에 DMARC를 넣음.
  • 테스트 후에도 pct를 100 미만으로 남겨 두어 스푸핑 메일 대부분이 여전히 전달됨.
  • 모든 발송 서비스(CRM, 헬프데스크, 뉴스레터)가 정렬된 SPF나 DKIM을 통과하기 전에 p=reject로 바꿈.
  • 다른 도메인의 주소로 보고서를 보내면서 그 도메인에 허용 레코드를 두지 않음.

SPF와 DKIM도 확인하세요

DMARC는 나머지 두 가지에 의존합니다. SPF 레코드는 중첩된 include를 포함해 DNS 조회를 10회 이내로 유지해야 하며, 넘으면 영구 오류(permerror)가 됩니다. DKIM 키는 셀렉터 이름(예: google._domainkey) 아래에 있고 DNS로는 목록을 볼 수 없으므로, 제공업체가 쓰는 셀렉터를 알아야 합니다.

출처