DMARC, DKIM, SPF란?

SPF, DKIM, DMARC는 이메일이 발신자라고 자칭하는 도메인에서 발송되었는지 확인하여 이메일 발신자를 인증합니다. 이 세 가지 인증 방법은 스팸, 피싱 공격 등의 이메일 보안 위험을 방지하는 데 중요합니다.

학습 목표

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

  • SPF, DKIM, DMARC의 작동 방식 설명
  • 이러한 방법이 이메일 발신자를 인증하는 데 어떻게 도움이 되는지 설명
  • SPF, DKIM, DMARC에 사용되는 DNS 레코드 유형 이해하기

관련 콘텐츠


계속 알아보시겠어요?

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

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

글 링크 복사

DMARC, DKIM, SPF란?

이메일 인증 방법에는 DMARC, DKIM, SPF 등 세 가지가 있습니다.함께 사용하면 스팸 발송자, 피싱 공격자 등 권한이 없는 당사자가 소유하지 않은 도메인*을 대신하여 이메일을 보내는 것을 막을 수 있습니다.

DKIM과 SPF는 사무실 벽에 걸려 있는 사업자 등록증이나 의사의 의학 학위증에 비유할 수 있으며, 합법성을 입증하는 데 도움이 됩니다.

한편, DMARC는 실패한 이메일을 "스팸"으로 표시하거나 이메일을 전달하거나 아예 삭제하는 등 DKIM 또는 SPF가 실패할 때 메일 서버에서 수행해야 할 작업을 알려줍니다.

SPF, DKIM, DMARC를 올바르게 설정하지 않은 도메인에서는 이메일이 스팸으로 격리되거나 수신자에게 전달되지 않을 수 있습니다. 또한 스팸 발송자가 자신을 사칭할 위험도 있습니다.

*도메인은 대략적으로 "example.com"과 같은 웹 사이트 주소입니다. 도메인은 이메일 주소의 후반부를 구성합니다(예: alice@example.com).

보고서
2023 피싱 위협 보고서

보고서
2023년 4분기 DDoS 위협 환경 보고서 읽기

SPF는 어떻게 작동할까요?

발신자 정책 프레임워크(SPF)는 도메인에서 이메일을 보내는 모든 서버가 나열되는 방법입니다. SPF는 직원이 조직에서 근무하는지 확인하는 데 도움이 되며 공개적으로 사용 가능한 직원 명부와 같다고 생각하면 됩니다.

직원 명부에 조직의 모든 직원 이름이 나열되는 것처럼 SPF 레코드에는 도메인에서 이메일을 보낼 수 있도록 허용된 모든 서버의 IP 주소가 나열됩니다.이메일 메시지를 수신하는 메일 서버에서는 수신자의 받은 편지함으로 메시지를 전달하기 전에 SPF 레코드와 대조하여 확인할 수 있습니다.

가입
모든 Cloudflare 요금제의 보안 및 속도

DKIM은 어떻게 작동할까요?

도메인 소유자는 수표에 서명을 하면 수표 발행자를 확인할 수 있는 것처럼 도메인에서 이메일에 자동으로 "서명"할 수 있는 도메인키 식별 메일(DKIM)을 사용할 수 있습니다. DKIM "서명" 은 암호화를 사용하여 이메일이 도메인에서 발송되었음을 수학적으로 확인하는 디지털 서명입니다.

특히 DKIM은 공개 키 암호화를 사용합니다.

  • DKIM 레코드에는 도메인의 공개 키가 저장되며, 도메인으로부터 이메일을 수신하는 메일 서버에서는 이 레코드를 확인하여 공개 를 얻을 수 있습니다
  • 개인 키는 발신자가 비밀로 유지하며, 발신자는 이 키로 이메일 헤더에 서명합니다
  • 이메일을 수신하는 메일 서버에서는 공개 키를 적용하여 발신자의 개인 키가 사용되었는지 확인할 수 있습니다

DMARC는 어떻게 작동할까요?

도메인 기반 메시지 인증 보고 및 적합성(DMARC)은 수신 이메일 서버에 SPF 및 DKIM을 확인한 후 결과에 따라 어떤 작업을 수행해야 하는지 알려줍니다. 도메인의 DMARC 정책은 다양한 방법으로 설정할 수 있으며, 메일 서버에 SPF 또는 DKIM(또는 둘 다)에 실패한 이메일을 격리하거나, 해당 이메일을 거부하거나, 전달하도록 지시할 수 있습니다.

DMARC 정책은 DMARC 레코드에 저장됩니다. DMARC 레코드에는 도메인 관리자에게 어떤 이메일이 이러한 검사를 통과하고 실패하는지에 대한 보고서를 보내는 지침도 포함될 수 있습니다. DMARC 보고서는 관리자가 DMARC 정책을 조정하는 방법을 결정하는 데 필요한 정보를 제공합니다(예: 정상적인 이메일이 스팸으로 잘못 표시되는 경우 어떻게 해야 하는지).

