Amazon SES의 DMARC 인증 프로토콜 준수 - Amazon Simple Email Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SES의 DMARC 인증 프로토콜 준수

도메인 기반 메시지 인증, 보고 및 준수 (DMARC) 는 SPF (발신자 정책 프레임워크) 와 DKIM ( DomainKeys 식별된 메일) 을 사용하여 이메일 스푸핑 및 피싱을 탐지하는 이메일 인증 프로토콜입니다. DMARC를 준수하려면 SPF 또는 DKIM을 통해 메시지를 인증해야 하지만 DMARC와 함께 둘 다 사용하는 경우 이메일 전송에 대해 가능한 최고 수준의 보호를 보장하는 것이 가장 좋습니다.

각 기능이 어떤 역할을 하는지, DMARC가 이 모든 기능을 어떻게 연결하는지 간단히 살펴보겠습니다.

  • SPF — DNS에서 사용하는 DNS TXT 레코드를 통해 사용자 지정 MAIL FROM 도메인을 대신하여 메일을 보낼 수 있는 메일 서버를 식별합니다. 수신자 메일 시스템은 SPF TXT 레코드를 참조하여 사용자 지정 도메인의 메시지가 인증된 메시징 서버에서 오는지 여부를 확인합니다. 기본적으로 SPF는 스푸핑을 방지하도록 설계되었지만 SPF에는 실제로 취약한 스푸핑 기술이 있기 때문에 DMARC와 함께 DKIM도 사용해야 합니다.

  • DKIM — 이메일 헤더의 아웃바운드 메시지에 디지털 서명을 추가합니다. 수신 이메일 시스템은 이 디지털 서명을 사용하여 수신 이메일이 도메인이 소유한 키로 서명되었는지 여부를 확인할 수 있습니다. 하지만 수신 전자 메일 시스템에서 메시지를 전달하면 SPF 인증을 무효화하는 방식으로 메시지의 봉투가 변경됩니다. 디지털 서명은 이메일 헤더의 일부이기 때문에 이메일 메시지와 함께 유지되므로 DKIM은 메시지가 메일 서버 간에 전달된 경우에도 작동합니다 (메시지 내용이 수정되지 않은 한).

  • DMARC — 도메인이 SPF 및 DKIM 중 하나 이상과 일치하는지 확인합니다. SPF와 DKIM만 사용해도 From 주소 (수신자가 이메일 클라이언트에서 볼 수 있는 이메일 주소) 의 인증을 보장할 수 없습니다. SPF는 MAIL FROM 주소에 지정된 도메인만 확인합니다 (수신자는 볼 수 없음). DKIM은 DKIM 서명에 지정된 도메인만 확인합니다 (또한 수신자가 볼 수 없음). DMARC는 SPF 또는 DKIM에서 도메인 정렬이 올바르게 이루어지도록 요구하여 이 두 가지 문제를 해결합니다.

    • SPF가 DMARC 정렬을 통과하려면 보낸 사람 주소의 도메인이 MAIL FROM 주소의 도메인 (반환 경로 및 봉투 보낸 사람 주소라고도 함) 과 일치해야 합니다. 전달된 메일이 제거되거나 타사 대량 이메일 공급자를 통해 메일을 보내는 경우에는 이러한 현상이 거의 발생하지 않습니다. 공급업체 (SES) 가 소유한 주소를 사용하여 추적하는 반송 메일 및 수신 거부에 Return Path (MAIL FROM) 가 사용되기 때문입니다.

    • DKIM이 DMARC 정렬을 통과하려면 DKIM 서명에 지정된 도메인이 From 주소의 도메인과 일치해야 합니다. 사용자 대신 메일을 보내는 타사 발신자 또는 서비스를 사용하는 경우 타사 발신자가 DKIM 서명을 위해 적절하게 구성되어 있고 도메인 내에 적절한 DNS 레코드를 추가했는지 확인하여 이를 수행할 수 있습니다. 그러면 수신 메일 서버는 제3자가 보낸 이메일을 도메인 내 주소를 사용하도록 승인된 사람이 보낸 이메일인 것처럼 확인할 수 있습니다.

DMARC와 함께 이 모든 것을 통합하세요.

