Computer >> 컴퓨터 >  >> 소프트웨어 >> 메일

[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드

시작하기 전 준비물

  • DNS 편집기: 도메인 네임 시스템(DNS) 관리 콘솔 (예: 이메일 주소가 등록되어 있는 GoDaddy 관리자 페이지)
  • 서드파티(3rd Party) 이메일 관리 계정: 메일 대량 발송 서비스(Mailchimp, ConstantContact 등), 별도로 운영 중인 메일 서버 등

지금 이 글을 찾아오신 분이라면, 아마 방금 수신한 오류 메시지 때문일 겁니다. 'DMARC 레코드 문제' 혹은 '이메일 인증 실패'와 관련된 오류였겠죠. 그리고 그 이메일을 보낸 상대방은 아마 @gmail.com이나 @yahoo.com 같은 무료 대형 이메일 제공업체일 가능성이 높습니다. 이런 업체들은 개인 회사가 직접 구축한 메일 서버보다 훨씬 엄격한 기본 정책을 적용하기 때문입니다.

저 역시 같은 문제를 겪으며 꽤 오랜 시간을 고민했습니다. 무엇이 필요한지만이 아니라, 어떻게 올바르게 설정해야 하는지 말이죠.

SPF·DKIM·DMARC 적용 전후 통계 비교

아래 결과에서 확인할 수 있듯이, 이 세 가지 인증을 적용한 후 놀라운 변화가 있었습니다.

  • 적용 전 반송률(Bounce Rate)은 70%, 즉 무려 21,441통의 이메일이 수신자의 받은편지함에 닿지 못했습니다.
  • 적용 후에는 반송률이 단 5.6%로 급감했고, 반송 건수도 1,855건으로 줄어들었습니다.
  • 물론 모든 반송이 보안 문제 때문만은 아닙니다. 수신자가 이메일을 삭제했거나, 주소 오타(mail.com을 gmail.com으로 잘못 입력하는 전형적인 사례)로 인한 경우도 포함됩니다.
[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드
SPF·DMARC·DKIM 설정 전후 ConstantContact 반송 통계 비교

그럼 바로 시작해 보겠습니다!

이메일 인증을 100% 충족하려면 다음 3가지를 반드시 설정해야 합니다.

  • SPF(Sender Policy Framework): 이메일 위조, 일명 스푸핑(Spoofing)을 방지하는 프레임워크입니다. 스푸핑이란 누군가 당신의 이메일 주소에서 보낸 것처럼 위장하는 행위를 말합니다.
  • DKIM(DomainKeys Identified Mail): 서버가 인증 절차를 거쳐 당신 명의로 이메일을 보낼 수 있게 허용하는 기술입니다. 예를 들어 Mailchimp나 ConstantContact로 뉴스레터를 발송하면서 'john@doecompany.com'을 발신자로 지정하면, 실제 발송은 해당 서비스의 서버에서 이루어집니다. 하지만 DKIM 인증을 통해 '진짜 당신'이 보낸 것이지 사칭이 아니라는 것이 검증되는 것입니다. 기업 입장에서 가장 중요하게 설정해야 하는 항목입니다. 제대로 설정하지 않으면 반송률이 급격히 올라갑니다!
  • DMARC(Domain-based Message Authentication, Reporting & Conformance): SPF와 연동하여 작동하는 또 하나의 안티 스푸핑 메커니즘입니다. 둘 중 하나만 설정하는 것은 효과가 없습니다. 제대로 된 보호를 위해서는 두 가지가 모두 필요합니다.

DNS 편집기 접속 방법 (GoDaddy 예시)

먼저 로그인 후 관리자 대시보드로 이동합니다.

[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드
GoDaddy 도메인 관리 대시보드 — Manage 버튼 위치 안내
[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드
GoDaddy 도메인 대시보드 — Manage Zones 옵션 위치 안내

Manage Zones를 클릭한 화면에서 DNS 항목을 추가할 도메인을 선택합니다.

[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드
GoDaddy DNS Zone Editor — Add 버튼 위치 안내

레코드 목록 우측 하단의 'Add' 버튼을 클릭하면 아래와 같은 입력창이 열립니다. 여기에 SPF, DMARC, DKIM 항목을 각각 하나씩 입력합니다.

[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드
GoDaddy DNS 항목 추가 화면 — 유형(TXT), 호스트(_dmarc), TXT 값 입력 및 저장(Save) 안내

GoDaddy 외의 DNS Zone Editor 사용법은 해당 도메인 제공사의 지식베이스나 고객지원 센터를 참고하시면 됩니다.

1단계: SPF 설정하기

세 가지 중 SPF가 가장 간단합니다. 준비물은 딱 2가지입니다.

  1. DNS 편집기 (예: GoDaddy 관리자 포털)
  2. 메일 서버의 IP 주소

DNS 편집기(cPanel에서는 DNS Zone Editor라고 부릅니다)에 접속한 후 새 TXT 레코드를 생성합니다. TXT 항목에는 일반적으로 Host, TXT Value(Value), TTL(Time-To-Live) 세 필드가 있습니다. 입력 내용은 다음과 같습니다 (세부 사항은 다를 수 있으며, GoDaddy 환경 기준입니다).

Host: @
TXT Value: v=spf1 +a +mx +ip4:<메일 서버 IP>~all
TTL: 1 Hour

[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드
위 설명에 따른 GoDaddy SPF용 TXT 레코드 입력 예시

각 설정값의 의미

@: GoDaddy에서 작업 중인 도메인 자체를 가리키는 기호입니다. 예를 들어 doecompany.com 내에서 작업한다면 '@' 대신 'doecompany.com'을 입력해도 결과는 동일합니다. 다만 GoDaddy에서는 '@'를 사용하는 것이 모범 사례입니다.

<메일 서버 IP>: 이메일이 실제로 발송되는 서버의 IP입니다. 웹사이트가 호스팅되는 IP와 반드시 같지 않다는 점에 유의하세요.

+a: A 레코드 포함

+mx: 메일 서버(MX) 레코드 포함

+ip4: 발송이 허용되는 IPv4 서버 지정

~all: 앞서 선언되지 않은 서버의 발송 시도는 실패 처리됩니다.

TTL = 1시간(3600초): Time-To-Live, 즉 이 값이 만료되어 갱신되는 주기입니다. 나중에 메일 서버를 교체하더라도 최대 1시간의 공백만 있으면 되므로 유용합니다.

2단계: DKIM 설정하기

DKIM은 세 가지 중 설정 과정이 가장 번거롭지만 동시에 가장 중요한 항목입니다. 서드파티 서비스가 'john@doecompany.com'처럼 당신 명의로 메일을 보낼 수 있도록 인증하는 작업입니다.

현재 저는 2개의 DKIM을 운영하고 있습니다.

  1. 실제 메일 서버용 — 웹사이트와 다른 서버에서 운영되는 경우 (엔터프라이즈 환경에서 흔함)
  2. 뉴스레터 대량 발송 서비스용 — 이 경우 ConstantContact (여러분의 경우 Mailchimp 등 다른 서비스일 수 있습니다)

두 경우 모두 절차는 동일합니다. 메일 서버 또는 서드파티 발송 서비스의 기술 지원팀에 연락하여, 자신의 계정에 맞게 DKIM을 서버 쪽에 설치해 달라고 요청해야 합니다.

이 과정은 사용자가 직접 할 수 있는 영역이 아니며, 보통 1~2일 정도 소요됩니다. 구체적으로는 서버에 최소 1024비트(2048비트면 더 좋습니다) RSA 암호화 키를 등록하고 설치하는 작업입니다.

설정이 완료되면 공개 키(Public Key)를 받게 되는데, 이것이 다음 단계에서 DKIM 레코드를 생성할 때 사용됩니다.

SPF·DMARC와 마찬가지로 DNS 편집기에 접속해 새 TXT 레코드를 생성합니다. (GoDaddy 환경에 이메일은 inmotionhosting.com, 뉴스레터는 ConstantContact를 사용하는 경우 기준입니다.) DKIM 레코드마다 별도의 항목을 하나씩 만들어야 한다는 점을 잊지 마세요.

Host: <서드파티가 제공한 값>._domainkey
TXT Value: v=DKIM1; k=rsa; p=<공개 키>
TTL: 1 Hour

'=' 기호 뒤에 공백이 남지 않도록 주의하세요.

[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드
위 설명에 따른 GoDaddy DKIM용 TXT 레코드 입력 예시

각 설정값의 의미

Host: 이름이나 숫자로 구성되며 서드파티별로 고유한 값입니다. 대신 발송된 이메일의 헤더에는 이 이름이나 숫자가 포함되며, 수신 서버는 도메인에서 이 값을 기준으로 레코드를 조회합니다.

쉽게 설명하면, 수신 서버는 'doecompany.com'의 DNS 레코드를 확인해 서드파티의 주장이 사실인지 검증합니다. 공개 키가 서드파티 서버의 키와 정확히 일치해야만 이메일이 정상적으로 발송·수신됩니다.

v=DKIM1: 사용 중인 DKIM 버전을 명시하여 어떤 규격을 따르는지 알려줍니다.

k=rsa: 키(k) 유형으로 RSA가 가장 일반적입니다. 서드파티가 다른 방식을 선택할 수도 있지만, 현재 기준으로 2048비트 RSA가 가장 안전하며 1024비트도 충분히 좋습니다.

p=<공개 키>: '<공개 키>' 자리에는 서드파티가 제공한 1024비트 또는 2048비트 규모의 무작위 문자열이 들어갑니다.

TTL = 1시간(3600초): Time-To-Live, 레코드 갱신 주기입니다. 메일 서버 변경 시 최대 1시간의 미인증 공백만 발생하므로 실질적인 장애를 크게 줄여줍니다.

3단계: DMARC 설정하기

주의: DMARC가 제대로 작동하려면 반드시 SPF와 DKIM을 먼저 설정해야 합니다. DMARC는 SPF와 DKIM 설정을 검증하고 발신자가 이 설정에 부합하는지, 스푸퍼는 아닌지를 판단하기 때문입니다. SPF와 DKIM 없이는 DMARC가 작동하지 않고, 오히려 이메일이 거부되는 결과를 초래합니다.

SPF 때와 마찬가지로 DNS 편집기에 접속해 새 TXT 레코드를 생성합니다. (GoDaddy 환경, 이메일은 inmotionhosting.com에서 호스팅되는 경우 기준입니다.)

Host: _dmarc
TXT Value: v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100;fo=0;rf=afrf;ri=86400
TTL: 1 Hour

[마케팅] 이메일 반송률을 확 낮추는 법! SPF·DKIM·DMARC 설정 완벽 가이드
위 설명에 따른 GoDaddy DMARC용 TXT 레코드 입력 예시

각 설정값의 의미

_dmarc: GoDaddy에서는 호스트 입력 시 자동으로 '.johndoe.com' 같은 서브도메인 형태가 붙습니다. 이메일 발송 시 DMARC 검증은 항상 이 셀렉터를 통해 도메인에서 조회됩니다. '_dmarc'로 정확히 설정하지 않으면 메일 서버가 DMARC 항목을 찾지 못하고, '항목이 없다'고 판단해 이메일을 자동으로 실패 처리합니다.

v=DMARC1: 사용 중인 DMARC 버전을 선언하여 인증의 신뢰성을 높입니다.

p=reject: DMARC 레코드와 일치하지 않는 이메일은 수신 서버에서 거부(reject)됩니다.

sp=none: 서브도메인과 메인 도메인의 정책 일치 여부를 검사하지 않습니다. 선택 사항입니다.

adkim=r: DKIM 식별자 검사를 엄격(s) 모드로 할지 완화(r) 모드로 할지 지정합니다. 기본값은 relaxed(r)입니다.

aspf=r: SPF 식별자 검사를 엄격(s) 또는 완화(r) 모드로 지정합니다. 기본값은 relaxed(r)입니다.

pct=100: DMARC 정책이 적용되는 이메일의 비율입니다. 1~100 사이의 정수만 입력 가능하며, 작은 값은 테스트 용도로만 의미가 있습니다. 보안상 100으로 설정하는 것이 좋습니다.

fo=0: SPF와 DKIM 인증에 실패했을 때 DMARC 오류 리포트를 생성하는 조건입니다. 0이 기본값이며, 그 외 1(둘 중 하나라도 실패 시), d(서명 평가 실패 시), s(SPF 평가 실패 시) 옵션이 있습니다.

rf=afrf: 장애 리포트의 출력 형식을 지정합니다. 작성 시점 기준 afrf가 유일하게 지원되는 값입니다.

ri=86400: 발신자에게 리포트를 보내는 간격(초)입니다. 86400초, 즉 24시간이 기본값입니다. Gmail, Yahoo 등 주요 메일 서비스들은 하루에 여러 건의 리포트를 보내기도 합니다.

TTL = 1시간(3600초): Time-To-Live, 레코드 갱신 주기입니다. 메일 서버를 교체하더라도 최대 1시간의 미인증 공백만 있으면 됩니다.

마무리하며

이것으로 이메일 인증을 올바르게 설정하는 방법을 모두 살펴봤습니다. 복잡하고 어렵게 느껴졌던 부분이 조금이나마 풀렸기를 바랍니다. 이제 mailer-daemon이 보내는 성가신 반송 알림에서 벗어날 준비가 되셨습니다!


저자: Andreas Lopez — https://www.linkedin.com/in/andreaslopez/
편집자: Stevan Pupavac — https://www.linkedin.com/in/stevan-pupavac/ , Frederick Alcantara — https://www.linkedin.com/in/frederick-alcantara/

출처:

  1. GoDaddy 스크린샷 출처: DMARCanalyzer.com — https://www.dmarcanalyzer.com/dmarc/dmarc-record-setup-guides/dmarc-setup-guide-godaddy/