DNS DMARC 레코드란?

DMARC는 이메일 보안의 중요한 부분입니다. DMARC 정책은 DNS TXT 레코드 내에 저장됩니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • DMARC를 사용하는 이유 설명
  • DMARC 정책 설명
  • DMARC에 DNS TXT 레코드가 사용되는 방법 이해하기

관련 콘텐츠


계속 알아보시겠어요?

인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!

Cloudflare가 개인 데이터를 수집하고 처리하는 방법은 Cloudflare의 개인정보 취급방침을 참조하세요.

글 링크 복사

모든 Cloudflare 요금제에 포함된 무료 DNS

DMARC 란?

도메인 기반 메시지 인증, 보고 및 적합성(DMARC)은 이메일 메시지를 인증하는 방법입니다. DMARC 정책은 추가 이메일 인증 방법인 도메인의 발신자 정책 프레임워크(SPF)도메인키 식별 메일(DKIM) 레코드를 확인한 후 수행할 작업을 수신 이메일 서버에 알려줍니다.

DMARC 및 기타 이메일 인증 방법은 이메일 스푸핑을 방지하는 데 필요합니다. 모든 이메일 주소에는 "@" 기호 뒤에 오는 주소 부분인 도메인이 있습니다. 악의적인 당사자와 스팸 발송자는 편지에 잘못된 반송 주소를 쓰는 사람과 같이 사용 권한이 없는 도메인에서 이메일을 보내려고 하는 경우가 있습니다. 그들은 다른 이유 중에서도 (피싱 공격에서와 같이) 사용자를 속이기 위해 이 작업을 수행할 수 있습니다.

DMARC, DKIM, SPF는 함께 이메일 발송자에 대한 백그라운드 확인과 같은 기능을 하여 발송자가 실제로 주장하는 사람인지 확인합니다.

예를 들어 스팸 발송자가 "example.com" 도메인에서 이메일을 보낼 권한이 없음에도 불구하고 "trustworthy@example.com" 주소에서 이메일을 보낸다고 상상해 보세요. 스팸 발송자는 이메일의 "보낸 사람" 헤더를 "trustworthy@example.com"로 바꾸어 이 작업을 수행하며 실제 example.com 이메일 서버에서 이메일을 보내지는 않습니다. 이 이메일을 수신하는 이메일 서버에서는 DMARC, SPF, DKIM을 사용하여 승인되지 않은 이메일임을 발견하고 이메일 메시지를 스팸으로 표시하거나 전달을 거부할 수 있습니다.

DMARC 정책이란?

DMARC 정책은 이메일이 SPF 및 DKIM 레코드에 대해 확인된 후 이메일에 어떤 일이 발생하는지 결정합니다. 이메일은 SPF 및 DKIM을 통과하거나 실패합니다. DMARC 정책은 실패할 경우 이메일이 스팸으로 표시되거나, 차단되거나, 의도한 수신자에게 전달될지 여부를 결정합니다. (DMARC 레코드가 없는 경우 이메일 서버는 이메일을 스팸으로 표시할 수 있지만, DMARC는 언제 스팸으로 표시해야 하는지에 대한 명확한 지침을 제공합니다.)

example.com의 도메인 정책은 다음과 같을 수 있습니다.

"이메일이 DKIM 및 SPF 테스트에 실패하면 스팸으로 표시해 주세요."

이 정책은 사람이 읽을 수 있는 문장으로 기록되지 않고 이메일 서비스에서 자동으로 해석할 수 있도록 기계가 읽을 수 있는 명령으로 기록됩니다. 이 DMARC 정책은 실제로는 다음과 같은 모습입니다.

v=DMARC1; p=quarantine; adkim=s; aspf=s;