위에서 설명한 DMARC 정렬 검사는 SPF, DKIM, DMARC가 모두 함께 작동하여 도메인의 신뢰도를 높이고 이메일을 받은 편지함으로 전달하는 방법을 보여줍니다. DMARC는 수신자가 보는 보낸 사람 주소가 SPF 또는 DKIM의 인증을 받았는지 확인하여 이를 수행합니다.

  • 설명된 SPF 또는 DKIM 검사 중 하나 또는 둘 다를 통과하면 메시지가 DMARC를 통과합니다.

  • 설명된 SPF 또는 DKIM 검사가 모두 실패하면 메시지가 DMARC에 실패합니다.

따라서 DMARC가 보낸 전자 메일에 대한 인증을 받을 수 있는 최상의 기회를 가지려면 SPF와 DKIM이 모두 필요하며, 이 세 가지를 모두 활용하면 전송 도메인을 완전히 보호하는 데 도움이 됩니다.

또한 DMARC에서는 사용자가 설정한 정책을 통해 DMARC 인증에 실패할 경우 이메일을 처리하는 방법을 이메일 서버에 지시할 수 있습니다. 이 내용은 보내는 이메일이 SPF와 DKIM을 통해 DMARC 인증 프로토콜을 준수하도록 SES 도메인을 구성하는 방법에 대한 정보가 포함된 다음 섹션에서 설명합니다. 도메인의 DMARC 정책 설정

도메인의 DMARC 정책 설정

DMARC를 설정하려면 도메인의 DNS 설정을 수정해야 합니다. 도메인의 DNS 설정에는 도메인의 DMARC 설정을 지정하는 TXT 레코드가 포함되어 있어야 합니다. DNS 구성에 TXT 레코드를 추가하는 절차는 사용하는 DNS 또는 호스팅 공급자에 따라 다릅니다. Route 53을 사용하는 경우 Amazon Route 53 개발자 가이드레코드 작업을 참조하세요. 다른 공급자를 사용하는 경우 해당 공급자에 대한 DNS 구성 설명서를 참조하세요.

생성하는 TXT 레코드의 이름은 _dmarc.example.com이어야 합니다. 여기서 example.com은(는) 사용자 도메인입니다. TXT 레코드의 값에는 사용자 도메인에 적용되는 DMARC 정책이 포함됩니다. 다음은 DMARC 정책이 포함된 TXT 레코드의 예제입니다.

명칭 유형
_dmarc.example.com TXT "v=DMARC1;p=quarantine;rua=mailto:my_dmarc_report@example.com"

위의 DMARC 정책 예제에서 이 정책은 이메일 공급자에게 다음을 수행하도록 지시합니다.

  • 인증에 실패한 메시지의 경우 정책 매개 변수에 지정된 스팸 폴더로 메시지를 보내십시오. p=quarantine 다른 옵션으로는 를 사용하여 p=none 아무것도 하지 않거나 를 사용하여 메시지를 완전히 거부하는 방법이 있습니다. p=reject

    • 다음 섹션에서는 이 세 가지 정책 설정을 사용하는 방법과 시기에 대해 설명합니다. 잘못된 시간에 잘못된 설정을 사용하면 전자 메일이 전송되지 않을 수 있습니다. 를 참조하십시오. DMARC 구현을 위한 모범 사례

  • 인증에 실패한 모든 이메일에 대한 보고서를 보고 매개 변수 (rua는 집계 보고서를 위한 Reporting URI의 약자) 로 지정된 대로 다이제스트 rua=mailto:my_dmarc_report@example.com (즉, 각 이벤트에 대해 개별 보고서를 보내는 대신 특정 기간 동안 데이터를 집계하는 보고서) 를 통해 전송합니다. 이메일 공급자는 일반적으로 하루에 한 번씩 이러한 집계 보고서를 전송하지만 이러한 정책은 공급자마다 다릅니다.

도메인에 대한 DMARC를 구성하는 방법에 대해 자세히 알아보려면 DMARC 웹 사이트의 개요를 참조하세요.

DMARC 시스템의 전체 사양은 IETF (인터넷 엔지니어링 태스크 포스) DMARC 초안을 참조하십시오.

DMARC 구현을 위한 모범 사례

