DMARC 설정보고서로 지켜본 뒤 정책을 올립니다
한눈에 보기
DMARC? 는 우리 도메인을 단 메일 중 SPF?·DKIM? 확인에 실패한 것을 어떻게 할지 받는 서버에 알려 주는 레코드입니다. Cloudflare DMARC Management 는 그 결과 보고서를 대신 받아 출처별로 보여 줍니다.
DMARC 는 무엇을 막아 주나요?
우리 도메인을 보낸 사람으로 위장한 메일(도메인 사칭)을 막습니다. 받는 서버가 SPF·DKIM 결과를 보고 DMARC 정책대로 처리합니다.
세 레코드가 하는 일
| 레코드 | 하는 일 |
|---|---|
| SPF | 우리 도메인으로 메일을 보내도 되는 서버를 적어 둡니다 |
| DKIM | 메일에 서명을 붙여 보낸 도메인과 내용을 증명합니다 |
| DMARC | 두 확인에 실패한 메일을 어떻게 할지 정하고, 결과 보고서를 받을 주소를 적습니다 |
DMARC 는 SPF 나 DKIM 중 하나가 통과하고 정렬?까지 맞아야 통과로 봅니다.
DMARC 레코드만 있고 SPF·DKIM 이 없으면 우리 정상 메일도 실패합니다. 세 레코드를 함께 맞춥니다.
DMARC Management 는 무엇을 보여 주나요?
우리 도메인으로 메일을 보내는 출처를 모두 찾아, 출처마다 SPF·DKIM·DMARC 통과 여부를 보여 줍니다. Cloudflare DNS 를 쓰는 존이면 모든 플랜에서 쓸 수 있습니다.
첫 화면에서 보이는 것

도메인 › Email › DMARC Management
- Email record overview: DMARC 정책, SPF 정책, DKIM 사용, BIMI? 사용 여부를 한 줄로 보여 줍니다.
- 출처 추적: 켜면 우리 도메인으로 메일을 보내는 서비스(메일 서버, 마케팅 메일, 고객 지원 도구 등)가 출처별로 쌓입니다.
- 통과율: 출처마다 DMARC 통과와 실패 건수를 봅니다.
켜면 메일이 막히나요?
아닙니다. 켜는 것은 보고서를 받을 주소를 레코드에 더하는 일이고, 메일 처리 방식은 DMARC 레코드의 p= 값이 정합니다.
p= 값이 정하는 것
| p= 값 | 실패한 메일 |
|---|---|
| none | 그대로 배달하고 보고서만 보냅니다 |
| quarantine | 스팸함 같은 격리함으로 보냅니다 |
| reject | 받기를 거절합니다 |
처음에는 none 으로 둡니다. 보고서로 우리 정상 출처가 모두 통과하는지 본 뒤에 올립니다.
함정: 보고서를 보기 전에 reject 부터 거는 경우
SPF·DKIM 을 맞추지 않은 정상 발송(마케팅 메일 서비스, 고객 지원 도구 등)이 그날부터 수신 거절됩니다.
메일을 보내는 곳은 생각보다 많습니다. 사내 메일 서버 말고도 외부 서비스가 우리 도메인으로 보냅니다.
- none 으로 시작합니다.
- DMARC Management 보고서에서 실패하는 정상 출처를 찾습니다.
- 그 출처를 SPF 에 넣거나 DKIM 서명을 켠 뒤 정책을 올립니다.
한눈에 보기
Email › DMARC Management 에서 켜면 DMARC 레코드가 없을 때는 새로 만들기를 권하고, 있으면 기존 레코드에 Cloudflare 보고서 주소(rua?)를 하나 더 붙입니다. p=none 으로 2~4주 보고서를 보고 출처를 정리한 뒤 quarantine, reject 순으로 올립니다.
DMARC Management 는 어떻게 켜나요?
도메인 › Email › DMARC Management 에서 Enable DMARC Management 를 누릅니다. 첫 보고서는 최대 24시간 뒤에 보입니다.
켜는 순서
도메인 › Email › DMARC Management › Enable DMARC Management
- 대시보드에서 계정과 도메인을 고릅니다.
- Email › DMARC Management 로 갑니다.
- Enable DMARC Management 를 누릅니다.
- 존에서 DMARC 레코드를 찾습니다. 없으면 새 레코드를 제안하니 Add 로 넣고, 있으면 Next 로 넘어갑니다.
apex? 도메인(example.com)에서만 됩니다. blog.example.com 같은 하위 도메인이나 하위 도메인 설정(subdomain setup) 존에서는 쓸 수 없습니다.
이미 있는 DMARC 레코드는 어떻게 되나요?
지우지 않습니다. 기존 레코드의 rua 에 Cloudflare 주소가 하나 더 붙어, 원래 보고서 수신처와 Cloudflare 가 함께 받습니다.
레코드가 바뀌는 모양
켜기 전(예시 도메인):
v=DMARC1; p=none; rua=mailto:dmarc@example.com켠 뒤에는 rua 에 Cloudflare 가 정해 주는 주소가 쉼표로 하나 더 붙습니다. 그 주소는 켤 때 화면에 나옵니다.
v=DMARC1; p=none; rua=mailto:dmarc@example.com,mailto:<Cloudflare 가 정해 주는 주소>rua 주소가 DMARC 레코드와 다른 도메인이면, 보고서를 받는 쪽 도메인에 _report._dmarc 권한 레코드가 있어야 받는 서버가 보고서를 보냅니다.
SPF·DKIM 현황은 어디서 한 번에 보나요?
Email record overview 오른쪽 위 View analysis 를 누르면 SPF, DKIM, DMARC, BIMI 레코드를 한 화면에 보여 줍니다. 없는 레코드는 그 자리에서 만들 수 있습니다.
레코드 분석 화면

