DMARC 확인: DMARC 레코드를 쉬운 말로 읽어 보세요
DMARC 레코드는 내 도메인을 사칭하는 메일을 어떻게 처리할지 정하는 한 줄짜리 텍스트입니다. 도메인을 입력하면 레코드를 가져와 각 태그를 설명하고, 이 정책이 도메인을 실제로 보호하는지 아니면 지켜보기만 하는지 알려 줍니다.
SPF와 DKIM에 DMARC가 더하는 것
DMARC 정책은 _dmarc.yourdomain.com의 TXT 레코드에 있습니다. 내 도메인에서 왔다고 주장하는 메시지가 도착하면 수신 서버는 SPF와 DKIM을 검사합니다. 둘 중 하나 이상이 통과하고 그 도메인이 읽는 사람이 보는 From 주소와 일치하면 DMARC를 통과합니다. 둘 다 통과하지 못하면 수신 서버가 내 정책을 적용합니다.
마지막 부분인 정렬 때문에 DMARC는 SPF와 DKIM을 단순히 이어 붙인 것 이상입니다. 공격자가 자신의 도메인으로 SPF를 통과하면서 From 줄에는 내 도메인을 표시하는 것을 막아 줍니다.
세 가지 정책과 단계를 올리는 시점
| 정책 | 실패한 메일에 대한 수신 서버의 처리 | 사용 시점 |
|---|---|---|
| p=none | 평소처럼 전달하고 보고서를 보냅니다 | 시작점: 지켜보며 파악하는 단계 |
| p=quarantine | 의심스러운 메일로 처리하며 보통 스팸함으로 보냅니다 | 보고서에서 정상 메일이 통과하는 것이 확인된 후 |
| p=reject | 메시지를 거부합니다 | 메일을 안정적으로 보내는 도메인의 목표 |
모든 DMARC 태그를 쉬운 말로
| 태그 | 의미 |
|---|---|
| v=DMARC1 | 버전입니다. 반드시 맨 앞에 와야 합니다 |
| p | 도메인에 대한 정책: none, quarantine 또는 reject |
| sp | 하위 도메인에 대한 정책입니다. 없으면 하위 도메인은 p를 따릅니다 |
| pct | 실패한 메일 중 정책을 적용할 비율 |
| rua | 일일 집계 보고서를 보낼 곳이며 mailto: 주소로 지정합니다 |
| ruf | 개별 실패 보고서를 보낼 곳입니다. 보내 주는 수신 서버는 많지 않습니다 |
| adkim 및 aspf | DKIM과 SPF의 정렬 모드: r(완화, 기본값) 또는 s(엄격) |
| fo | 어떤 실패가 실패 보고서를 발생시킬지 |
정상 메일을 잃지 않고 DMARC 도입하기
- v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com을 게시하세요. 메일 전달에는 변화가 없고 보고서가 도착하기 시작합니다.
- 몇 주 동안 보고서를 읽어 보세요. 내 도메인 이름으로 메일을 보내는 모든 발신처와 통과 여부가 나옵니다. DMARC 보고 서비스를 사용하면 XML을 읽기 쉬운 형태로 바꿀 수 있습니다.
- 실패하는 정상 발신자는 모두 SPF에 추가하거나 DKIM 서명을 켜서 고치세요.
- p=quarantine으로 옮기세요. 문제가 없는지 보면서 pct=25로 시작해 점차 높여도 됩니다.
- 보고서에서 승인되지 않은 메일만 실패한다는 것이 확인되면 p=reject로 옮기세요.