DMARC가 SPF와 DKIM 위에 더해주는 것
SPF와 DKIM은 각각 메시지에 관한 무언가를 증명하지만, 그 증명이 수신자가 실제로 보는 주소와 관련이 있는지는 둘 다 검사하지 않습니다. DMARC가 그 빈틈을 메웁니다. SPF나 DKIM이 통과하고 From 도메인과 정렬될 것을 요구한 뒤, 둘 다 실패했을 때 수신자가 무엇을 해야 하는지 알려줍니다. 또한 리포트를 보내주는데, 이는 여러분의 도메인으로 발송하는 모든 도구를 찾아내는 유일하게 믿을 만한 방법입니다.
레코드는 _dmarc.yourdomain.com 에 TXT 레코드로 존재합니다. 최소한이면서 쓸모 있는 레코드는 다음과 같습니다.
v=DMARC1; p=none; rua=mailto:[email protected]none, quarantine, reject 중에서 고르기
p=none 은 모니터링 모드입니다. 수신자 입장에서는 아무것도 달라지지 않지만 여러분은 리포트를 받습니다. p=quarantine 은 실패한 메일을 스팸함에 넣어달라고 수신자에게 요청합니다. p=reject 는 거부해 달라고 요청합니다. Gmail과 Yahoo는 대량 발송자에게 DMARC 레코드를 요구하며, 집행되는 정책(quarantine 또는 reject)을 잘 운영되는 도메인의 신호로 봅니다.
- DKIM을 사용하는 단일 메일박스 제공업체로만 발송하는 신규 도메인은 대개 곧바로 p=reject 로 가도 됩니다.
- 여러 도구와 연동 이력이 있는 도메인은 p=none 으로 시작해 몇 주간 리포트를 읽어야 합니다.
- pct 로 집행을 단계적으로 도입하세요. pct=25 는 실패 메일의 4분의 1에 정책을 적용하고 나머지에는 더 약한 정책을 적용합니다.
- 서브도메인이 메일을 전혀 보내지 않는다면 sp=reject 를 설정해 아무도 서브도메인을 스푸핑하지 못하게 하세요.
집계 리포트와 포렌식 리포트
rua 태그는 수신자가 집계 리포트를 보낼 주소를 나열합니다. 여러분의 도메인으로 발송한 모든 IP와 SPF, DKIM의 통과 및 정렬 여부를 요약한 일일 XML 파일입니다. ruf 태그는 포렌식 리포트, 즉 메시지별 샘플을 요청하는데 이를 여전히 보내는 수신자는 드물고 메시지 내용이 포함될 수 있습니다. 대부분의 팀에는 rua 만으로 충분합니다.
리포트 주소가 레코드를 게시하는 도메인과 다른 도메인에 있다면, 수신 도메인은 yourdomain.com._report._dmarc.reportdomain.com 에 v=DMARC1 을 담은 승인 레코드를 게시해야 합니다. 호스팅형 DMARC 리포트 서비스는 이를 자동으로 처리합니다.
정렬 모드와 콜드 이메일 도구
기본값인 relaxed 정렬은 DKIM 서명 도메인이나 SPF 봉투 도메인이 From 도메인이거나 그 서브도메인인 경우를 인정합니다. strict 는 정확한 일치를 요구합니다. 콜드 이메일 플랫폼은 여러분 자신의 메일박스 제공업체를 통해 발송하므로 From 도메인, DKIM 도메인, SPF 도메인이 일치하고 relaxed 정렬이 깔끔하게 통과합니다.
문제는 어떤 도구가 자체 인프라에서 다른 봉투 도메인으로, 커스텀 DKIM 없이 발송할 때 생깁니다. 이 경우 메시지는 정렬에 실패하고 집행 정책이 이를 격리합니다. 정책을 조이기 전에 리포트를 확인하고, 특별한 이유가 없다면 정렬은 relaxed 로 유지하세요. InboxOne 도메인은 DMARC 레코드가 이미 구성된 상태로 제공되므로 첫 캠페인부터 인증된 상태로 시작합니다.

