Skip to content

SPF 구문

SPF 레코드의 형식은 다음과 같습니다:

txt
v=spf1 [mechanisms] [qualifiers]

각 메커니즘은 아래에서 설명합니다.

v=spf1

v=spf1 태그는 SPF 레코드의 버전과 프로토콜을 나타냅니다. SPF의 버전은 하나뿐이며, 프로토콜은 항상 spf1입니다.

메커니즘

메커니즘은 발신자의 IP 주소 또는 호스트를 SPF 정책과 일치시키는 규칙입니다. 메커니즘의 유형은 다음과 같습니다:

태그설명
a발신자의 IP 주소를 도메인의 A 또는 AAAA 레코드와 일치시킵니다.
mx발신자의 IP 주소를 도메인의 MX 레코드와 일치시킵니다.
ip4발신자의 IPv4 주소를 특정 범위와 일치시킵니다.
ip6발신자의 IPv6 주소를 특정 범위와 일치시킵니다.
include다른 도메인의 SPF 정책을 포함합니다.

한정자

한정자는 메커니즘과 일치하거나 일치하지 않는 이메일을 수신자가 처리하는 방법을 나타내는 동작입니다. 한정자의 유형은 네 가지입니다:

태그설명
+Pass, 이메일이 수락됩니다 (권장하지 않음).
?Neutral, 이메일이 수락되거나 거부되지 않습니다 (권장하지 않음).
-Fail, 이메일이 거부됩니다.
~Softfail, 이메일이 수락되지만 의심스럽다고 표시됩니다.

적절한 SPF 한정자 선택

SPF 한정자의 선택은 도메인 소유자의 선호도와 위험 허용 범위에 따라 다릅니다. 일반적으로 중요한 또는 민감한 이메일을 보내는 도메인에는 Hard Fail (-) 한정자를 사용하는 것이 권장됩니다. 이렇게 하면 도메인 소유자는 승인된 서버만이 그들의 이름으로 이메일을 보낼 수 있도록 보장할 수 있으며, 수신 서버가 스푸핑된 이메일을 거부하도록 할 수 있습니다. 그러나 도메인 소유자는 SPF 레코드가 정확하고 최신 상태인지 확인하고, 웹 호스트, 이메일 제공자, 타사 서비스 등 도메인의 모든 합법적인 이메일 소스를 포함해야 합니다. 그렇지 않으면 SPF 검사를 통과하지 못한 유효한 이메일을 잃을 위험이 있습니다.

반면에, Soft Fail (~) 한정자는 뉴스레터, 마케팅 또는 소셜 미디어와 같이 덜 중요한 이메일을 보내는 도메인에 적합할 수 있습니다. 이렇게 하면 도메인 소유자는 승인된 서버에 대한 선호도를 여전히 나타낼 수 있지만, 수신 서버가 이메일을 처리하는 방법에 대한 유연성을 허용할 수 있습니다. 이는 SPF 검사를 통과하지 못한 유효한 이메일을 잃을 가능성을 줄일 수 있지만, SPF 검사를 통과한 스푸핑된 이메일을 받을 가능성을 높일 수도 있습니다.

Neutral (?)Allow all (+) 한정자는 어떤 도메인에도 권장되지 않습니다. 이는 이메일 스푸핑 및 피싱 공격에 대한 보호를 제공하지 않기 때문입니다. 이들은 기본적으로 SPF 메커니즘을 비활성화하고, 어떤 서버든 도메인 이름으로 이메일을 보낼 수 있도록 허용합니다. 이는 도메인의 평판과 전달 가능성에 해를 끼칠 수 있으며, 도메인 사용자가 악성 이메일에 노출될 수 있습니다.

예제

간단한 SPF 레코드의 예는 다음과 같습니다:

txt
v=spf1 mx -all

이는 도메인의 MX 레코드에 해당하는 IP 주소만이 도메인 이름으로 이메일을 보낼 수 있으며, 다른 IP 주소는 거부된다는 것을 의미합니다.

관련 주제