SPF 레코드는 이메일 인증에 널리 이용되는 DNS TXT 레코드의 한 가지 유형입니다. SPF 레코드에는 해당 도메인에서 이메일을 보낼 수 있 도록 승인된 IP 주소와 도메인의 목록이 포함됩니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
글 링크 복사
SPF(Sender Policy Framework) 레코드는 특정 도메인에서 이메일을 보낼 수 있도록 승인된 모든 서버를 열거하는 DNS TXT 레코드의 한 가지 유형입니다.
도메인 관리자는 DNS TXT(“텍스트”) 레코드를 통해 임의의 텍스트를 도메인 네임 시스템(DNS)에 입력할 수 있습니다. 원래 TXT 레코드는 도메인에 대한 중요한 알림을 포함시키기 위해 만들어진 것이지만, 이후 다른 목적에 이용할 수 있도록 진화되었습니다.
SPF 레코드는 원래 이메일에 이용되는 표준 프로토콜 SMTP(Simple Mail Transfer Protocol)이 본질적으로 이메일의 "발신" 주소를 인증하지 않기 때문에 만들어졌습니다. 따라서 SPF나 기타 인증 레코드가 없다면 공격자가 쉽게 발신자를 가장하여 수신자를 속임으로써 특정 행동을 하거나 정보를 공유하게 할 수 있습니다.
SPF 레코드는 도어맨이 관리하는 손님 목록으로 생각하면 됩니다. 목록에 없는 사람이 오면 도어맨은 출입을 허가하지 않습니다. 마찬가지로 SPF 레코드에 발신자의 IP 주소나 도메인이 없다면 수신 서버(도어맨)은 해당 이메일을 배달하지 않거나 스팸으로 표시합니다.
SPF는 이메일이 신뢰할 만한 곳에서 온 것인지 이메일 서버가 확인하기 위해 이용할 수 있는 DNS 기반 메커니즘 중 하나입니다. DMARC(Domain-based Message Authentication Reporting and Conformance)와 DKIM(DomainKeys Identified Mail)도 이메일 인증에 이용되는 메커니즘입니다.
한때는 SPF 레코드에 전담 DNS 레코드 유형이 있었습니다. 하지만 이후 전담 레코드는 가치가 떨어지고 TXT 레코드만 사용되게 되었습니다.
메일 서버가 SPF 레코드를 검사할 때 진행하는 프로세스는 상대적으로 단순합니다.
서버가 SPF 레코드의 내용을 해석하는 방식을 이해할 수 있도록 하려면 SPF 레코드는 특정 표준을 따라야 합니다. 다음 예는 SPF 레코드의 핵심 구성 요소를 보여줍니다.
v=spf1 ip4=192.0.2.0 ip4=192.0.2.1 include:examplesender.email -all
이 예는 서버에게 이 레코드가 어떤 유형인지 알리고 이 도메인의 승인 받은 IP 주소와 제삼자를 설명하며 준수하지 않는 이메일의 경우 어떻게 처리할지 지시합니다. 개별 구성 요소가 어떻게 이를 달성하는지 알아봅시다.
v=spf1
는 SPF 레코드가 포함되어 있다고 서버에게 알려줍니다. SPF 레코드는 모두 이 문자열로 시작해야 합니다.ip4=192.0.2.0
및 ip4=192.0.2.1
이 해당 도메인에서 이메일을 보낼 수 있도록 승인 받았음을 알려줍니다. include:examplesender.net
는 include 태그의 예로서 해당 도메인에서 이메일을 보낼 수 있는 제삼자 조직을 서버에 알려줍니다. 이 태그는 포함된 도메인(examplesender.net)의 SPF 레코드 내용을 검사해야 하며 여기에 포함된 IP 주소도 승인된 것으로 간주해야 한다고 알립니다. SPF 레코드에는 다수의 도메인이 포함될 수 있지만 유효한 도메인에만 작동합니다. -all
은 SPF 레코드에 열거되지 않은 주소는 이메일을 보낼 수 있도록 승인 받지 않았으므로 거부하라고 서버에 알립니다. ~all
과 어떤 서버라도 귀하의 도메인을 대신해 이메일을 보낼 수 있음을 알리는 +all
이 있습니다. 이 글에서 사용한 예는 매우 단순하지만, SPF는 훨씬 복잡할 수도 있습니다. SPF 레코드가 유효하려면 다음 몇 가지 사항을 기억해야 합니다.
all
구성 요소로 끝나거나 redirect:
구성 요소(해당 SPF 레코드를 다른 도메인이 호스팅하고 있음을 알림)로 끝나야 합니다. 자세한 내용은 공식 SPF 레코드 문서를 참조하시기 바랍니다.
도메인 운영자가 SPF 레코드를 사용하는 이유는 여러가지가 있습니다.
Cloudflare Email Security DNS Wizard를 사용하면 올바른 DNS TXT 레코드를 간단하게 설정하고 스팸 발송자가 도메인을 사용하지 못하도록 차단할 수 있습니다.Wizard에 대한 자세한 내용은 여기를 참조하세요.
이메일용 DNS 레코드에 대해 자세히 알아보기.