도메인 › Email › DMARC Management › Email record overview › View analysis
- 레코드마다 Fail 표시가 있으면 그 레코드가 없거나 잘못된 것입니다.
- Add a record, Create record 로 그 자리에서 만듭니다. 만든 레코드는 DNS › Records 에 그대로 들어갑니다.
공식 문서는 이 단추를 View records 라고 적고 있습니다. 2026-10-15 대시보드에서는 View analysis 로 보였습니다.
정책은 언제 quarantine, reject 로 올리나요?
보고서에서 우리 정상 출처가 모두 통과할 때 올립니다. none 으로 2~4주 지켜보고, quarantine 을 거쳐 reject 로 갑니다.
올리는 순서
- p=none 으로 보고서를 2~4주 받습니다.
- 실패하는 출처 가운데 우리 것(메일 서버, 외부 발송 서비스)을 찾아 SPF 에 넣거나 DKIM 을 켭니다.
- 실패가 사칭뿐일 때 p=quarantine 으로 올립니다.
- 한동안 문제가 없으면 p=reject 로 올립니다.
BIMI 로 로고를 띄우려면 DMARC 가 quarantine 이상이어야 합니다.
함정: 외부 도메인을 가리키는 CNAME 이 있는 존
존에 외부 도메인을 가리키는 CNAME 이 있으면 DMARC Management 는 SPF 를 고치지 않습니다. SPF 는 그 외부 도메인의 DNS 에서 직접 고칩니다.
Cloudflare 가 바깥 DNS 레코드를 고칠 수 없어서입니다. 여기서 SPF 를 바꾸면 DMARC 결과가 오히려 틀어질 수 있다고 공식 문서가 경고합니다.
위 레코드 분석 화면의 SPF 칸에 CNAME 만 보이는 경우가 이 상황입니다.
한눈에 보기
집계 보고서는 받는 서버들이 rua 주소로 보내고, DMARC Management 는 최대 30일 그래프와 출처별 상세로 보여 줍니다. SPF 는 include 같은 DNS 조회가 검사 한 번에 10회를 넘으면 permerror? 가 되니 레코드 편집 화면의 경고를 확인합니다.
SPF 조회 10회 한도는 어떻게 확인하나요?
View analysis 화면에서 SPF 레코드의 ⋯ › Edit 을 열면 DNS 조회 수를 세어 보여 주고, 넘으면 경고합니다. 한도는 SPF 규격(RFC 7208)이 정합니다.
무엇이 조회로 세어지나
- 세는 것:
include,a,mx,ptr,exists와redirect. 다른 도메인을 따라가 DNS 를 다시 묻습니다. - 안 세는 것:
ip4,ip6,all. 그 자리에 값이 다 있습니다. - 외부 발송 서비스의 include 는 그 안에서 또 include 를 부르기도 합니다. 겉으로 셋이어도 실제 조회는 10회를 넘을 수 있습니다.
10회를 넘으면 받는 서버가 SPF 를 실패로 봐서, DKIM 이 없는 메일은 DMARC 도 실패합니다.
보고서는 어디서 자세히 보나요?
DMARC Management 그래프에서 기간(최대 30일)을 고르고 View reports 로 날짜별 보고서를 엽니다. View all 에서는 모든 출처와 출처별 상세를 봅니다.
보는 순서
도메인 › Email › DMARC Management
- 그래프 위 드롭다운으로 기간을 고릅니다(최대 30일).
- 그래프에서 날짜를 짚고 View reports 를 누르면 그날 보고서 목록이 나옵니다.
- Top 10 sources 에서 많이 보내는 출처와 정책 통과 여부를 봅니다.
- View all 에서 출처 하나의 ⋯ › Details 로 그 출처를 자세히 봅니다.
지금 공개된 DMARC 레코드는 어떻게 확인하나요?
dig 로 _dmarc 이름의 TXT 레코드를 묻습니다. 대시보드에서 바꾼 값이 실제로 퍼졌는지 볼 때 씁니다.
명령 한 줄
dig TXT _dmarc.example.com +short결과 예시:
"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"rua 에 Cloudflare 주소가 보이면 DMARC Management 가 보고서를 받을 준비가 된 것입니다.
함정: 켰는데 보고서가 비어 있는 경우
켠 직후에는 최대 24시간 걸립니다. 그 뒤에도 비어 있으면 공개된 _dmarc 레코드에 Cloudflare rua 가 실제로 붙어 있는지 dig 로 봅니다.
- 같은 이름의 TXT 레코드가 두 개면 받는 서버가 DMARC 를 무시합니다. _dmarc 레코드는 하나만 둡니다.
- 하위 도메인 설정(subdomain setup) 존에서는 DMARC Management 를 쓸 수 없습니다. apex 존에서 켭니다.
- 보고서는 받는 서버가 보내는 것이라, 메일을 거의 보내지 않는 도메인은 보고서도 적습니다.
이 문서의 용어
- 정렬
- alignment · SPF·DKIM 이 확인한 도메인이 메일의 보낸 사람(From) 도메인과 맞는지 보는 것
- apex
- apex 도메인 · 하위 이름이 붙지 않은 맨 위 도메인(예: example.com)
- BIMI
- Brand Indicators for Message Identification · 받은편지함에 보낸 회사 로고를 띄우는 레코드, DMARC 가 quarantine 이상이어야 쓴다
- DKIM
- DomainKeys Identified Mail · 메일에 서명을 붙여 보낸 도메인과 내용이 바뀌지 않았음을 증명하는 방식
- DMARC
- Domain-based Message Authentication, Reporting and Conformance · SPF·DKIM 에 실패한 메일을 어떻게 할지 받는 서버에 알려 주는 DNS 레코드
- permerror
- SPF 영구 오류 · 레코드가 규칙을 어겨 SPF 검사를 실패로 보는 상태
- rua
- Reporting URI for Aggregate data · DMARC 집계 보고서를 받을 주소(보통 mailto:)
- SPF
- Sender Policy Framework · 우리 도메인으로 메일을 보내도 되는 서버 목록을 적어 두는 DNS 레코드