나머지 메일 흐름을 방해하지 않도록 점진적이고 단계적인 접근 방식으로 DMARC 정책 적용을 구현하는 것이 가장 좋습니다. 다음 단계를 따르는 롤아웃 계획을 세우고 구현하십시오. 다음 단계로 넘어가기 전에 먼저 각 하위 도메인에서 이러한 각 단계를 수행하고 마지막으로 조직의 최상위 도메인에서 각 단계를 수행하십시오.

  1. DMARC 구현이 미치는 영향을 모니터링하세요 (p=none).

    • 메일 수신 기관이 해당 도메인을 사용하여 보게 되는 메시지에 대한 통계를 보내도록 요청하는 하위 도메인이나 도메인에 대한 간단한 모니터링 모드 기록부터 시작하세요. 모니터링 모드 레코드는 정책이 없음으로 설정된 DMARC TXT 레코드입니다. p=none

    • DMARC를 통해 생성된 보고서에는 이러한 검사를 통과한 메시지의 수와 출처가 나와 있고 그렇지 않은 메시지의 수와 출처가 표시됩니다. 합법적인 트래픽 중 커버되지 않는 트래픽의 양을 쉽게 확인할 수 있습니다. 콘텐츠가 수정되면 전달된 메시지가 SPF 및 DKIM에 실패하므로 전달 흔적이 보일 수 있습니다. 또한 사기성 메시지가 얼마나 많이 전송되고 어디에서 전송되는지도 확인할 수 있습니다.

    • 이 단계의 목표는 다음 두 단계 중 하나를 구현했을 때 어떤 이메일이 영향을 받을지 파악하고 타사 또는 승인된 발신자가 SPF 또는 DKIM 정책을 조정하도록 하는 것입니다.

    • 기존 도메인에 가장 적합합니다.

  2. DMARC에 실패한 메일을 외부 메일 시스템에서 검역소 (p=quarantine) 하도록 요청합니다.

    • 합법적인 트래픽의 전부 또는 대부분이 SPF 또는 DKIM과 연계된 도메인을 전송하고 있다고 판단되고 DMARC 구현의 영향을 이해하면 격리 정책을 구현할 수 있습니다. 격리 정책은 정책이 격리로 설정된 DMARC TXT 레코드입니다. p=quarantine 이렇게 하면 DMARC 수신자에게 DMARC에 실패한 도메인의 메시지를 고객의 받은 편지함 대신 스팸 폴더와 같은 로컬 폴더로 보내도록 요청하게 됩니다.

    • 1단계에서 DMARC 보고서를 분석한 도메인을 전환하는 데 가장 적합합니다.

  3. DMARC에 실패한 메시지를 외부 메일 시스템에서 수락하지 않도록 요청합니다 (p=reject).

    • 일반적으로 거부 정책을 구현하는 것이 최종 단계입니다. 거부 정책은 정책이 거부로 설정된 DMARC TXT 레코드입니다. p=reject 이렇게 하면 DMARC 수신자에게 DMARC 검사에 실패한 메시지를 수락하지 말라고 요청하게 됩니다. 즉, 스팸 또는 정크 폴더로 격리되지 않고 완전히 거부됩니다.

    • 거부 정책을 사용하면 어떤 메시지가 DMARC 정책에 실패하는지 정확히 알 수 있습니다. 거부하면 SMTP 반송이 발생하기 때문입니다. 검역소의 경우 집계 데이터는 이메일의 SPF, DKIM 및 DMARC 검사 통과 또는 실패 비율에 대한 정보를 제공합니다.

    • 새 도메인이나 이전 두 단계를 거친 기존 도메인에 가장 적합합니다.

SPF를 통해 DMARC 준수

이메일이 SPF를 기반으로 DMARC를 준수하도록 하려면 다음 두 조건을 충족해야 합니다.

  • 메시지는 사용자 지정 MAIL FROM 도메인의 DNS 구성에 게시해야 하는 유효한 SPF (유형 TXT) 레코드가 있는지 여부에 따라 SPF 검사를 통과해야 합니다.

  • 이메일 헤더의 From 주소에 있는 도메인은 MAIL FROM 주소에 지정된 도메인 또는 하위 도메인과 일치 (일치) 해야 합니다. SPF를 SES와 일치시키려면 도메인의 DMARC 정책에 엄격한 SPF 정책 (aspf=s) 이 지정되지 않아야 합니다.

