DMARC 레코드의 구조와 v=DMARC1의 역할
DMARC(Domain-based Message Authentication, Reporting, and Conformance) 레코드는 도메인 수신자가 SPF 및 DKIM 검증에 실패한 이메일을 어떻게 처리할지 정의하는 DNS TXT 레코드입니다. DMARC 레코드가 유효하게 작동하려면 반드시 대소문자를 구분하는 v=DMARC1 값으로 시작해야 합니다. 이 선언은 수신 서버가 해당 TXT 레코드를 DMARC 정책으로 인식하도록 만드는 필수적인 기준이며, 반드시 레코드의 첫 번째 태그로 위치해야 합니다.
DMARC 레코드 검사기는 사용자가 입력한 DMARC TXT 값을 분석하여 각 태그의 문법적 정확성과 정책적 설정을 검증합니다. 입력값은 최대 20,000자 미만이어야 하며, DNS 설정에서 흔히 발생하는 따옴표로 묶인 TXT 조각들도 자동으로 하나로 합쳐져 분석됩니다.
DMARC 정책(p, sp, np)의 적용과 작동 원리
DMARC의 핵심은 이메일 인증 실패 시 적용할 정책을 결정하는 것입니다. 정책은 주 도메인 정책(p), 하위 도메인 정책(sp), 그리고 존재하지 않는 하위 도메인 정책(np)으로 세분화됩니다.
- 기본 정책 적용 및 폴백: 레코드에
p태그가 명시되지 않은 경우, 도메인 정책은 자동으로none으로 대체됩니다. 하위 도메인에 적용되는 정책은 구체적인 태그가 없을 때np에서sp로, 다시p로 순차적으로 폴백되어 적용됩니다. - p=none 정책의 한계:
p=none설정은 수신 서버에 실패한 메일을 격리하거나 거부하도록 요청하지 않고 오직 모니터링 보고서만 요청하는 단계입니다. - 테스트 모드(t=y): 레코드에
t=y태그가 포함되어 있으면 테스트가 진행되는 동안 수신 서버는reject정책을quarantine으로 낮추고,quarantine정책을none으로 낮추어 처리합니다.
SPF 및 DKIM 정렬과 보고서 설정
DMARC는 SPF 및 DKIM 인증 결과가 이메일 헤더의 발신자 주소(From)와 일치하는지 확인하는 식별자 정렬(Identifier Alignment) 과정을 거칩니다. 이와 함께 도메인 관리자는 수신 서버로부터 인증 실패 및 통계 데이터를 받기 위해 보고서 수신 주소를 설정할 수 있습니다.
보고서는 종합 보고서(rua)와 실패 보고서(ruf)로 나뉩니다. 만약 레코드에 유효한 rua 주소가 존재하지 않으면 종합 보고서 송신이 요청되지 않습니다. 또한 실패 보고서의 세부 옵션을 지정하는 fo 태그는 유효한 ruf 실패 보고서 수신 주소가 지정되어 있지 않으면 완전히 무시됩니다.
오래된 규격 및 역사적 태그의 처리
DMARC 표준이 발전함에 따라 이전 규격(RFC 7489)에서 사용되던 일부 설정은 최신 표준(RFC 9989)에서 역사적 태그로 분류되거나 폐기되었습니다.
- 백분율 적용(pct): 메일 처리 비율을 제한하는
pct값은 이제 역사적인 설정으로 취급되며, 오직 오래된 DMARC 규격을 따르는 수신 서버에서만 제한적으로 정책 범위를 제한하는 역할을 합니다. - 보고서 크기 제한(!size): 보고서 수신 URI 뒤에 붙이던
!size접미사는 최신 규격에서 더 이상 사용되지 않는 폐기된 형식이며, 현재의 수신 서버들은 이를 무시해야 합니다. - 기타 역사적 태그: 수신 시스템은 최신 표준에 따라 역사적 태그로 분류된 항목들을 무시할 수 있습니다.
브라우저 내 로컬 처리 및 개인정보 보호
DMARC 레코드 검사기는 사용자의 프라이버시를 철저히 보호하도록 설계되었습니다. 입력한 DMARC 레코드 텍스트는 외부 서버로 업로드되거나 저장되지 않으며, 오직 사용자의 브라우저 내부에서만 처리됩니다. 입력값이 브라우저 저장소에 기록되지 않고 외부로 어떠한 요청도 전송되지 않으므로 안심하고 레코드 구조를 검증할 수 있습니다.
DMARC 레코드 검사 FAQ
Q1. 구문 및 정책 참고 사항: p / sp / np?
A1. p=none · t=y · np → sp → p.
Q2. RFC 9989: pct / rf / ri? A2. 아니요. 이 페이지는 붙여 넣은 텍스트만 검사합니다. DNS를 조회하거나 공급자 레코드를 확장하거나 발신자 IP를 테스트하거나 수신 메일 서버의 응답을 확인하지 않습니다. RFC 9989: pct / rf / ri → historic; np / psd / t → active.
Q3. 문제가 없다는 결과가 DMARC 설정의 정상 작동을 보장하나요? A3. 아니요. 이 페이지는 붙여 넣은 텍스트만 검사합니다. DNS를 조회하거나 공급자 레코드를 확장하거나 발신자 IP를 테스트하거나 수신 메일 서버의 응답을 확인하지 않습니다.