본문 바로가기
공부/기타

[DNS] TXT 레코드와 SPF, DMARC

by haejang 2022. 5. 13.
728x90
728x90

 

 

TXT (텍스트) 레코드란?

https://www.cloudflare.com/learning/dns/dns-records/dns-txt-record/

텍스트 입력 가능 : 원래는 사람이 읽을 수 있는 메모를 위한 레코드였다고 한다

이런 값도 가능....

그러나 이젠 기계가 읽을 수 있는 레코드를 같이 추가할 수 있다

-> SPF / DKIM / DMARC 레코드를 추가해 이메일 스팸을 방지할 수 있다

나는 SPF와 DMARC에 대해서만 설명하겠다

 

 

SPF (Sender Policy Framework) 레코드

https://www.cloudflare.com/learning/dns/dns-records/dns-spf-record/

이메일 표준 프로토콜인 SMTP (Simple Mail Transfer Protocol)는 본질적으로 이메일의 Sender 주소를 인증하지 않는다고 한다

-> SPF 레코드를 통해 Sender Whitelist를 관리한다고 생각하면 편할 듯 하다

 

SPF 레코드는 TXT 레코드처럼 전용 레코드 유형으로도 존재한다

그러나 이는 더 이상 사용되지 않는다고 한다 :

Route53 도큐 : https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#SPFFormat

 

SPF 레코드는 아래와 같이 작성한다

v=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.email -all
  • v=spf1 : SPF 레코드임을 알림 (필수)
  • ip4=192.0.2.0 : 승인된 IP 주소, 중복 사용 가능
  • include:examplesender.email : 본 도메인 대신 이메일을 보낼 수 있는 권한이 부여된 DNS 주소, 중복 가능
  • -all : 여기에 나열되지 않은 모든 주소는 거부해야한다고 알리는 것, 마지막에 작성해야 함
  • ~all : 나머지 주소를 모두 스팸 등으로 표시하지만 허용은 하는 옵션
  • +all : 나머지 주소를 모두 허용

 

도메인과 연결된 SPF 레코드는 1개만 작성되어야 한다

즉 한 레코드에 모든 리스트를 때려부어 넣어야 한다. 안그러면 ERROR가 난다 (SPF가 2개 이상이라고...)

 

 

DMARC (Domain-based Message Authentication Reporting and Conformance) 레코드

https://www.cloudflare.com/learning/dns/dns-records/dns-dmarc-record/

https://support.google.com/a/answer/2466563?hl=en 

Spoofing & Phishing으로부터 보호하고, 메시지가 스팸으로 표시되는 것을 방지한다

SPF 및 DKIM 레코드를 확인한 후 수신 메일 서버에 수행할 작업을 알려준다

즉 이메일이 SPF 및 DKIM에서 인증이 진행되면, DMARC를 통해 스팸으로 표시할지/차단할지/전달할지를 정하는 것

 

_dmarc.domain 으로 TXT레코드를 생성하여 아래와 같은 텍스트를 입력하는 것으로 사용된다

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

 

  • v=DMARC1 : dmarc 레코드임을 알림 (필수)
  • p : SPF나 DKIM 레코드의 인증을 통과하지 못한 메세지들 처리 옵션 (필수)
    • none : 메세지에 대해 아무 조치도 취하지 않는다
    • quarantine : 메세지를 스팸으로 표시해서 보낸다
    • reject : 메세지를 거부한다
  • adkim / aspf : 메시지가 dkim/spf 서명과 얼마나 엄격하게 일치해야 하는지를 지정하는 정책
    • s : 엄격
    • r : 완화 (default), 하위 도메인 허용

 

 

 

 

728x90
728x90

댓글