이것은 무엇을 의미할까요?

  • v=DMARC1은 이 TXT 레코드에 DMARC 정책이 포함되어 있으며 이메일 서버에서 그렇게 해석해야 함을 나타냅니다.
  • p=quarantine은 이메일 서버가 DKIM 및 SPF에 실패한 이메일을 스팸 가능성이 있는 것으로 간주하여 "격리"해야 함을 나타냅니다.이에 대하여 가능한 다른 설정으로는 p=none이 있으며, 이는 실패한 이메일이 계속 통과하도록 허용하고, 또한 p=reject는 이메일 서버에 실패한 이메일을 차단하도록 지시합니다.
  • adkim=s는 DKIM 검사가 "엄격"하다는 것을 의미합니다.이것은 또한 sradkim=r과 같이 변경하여 "완화됨"으로 설정할 수 있습니다.
  • aspf=sadkim=s와 동일하지만, SPF의 경우는 예외입니다.
  • aspfadkim은 선택적 설정입니다.이 p= 속성은 SPF 및 DKIM에 실패한 이메일에 대해 이메일 서버에서 어떤 작업을 수행해야 하는지를 나타냅니다.

example.com 관리자가 이 정책을 더욱 엄격하게 만들고 이메일 서버에 더 강력하게 신호를 보내 승인되지 않은 메시지를 스팸으로 간주하기를 원하는 경우, 다음과 같이 "p=" 특성을 조정합니다.

v=DMARC1; p=reject; adkim=s; aspf=s;

기본적으로 이는 "이메일이 DKIM 및 SPF 테스트에 실패하면 전달하지 마십시오."라는 의사 표시입니다.

DMARC 보고서란?

DMARC 정책에는 DKIM 또는 SPF를 통과하거나 실패한 이메일에 대한 보고서를 보내는 지침이 포함될 수 있습니다. 일반적으로 관리자는 보고서를 보다 이해하기 쉬운 형식으로 요약하여 타사 서비스로 보내도록 설정하므로 관리자가 정보에 압도되지 않습니다. DMARC 보고서는 관리자에게 DMARC 정책을 조정하는 방법(예: 합법적인 이메일이 SPF 및 DKIM에 실패하거나 스팸 발송자가 불법 이메일을 보내려고 하는 경우)을 결정하는 데 필요한 정보를 제공하므로 아주 중요합니다.

example.com 관리자는 이 정책의 rua 부분을 추가하여 DMARC 보고서를 타사 서비스(이메일 주소 'example@third-party-example.com')로 전송합니다.

v=DMARC1; p=reject; adkim=s; aspf=s; rua=mailto:example@third-party-example.com;

DMARC 레코드란?

DMARC 레코드는 도메인의 DMARC 정책을 저장합니다. DMARC 레코드는 도메인 네임 시스템(DNS)DNS TXT 레코드로 저장됩니다. DNS TXT 레코드에는 도메인 관리자가 자체 도메인과 연결하려는 거의 모든 텍스트가 포함될 수 있습니다. DNS TXT 레코드를 사용하는 방법 중 하나는 DMARC 정책을 저장하는 것입니다.

(DMARC 레코드는 특수한 유형의 DNS 레코드가 아닌, DMARC 정책을 포함하는 DNS TXT 레코드입니다.)

example.com의 DMARC 정책은 다음과 같은 모습입니다.

이름 유형 목차 TTL
_dmarc.example.com TXT v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:example@third-party-example.com; 32600

이 TXT 레코드 내에서 DMARC 정책은 '콘텐츠' 필드에 포함됩니다.

이메일을 보내지 않는 도메인은 어떨까요?

이메일을 보내지 않는 도메인에는 스팸 발송자가 도메인을 사용하지 못하도록 DMARC 레코드가 있어야 합니다. DMARC 레코드에는 SPF 및 DKIM에 실패한 모든 이메일(해당 도메인에서 보낸 모든 이메일이어야 함)을 거부하는 DMARC 정책이 있어야 합니다.

즉, example.com에서 이메일을 보내도록 구성되지 않은 경우 모든 이메일이 SPF 및 DKIM에 실패하고 거부됩니다.

Cloudflare Email Security DNS Wizard를 사용하면 올바른 DNS TXT 레코드를 간단하게 설정하고 스팸 발송자가 도메인을 사용하지 못하도록 차단할 수 있습니다.그 내용을 여기에서 읽어보세요.

이메일용 DNS 레코드에 대해 자세히 알아보기.

DMARC는 RFC 7489에 자세히 설명되어 있습니다.