이러한 요구 사항을 준수하려면 다음 단계를 완료합니다.

  • 사용자 지정 MAIL FROM 도메인 사용의 절차를 완료하여 사용자 지정 MAIL FROM 도메인을 설정합니다.

  • 보내는 도메인이 SPF에 대해 relaxed 정책을 사용하는지 확인합니다. 도메인의 정책 정렬을 변경하지 않은 경우 SES와 마찬가지로 기본적으로 완화된 정책을 사용합니다.

    참고

    example.com을 해당 도메인으로 바꾸고 명령줄에 다음 명령을 입력하여 SPF에 대한 도메인의 DMARC 일치를 확인할 수 있습니다.

    dig -type=TXT _dmarc.example.com

    이 명령의 출력에 있는 Non-authoritative answer 아래에서 v=DMARC1로 시작하는 레코드를 찾습니다. 이 레코드에 문자열 aspf=r이 포함되었거나 aspf 문자열이 없는 경우, 도메인이 SPF에 대해 relaxed alignment를 사용하는 것입니다. 레코드에 문자열 aspf=s가 포함된 경우, 도메인이 SPF에 대해 strict alignment를 사용하는 것입니다. 시스템 관리자는 도메인의 DNS 구성에 있는 DMARC TXT 레코드에서 이 태그를 제거해야 합니다.

    또는 dmarcian 웹 사이트의 DMARC Inspector 또는 웹 사이트의 DMARC 검사 도구 도구와 같은 웹 기반 DMARC 조회 도구를 사용하여 SPF에 대한 도메인의 정책 조정을 확인할 수 있습니다. MxToolBox

DKIM을 통해 DMARC 준수

이메일이 DKIM을 기반으로 DMARC를 준수하도록 하려면 다음 두 조건을 충족해야 합니다.

  • 메시지에는 유효한 DKIM 서명이 있어야 하며 DKIM 검사를 통과해야 합니다.

  • DKIM 서명에 지정된 도메인은 From 주소의 도메인과 정렬 (일치) 해야 합니다. 도메인의 DMARC 정책이 DKIM에 대한 엄격한 정렬을 지정하는 경우 이러한 도메인은 정확히 일치해야 합니다 (SES는 기본적으로 엄격한 DKIM 정책을 사용함).

이러한 요구 사항을 준수하려면 다음 단계를 완료합니다.

  • Amazon SES에서 Easy DKIM의 절차를 완료하여 Easy DKIM을 설정합니다. Easy DKIM을 사용하면 Amazon SES가 이메일에 자동으로 서명합니다.

    참고

    Easy DKIM을 사용하는 대신에 메시지에 수동으로 서명할 수도 있습니다. 그러나 이 경우 사용자가 작성한 DKIM 서명을 Amazon SES가 확인하지 않으므로 주의해야 합니다. 이러한 이유로 Easy DKIM을 사용하는 것이 좋습니다.

  • DKIM 서명에 지정된 도메인이 From 주소의 도메인과 일치하는지 확인하십시오. 또는 보낸 사람 주소에 있는 도메인의 하위 도메인에서 보내는 경우 DMARC 정책이 완화된 정렬로 설정되어 있는지 확인하십시오.

    참고

    example.com을 해당 도메인으로 바꾸고 명령줄에 다음 명령을 입력하여 DKIM에 대한 도메인의 DMARC 일치를 확인할 수 있습니다.

    dig -type=TXT _dmarc.example.com

    이 명령의 출력에 있는 Non-authoritative answer 아래에서 v=DMARC1로 시작하는 레코드를 찾습니다. 이 레코드에 문자열 adkim=r이 포함되었거나 adkim 문자열이 없는 경우, 도메인이 DKIM에 대해 relaxed alignment를 사용하는 것입니다. 레코드에 문자열 adkim=s가 포함된 경우, 도메인이 DKIM에 대해 strict alignment를 사용하는 것입니다. 시스템 관리자는 도메인의 DNS 구성에 있는 DMARC TXT 레코드에서 이 태그를 제거해야 합니다.

    또는 dmarcian 웹 사이트의 DMARC Inspector 또는 웹 사이트의 DMARC 검사 도구 도구와 같은 웹 기반 DMARC 조회 도구를 사용하여 DKIM에 대한 도메인 정책 조정을 확인할 수 있습니다. MxToolBox