용어 · dmarc 확인
애플리케이션 이메일의 DMARC는 어떻게 확인하나요?
DMARC 확인은 서로 다른 네 가지를 검증해야 합니다. DNS에서 유효한 정책이 검색되는지, 필수 태그가 올바르게 파싱되는지, 실제 메시지에서 인증된 SPF 또는 DKIM 식별자 중 하나 이상이 보이는 From 도메인과 정렬되는지, 그리고 적용 전에 모든 정상적인 애플리케이션 발신자가 반영되어 있는지입니다. _dmarc 이름을 조회하고 레코드를 살펴본 다음, 통제된 발송에서 나온 메시지 인증 결과를 확인하세요. DMARC 통과는 도메인의 승인된 사용을 검증할 뿐이며 전달이나 받은편지함 도달을 증명하지는 않습니다.
DMARC 확인은 조회 한 번이 아니라 네 가지 테스트로 다루세요
쓸모 있는 확인에는 네 개의 층이 있습니다. 첫째, 메시지의 작성자 도메인에 적용되는 정책을 찾습니다. 둘째, DNS가 반환한 텍스트를 무조건 받아들이지 않고 TXT 레코드를 DMARC 정책으로서 검증합니다. 셋째, 실제 메시지에서 식별자 정렬을 테스트합니다. SPF로 인증된 MAIL FROM 도메인이나 검증된 DKIM 서명 도메인이 보이는 From 헤더의 도메인과 정렬되어야 합니다. 넷째, 해당 도메인을 사용하는 모든 정상 애플리케이션, 제공업체, 리전, 메시지 유형을 통해 발송해 운영상의 커버리지를 확인합니다. DNS 조회에서 초록불이 뜨는 것은 첫째와 둘째 층의 일부만 다룹니다. 제공업체가 의도한 도메인으로 서명하는지, 사용자 지정 반환 경로가 활성화되어 있는지, 전달(forwarding)이 SPF 동작을 바꿨는지, 놓친 시스템이 적용 정책에서 살아남을지는 알 수 없습니다.
올바른 DNS 이름을 조회하고 정책 검색을 따라가기
RFC5322 From 헤더의 정확한 도메인, 흔히 작성자 도메인이라고 부르는 도메인에서 시작하세요. _dmarc 뒤에 그 도메인을 붙인 이름의 TXT를 조회하세요. alerts@notify.example.test에서 온 메시지라면 웹사이트 호스트, MX 호스트, 반환 경로 도메인이 아니라 _dmarc.notify.example.test에서 시작합니다. RFC 9989는 정책 검색을 한 번의 조회에 그치지 않게 정의합니다. 작성자 도메인에 유효한 레코드가 없으면 수신 측이 DNS 트리를 거슬러 올라가며 해당하는 조직 도메인이나 퍼블릭 서픽스의 정책을 찾을 수 있습니다. 하위 도메인 처리는 무엇이 존재하고 정책이 어디에서 발견되는지에 따라 sp, np, p 태그에서 결정될 수 있습니다. 따라서 확인 도구는 조회한 이름과 실제로 선택한 정책 도메인을 모두 보고해야 합니다. 단순히 레코드를 찾았다는 결과는 상속 실수나, 예상한 처리를 바꾸는 명시적 하위 도메인 정책을 가릴 수 있습니다.
정책을 해석하기 전에 레코드 구조를 검증하기
DMARC 정책 레코드는 태그-값 구문을 사용합니다. RFC 9989에서 v=DMARC1은 필수이고 대소문자를 구분하며 먼저 나타나야 하고, 유효한 p 태그는 요청된 평가 정책을 제공합니다. 일반 정책 값은 none, quarantine, reject입니다. 선택 태그는 보고 대상, 하위 도메인 동작, strict 또는 relaxed SPF 및 DKIM 정렬을 설명합니다. 철자 오류 태그, 누락된 p 값, 중복 또는 충돌 레코드, 잘못된 구분자, DNS 제공업체 따옴표 아티팩트가 있는 값을 자동 수정하지 마세요. 영구 평가 오류는 수정이 필요한 결과이지 DMARC 통과나 실패가 아닙니다. 일시적 DNS 조회 오류도 잘못된 레코드와 구분하세요. 제어된 경로로 일시적 리졸버 실패를 재시도하되 권한 있는 DNS를 안정적으로 조회하기 전에는 도메인에 정책이 없다고 주장하지 마세요.
실제 메시지에서 SPF와 DKIM 정렬 확인하기
DMARC는 DNS 설정만 따로 보지 않고 메시지 인증을 기준으로 평가됩니다. SPF는 인증된 MAIL FROM 도메인을 보이는 From 도메인과 비교하세요. DKIM은 검증에 성공한 각 서명의 d= 도메인을 보이는 From 도메인과 비교하세요. relaxed 정렬은 조직 도메인이 같은 도메인을 허용하고, strict 정렬은 도메인이 동일해야 합니다. 인증된 식별자 중 하나 이상이 기반 메커니즘을 통과하고 정렬되면 메시지가 통과합니다. 예를 들어 제공업체의 반환 경로 덕분에 제공업체 도메인에 대해서는 SPF가 통과해도 billing.example.test와는 정렬되지 않을 수 있습니다. relaxed 정렬에서 DKIM이 d=example.test로 검증되면 메시지는 여전히 DMARC를 통과할 수 있습니다. 통제된 수신자 계정에서 원본 Authentication-Results 헤더를 확보하되, 이 헤더는 평가한 수신 측의 결과를 보고하고 여러 홉이나 서명을 포함할 수 있으므로 맥락 속에서 해석하세요.
pass, fail, none, error 결과를 정확히 읽기
DMARC 통과는 정책 레코드가 적용되고 인증된 SPF 또는 DKIM ID가 작성자 도메인에 정렬된다는 뜻입니다. 실패는 정책이 적용되지만 정렬된 인증 ID가 없다는 뜻입니다. None은 적용 가능한 정책을 찾지 못했음을 뜻합니다. Permerror와 temperror는 DMARC 평가 중 오류를 뜻하며 DNS 오류가 있는 메시지는 DMARC 통과나 실패로 볼 수 없습니다. 이 결과는 메일박스 제공업체가 메시지를 어디에 배치했는지 말해 주지 않습니다. RFC 9989는 통과가 도메인 소유자의 사용이 승인되었음을 검증하는 데 한정됨을 명시하며 메시지가 안전하거나, 원하거나, 평판이 좋거나, 받은편지함에 적합하다고 주장하지 않습니다. 진단과 대시보드에서 제공업체 접수, 수신 서버 접수, DMARC 결과, 스팸 신고 신호, 관찰된 배치를 별도 필드로 유지하세요.
적용 전에 모든 정상 발신자 파악하기
도메인을 From에 사용하는 모든 시스템을 정리하세요. 프로덕션 애플리케이션, 인증 이메일, 결제 알림, 지원 도구, 마케팅 플랫폼, 모니터링 알림, CRM 워크플로, 지역별 계정, 비상 시스템이 해당합니다. 각 스트림마다 보이는 From 도메인, MAIL FROM 도메인, DKIM d= 도메인과 셀렉터, 제공업체 계정, 담당자, 메시지 유형, 예상 볼륨을 기록하세요. 통상적인 프로덕션 경로로 통제된 메시지를 보내 인증과 정렬을 모두 검증하세요. DMARC 집계 보고서는 도메인을 사용하는 출처를 드러낼 수 있지만 해석이 필요하고 전달(forwarding) 트래픽이나 무단 트래픽이 포함될 수 있습니다. 목록이 완성되지 않았다면 모니터링으로 시작하고, 더 강한 수신 측 처리를 요청하기 전에 정렬되지 않은 정상 스트림을 개선하세요. 애플리케이션 하나를 초록불로 만들려고 공유 조직 정책을 바꾸지 마세요. 테스트 메시지 하나만 보고 적용 단계로 넘어가지도 마세요.
애플리케이션 이메일의 흔한 실패 진단하기
정책이 발견되지 않으면 값을 수정하기 전에 DNS 영역과 레코드 이름을 확인하세요. 레코드에 영구 오류가 있으면 유효한 정책 하나로 줄이고 태그 순서와 문법을 확인하세요. DKIM이 실패하면 예상한 셀렉터가 존재하는지, 제공업체가 테스트한 메시지에 실제로 서명했는지, 전송 중 본문이나 서명된 헤더가 바뀌었는지, 검증된 d= 도메인이 정렬되는지 확인하세요. SPF는 통과하는데 DMARC가 실패한다면 SPF 통과만으로 충분하다고 보지 말고 MAIL FROM 도메인을 보이는 From 도메인과 비교하세요. 전달된(forwarded) 메일만 실패한다면, 전달이 흔히 엔벨로프 경로를 바꿔 SPF를 깨뜨리는 반면 정렬된 유효한 DKIM 서명은 유지될 수 있다는 점을 기억하세요. 롤아웃 때문에 거부가 발생하면 실패한 헤더와 수신 측의 응답을 보존하고, 더 이상 정책을 강화하지 말고, 관련 없는 인증 제어를 약화하지 말고 원인이 된 스트림을 고치세요.
제공업체별 정렬 규칙을 의도적으로 적용하기
서드파티 발신자는 인증된 식별자를 조직이 통제하는 도메인에 묶는 설정이 필요합니다. Amazon SES 문서는 두 가지 경로를 설명합니다. SPF를 위한 정렬된 사용자 지정 MAIL FROM 도메인과 정렬된 DKIM 서명 도메인입니다. 제공업체 소유의 기본 반환 경로는 SPF 인증은 되더라도 보이는 From 도메인과 정렬되지 않을 수 있으므로, 사용자 지정 MAIL FROM 도메인을 구성하지 않았다면 실질적으로 정렬되는 메커니즘은 DKIM인 경우가 많습니다. 다른 제공업체는 반환 경로, 바운스 도메인, 도메인 인증, 서명 ID를 다른 이름으로 부릅니다. 대시보드의 검증 완료 배지가 DMARC를 보장한다고 가정하지 말고 실제로 나가는 메시지를 검증하세요. 현재 Gmail 발신자 가이드도 해당하는 트래픽에 인증과 정렬을 요구하고 DMARC 보고를 권장합니다. 수신 측 요건과 제공업체 기능은 바뀔 수 있으므로 출시 시점과 사고 검토 중에 공식 문서를 다시 확인하세요.
제공업체 증거를 DMARC 판정으로 취급하지 않기
SendHQ는 검증된 도메인 발송, 전달 이벤트, 발송 제외, 웹 대시보드를 지원합니다. 발송 도메인과 전달 정보로 메시지 스트림을 조사한 뒤 수신자의 Authentication-Results 헤더에서 DMARC를 검증하고 SPF, DKIM, 정렬 증거를 분리하세요. 제공업체 접수와 전달 이벤트는 받은편지함 도달을 증명하지 않습니다.
감사할 수 있는 DMARC 확인 결과 기록하기
오래 보존할 결과에는 작성자 도메인, 조회 시각, 리졸버, 조회한 _dmarc 이름, 선택된 정책 도메인, 정규화된 정확한 레코드, 정책과 정렬 모드, DNS 상태, 파싱 결과가 통과 가능한 문법인지 permerror인지 temperror인지가 들어 있어야 합니다. 통제된 메시지마다 민감하지 않은 메시지 식별자, 발송 시스템, 보이는 From 도메인, 인증된 SPF 도메인과 결과, 검증된 DKIM 도메인과 셀렉터, 정렬 판단, 최종 DMARC 결과, 수신 측을 한 행으로 추가하세요. 원본 헤더에는 주소, 라우팅 정보, 내부 식별자가 드러날 수 있으므로 접근이 제한된 저장소에 보관하세요. 각 결과에 담당자와 개선 기한을 연결하세요. DNS TTL 만료, 제공업체 구성 변경, 키 교체, 새 메시지 스트림, 정책 강화 후에 다시 확인하세요. 이런 증거가 있어야 확인을 재현할 수 있고, 기반 구성이 바뀐 뒤에도 스크린샷이나 도구 배지가 영구적인 증거로 남는 일을 막을 수 있습니다.
자주 묻는 질문
DMARC 레코드는 어디에서 확인해야 하나요?
보이는 From 주소의 정확한 도메인에 _dmarc를 붙인 TXT에서 시작하세요. 처음 조회한 이름에 유효한 레코드가 없으면 조직 도메인 또는 하위 도메인 정책이 적용될 수 있으므로, 현재의 DMARC 검색 규칙으로 선택된 정책 도메인도 함께 확인하세요.
v=DMARC1이 보이면 DMARC를 통과한 건가요?
아니요. 유효한 정책 레코드의 일부일 뿐입니다. 메시지는 SPF 또는 DKIM이 보이는 From 도메인과 정렬된 도메인으로 인증될 때 통과합니다. 실제 메시지를 테스트하고 수신 측의 인증 결과를 확인하세요.
SPF가 정렬되지 않아도 DMARC가 통과할 수 있나요?
네. 검증에 성공한 DKIM 서명이 DMARC에 필요한 정렬된 인증 식별자를 만들 수 있습니다. 반대도 가능합니다. DKIM이 통과하지 않아도 정렬된 SPF가 통과를 뒷받침할 수 있지만, 메커니즘 하나에만 의존하면 복원력이 떨어집니다.
DMARC 통과는 받은편지함 도달을 증명하나요?
아니요. 해당 메시지에서 작성자 도메인의 승인된 사용을 검증할 뿐입니다. 수신 측은 메시지를 수락, 거부, 격리하거나 분류할 때 여전히 평판, 콘텐츠, 수신자, 악용, 로컬 정책 신호를 적용할 수 있습니다.
애플리케이션은 바로 p=reject로 넘어가야 하나요?
보통 인벤토리와 모니터링 증거 없이는 그렇지 않습니다. 모든 정상 발신자를 매핑하고, 제어된 메시지의 정렬을 검증하며, 집계 보고서를 검토하고, 실패를 해결하고, 더 강한 처리 적용을 요청하기 전에 도메인 소유자와 정책 변경을 조율하세요.
이메일 제공업체를 바꾼 뒤에는 무엇을 다시 확인해야 하나요?
프로덕션 트래픽을 늘리기 전에 각 From 도메인에서 검색되는 정책, 제공업체의 MAIL FROM과 DKIM 도메인, 셀렉터 DNS, SPF와 DKIM 결과, relaxed 또는 strict 정렬, 집계 보고서, 통제된 모든 애플리케이션 메시지 유형을 다시 확인하세요.
출처
- RFC 9989: 도메인 기반 메시지 인증, 보고 및 적합성(Domain-Based Message Authentication, Reporting, and Conformance) — RFC Editor
- Amazon SES에서 DMARC 인증 프로토콜 준수하기 — Amazon Web Services
- 이메일 발신자 가이드라인 — Google
- 권장 DMARC 롤아웃 — Google Workspace
- SendHQ OpenAPI 명세 — SendHQ