SPF, DKIM, DMARC 기록은 어디에 저장될까요?

SPF, DKIM, DMARC 레코드는 공개적으로 사용할 수 있는 도메인 네임 시스템(DNS)에 저장됩니다. DNS의 주요 용도는 웹 주소를 IP 주소와 매칭하여 사용자가 긴 영숫자 주소를 외울 필요 없이 컴퓨터가 인터넷에서 콘텐츠를 로드할 수 있는 올바른 서버를 찾을 수 있도록 하는 것입니다. 또한 DNS에는 도메인과 관련된 다양한 레코드가 저장될 수 있으며, 여기에는 해당 도메인의 대체 이름(CNAME 레코드), IPv6 주소(AAAA 레코드), 도메인 조회를 위한 역방향 DNS 레코드(PTR 레코드) 등이 포함됩니다.

DKIM, SPF, DMARC 레코드는 모두 DNS TXT 레코드로 저장됩니다. DNS TXT 레코드는 도메인 소유자가 도메인과 연결하고자 하는 텍스트를 저장합니다. 이 레코드에는 임의의 텍스트가 포함될 수 있으므로 다양한 방식으로 사용할 수 있습니다. DKIM, SPF, DMARC는 DNS TXT 레코드를 위한 여러 애플리케이션 중 세 가지입니다.

이메일이 SPF, DKIM, DMARC를 통과했는지 확인하는 방법

대부분의 이메일 클라이언트는 "세부 정보 표시" 또는 "원본 표시" 라는 옵션을 제공하여 헤더를 포함한 이메일의 전체 버전을 표시합니다. 헤더(일반적으로 이메일 본문 위에 있는 긴 텍스트 블록)는 메일 서버가 SPF, DKIM, DMARC의 결과를 추가하는 곳입니다.

빽빽한 헤더를 읽는 것은 까다로울 수 있습니다. 브라우저에서 헤더를 보는 사용자는 "Ctrl+F" 또는 "Command+F"를 클릭하고 "spf"나 " dkim"이나 "dmarc"를 입력하면 다음과 같은 결과를 확인할 수 있습니다.

관련 텍스트는 다음과 같이 표시될 수 있습니다.


arc=pass (i=1 spf=pass spfdomain=example.com dkim=pass
dkdomain=example.com dmarc=pass fromdomain=example.com);

위 텍스트에 "pass"라는 단어가 표시되면 이메일이 인증 검사를 통과했음을 나타냅니다. 예를 들어 "spf=pass"는 이메일이 SPF에 실패하지 않았으며 도메인의 SPF 레코드에 나열된 IP 주소를 가진 인증된 서버에서 전송되었음을 의미합니다.

이 예에서는 이메일이 SPF, DKIM, DMARC 세 가지를 모두 통과했으며 메일 서버에서는 이 이메일이 사칭자가 아닌 실제 example.com에서 보낸 것임을 확인할 수 있었습니다.

이러한 레코드 자체가 도메인의 정책을 적용하거나 이메일을 인증하는 것은 아니라는 점에 유의하세요. 메일 서버에서 이를 확인하고 올바르게 적용해야 레코드가 효과를 발휘합니다.

또한 도메인 소유자는 도메인에서 발송되는 스팸을 방지하고 도메인에서 발송되는 합법적인 이메일이 스팸으로 표시되지 않도록 하기 위해 SPF, DKIM, DMARC 레코드를 직접 적절하게 구성해야 한다는 점도 유의해야 합니다. 웹 호스팅 서비스에서 반드시 자동으로 이 작업이 수행되지는 않습니다. 이메일을 보내지 않는 도메인이라도 최소한 DMARC 레코드가 있어야 스팸 발송자가 해당 도메인에서 이메일을 보낸 것처럼 가장할 수 없습니다.

도메인에 대한 DMARC, DKIM, SPF를 설정하는 방법

도메인의 DNS 설정에서 DMARC, DKIM, SPF를 설정해야 합니다. 관리자가 DNS 공급자에게 문의할 수도 있고, 아니면 웹 호스팅 플랫폼에서 DNS 레코드를 업로드하고 편집할 수 있는 도구를 제공할 수 있습니다. 이러한 기록의 작동 방식에 대한 자세한 내용은 관련된 다음과 같은 문서를 참조하세요.

Cloudflare에서 이러한 레코드를 쉽게 설정하는 방법

Cloudflare에 이러한 레코드를 설정하려면 이메일 보안 DNS 마법사를 사용하세요.