DMARC 레코드의 이해

게시 됨: 2021-08-18

DMARC (도메인 기반 메시지 인증,보고 및 적합성) 표준은 가장 좋은 도구 브랜드가 소유 한 도메인을 위장하여 대상 고객이 피싱 공격에 대처하기 위해 가지고있다. 그러나 DMARC를 구현하면 매우 빠르게 혼란스러워질 수 있습니다.

이 게시물에서는 DMARC 레코드를 구성하는 DMARC 태그를 정의하여 DMARC 레코드를 이해하기 쉽게 설명합니다. 필수 태그와 선택 태그를 모두 다루고 덜 알려진 DMARC 태그가 조직에 더 높은 수준의 이메일 보안을 제공할 수 있는 몇 가지 전략 및 사용 사례에 대해 논의합니다.

DMARC 태그란 무엇입니까?
DMARC 태그는 DMARC 표준의 언어입니다. 그들은 이메일 수신자에게 (1) DMARC를 확인하고 (2) DMARC 인증에 실패한 메시지를 처리하도록 지시합니다.

필수 DMARC 태그
필수 DMARC 태그는 "v:" 및 "p:" 2개뿐입니다 .

v: 버전 . 이 태그는 TXT 레코드를 DMARC 레코드로 식별하는 데 사용되므로 이메일 수신자가 다른 TXT 레코드와 구별할 수 있습니다. v: 태그는 "DMARC1" 값을 가져야 하며 전체 DMARC 레코드 내에서 첫 번째 태그로 나열되어야 합니다. 값이 "DMARC1"과 정확히 일치하지 않거나 v: 태그가 먼저 나열되지 않으면 수신자가 전체 DMARC 레코드를 무시합니다.

예: v=DMARC1

p: 요청된 메일 수신기 정책. 이 태그는 도메인 소유자가 지정한 대로 DMARC 인증 및 정렬 검사에 실패한 메시지에 대해 수신자가 제정할 정책을 나타냅니다. 이 정책은 별도의 하위 도메인 정책이 명시적으로 설명되지 않는 한 쿼리된 도메인과 모든 하위 도메인에 적용됩니다(이는 나중에 게시물에서 다룹니다). p: 태그에는 세 가지 가능한 값이 있습니다.

  1. p=none: 도메인 소유자가 DMARC 인증 및 정렬에 실패한 메일에 대해 특정 조치를 취하지 않도록 요청합니다.
  2. p=quarantine: 도메인 소유자는 DMARC 인증 및 정렬 검사에 실패한 메일을 메일 수신자가 의심스러운 메일로 처리하기를 원합니다. 이것은 수신자가 이메일을 스팸/정크 폴더에 넣거나 의심스러운 것으로 표시하거나 이 메일을 더욱 집중적으로 조사한다는 것을 의미할 수 있습니다.
  3. p=reject: 도메인 소유자는 메일 수신자가 DMARC 인증 및 정렬 검사에 실패한 이메일을 거부하도록 요청합니다. SMTP 트랜잭션 중에 거부가 발생해야 합니다. 이것은 가장 엄격한 정책이며 최고 수준의 보호를 제공합니다.

위의 정보가 주어지면 가장 기본적인 DMARC 레코드 예는 다음과 같습니다. v=DMARC1; p=없음.

선택적 DMARC 태그
아래의 선택적 DMARC 태그를 사용하면 이메일 발신자가 인증되지 않은 메일에 대해 보다 구체적인 지침을 제공할 수 있으므로 수신자가 추측할 필요가 없습니다.

  • rua: 집계 DMARC 보고서를 보낼 위치를 나타냅니다. 발신자는 다음 형식으로 대상 주소를 지정합니다. rua=mailto:[email protected]
  • ruf: 포렌식 DMARC 보고서가 전송되어야 하는 위치를 나타냅니다. 발신자는 다음 형식으로 대상 주소를 지정합니다. ruf=mailto:[email protected]

다음 선택적 태그에는 태그가 제외되는 경우 가정되는 기본값이 있습니다. 가정된 기본값이 있는 태그 목록은 다음과 같습니다.

  • adkim: 엄격하거나 완화된 DKIM 식별자 정렬을 나타냅니다. 기본값은 느슨합니다.
  • aspf: 엄격하거나 완화된 SPF 식별자 정렬을 나타냅니다. 기본값은 느슨합니다.
  • rf: 메시지 실패 보고서 형식. 기본값은 인증 실패 보고 형식 또는 "AFRF"입니다.
  • ri: 보낸 사람에게 집계 보고서를 보내는 사이에 경과된 시간(초)입니다. 기본값은 86,400초 또는 하루입니다.
  • pct: DMARC 정책이 적용될 메시지의 비율입니다. 이 매개변수는 정책의 영향을 점진적으로 구현하고 테스트하는 방법을 제공합니다.
  • fo : 도메인 소유자에게 다시 보고되는 인증 및/또는 정렬 취약성의 유형을 지정합니다.
  • 후자의 fo: 태그에는 4가지 값이 있습니다.
  • 0: 모든 기본 인증 메커니즘이 정렬된 "통과" 결과를 생성하지 못하는 경우 DMARC 실패 보고서를 생성합니다. (기본)
  • 1: 기본 인증 메커니즘이 정렬된 "통과" 결과가 아닌 다른 결과를 생성한 경우 DMARC 실패 보고서를 생성합니다.
  • d: 정렬에 관계없이 메시지에 평가에 실패한 서명이 있는 경우 DKIM 실패 보고서를 생성합니다.
  • s: 정렬에 관계없이 메시지가 SPF 평가에 실패한 경우 SPF 실패 보고서를 생성합니다.

기본값은 "fo=0"이지만 Return Path는 클라이언트에게 fo:1을 사용하여 가장 포괄적인 오류 보고서를 생성 하도록 조언 하여 이메일 채널에 대한 훨씬 더 세분화된 가시성을 제공합니다.

다음은 DMARC 레코드의 예입니다. 지금까지 배운 내용을 바탕으로 각 태그를 해독해 보십시오.

v=DMARC1; p=거부; fo=1; rua=mailto:[이메일 보호됨]; ruf=mailto:[이메일 보호]; rf = arf; pct=100

하위 도메인은 어떻습니까?
오늘 논의할 마지막 DMARC 태그는 메일이 DMARC 인증 및 정렬 검사에 실패한 모든 하위 도메인에 대해 요청된 정책을 나타내는 데 사용되는 sp: 태그입니다. 이 태그는 최상위 도메인(조직 수준 도메인)에만 적용됩니다. 도메인 소유자가 최상위 도메인과 모든 하위 도메인에 대해 다른 정책을 지정하려는 경우 가장 효과적입니다.

다음 시나리오에서는 사용 사례를 설명하기 위해 "domain.com"의 최상위 도메인과 "mail.domain.com"의 하위 도메인을 사용합니다.

  1. 도메인 소유자는 "domain.com"에 대한 거부 정책을 시행하고 "mail.domain.com"(및 기타 모든 하위 도메인)에 대한 격리 정책을 시행하려고 합니다. "domain.com"에 대한 DMARC 레코드에는 "v=DMARC1; p=거부; sp=격리." 조직이 최상위 도메인과 모든 하위 도메인에 대해 별도의 DMARC 정책을 유지해야 하는 경우 효과적인 전략입니다.
  2. 도메인 소유자는 "mail.domain.com"(및 기타 모든 하위 도메인)에 대한 거부 정책을 시행하려고 하지만 "domain.com"에 대한 거부 정책은 시행하지 않습니다. "domain.com"에 대한 DMARC 레코드에는 "v=DMARC1; p=없음; sp=거부.” 이것은 최상위 도메인이 정책을 시행할 준비가 되지 않았지만 사기꾼이 mail.domain.com, abc.domain.com, 123.domain과 같은 하위 도메인을 스푸핑하는 경우 사전 공격을 방지하는 효과적인 전략입니다. com, xyz.domain.com 등. sp: 태그를 거부로 설정하면 최상위 도메인인 "domain.com"에서 보낸 메일에 영향을 주지 않고 하위 도메인을 대상으로 하는 이러한 사전 공격으로부터 조직을 보호할 수 있습니다.

이제 DMARC 레코드의 DNA를 이해했으므로 이메일 위협 인텔리전스 보고서 에서 DMARC 레코드가 차단하는 공격 유형과 그렇지 않은 공격 유형에 대해 자세히 알아보세요 .