[ SPF ]

SPF 구문: 메커니즘, 수정자, 한정자 및 평가 순서

승인된 도메인이 아닌 평가된 프로그램으로 SPF 정책을 읽어보세요.

EmailAuth 연구팀 제공 · 4분 읽기

[ 핵심사항 ]

  • 메커니즘 한정자는 일치하는 경우에만 결과를 결정합니다.
  • 수정자에는 고유한 규칙이 있으며 추가 메커니즘으로 작동하지 않습니다.
  • 대표 경로를 추적하기 전에 전체 기록을 검증하세요.
이 페이지에서

안 SPF 레코드 명시적인 결과가 나오는 일련의 테스트입니다. 콜론, 등호 및 한정자의 차이가 중요합니다. 구문적으로 유효한 변경은 승인된 사람, 도달한 DNS 종속성 또는 처리가 중지되는 위치를 변경할 수도 있습니다.

사용 RFC 7208 §4.6, RFC 7208 §5.2 그리고 RFC 7208 §6 문법 및 평가 참고 자료로 사용됩니다. 아래 예를 생산에 붙여 넣을 기록이 아닌 합성 고정물로 취급하십시오.

수정자와 메커니즘을 분리하세요.

메커니즘은 입력이 일치하는지 여부를 묻습니다. 예에는 ip4, ip6, a, mx, include, presents 및 all이 포함됩니다. 일치 메커니즘에 연결된 한정자는 결과를 결정합니다. +는 통과, - 실패, ~ softfail 및 ?를 제공합니다. 중립적. 아래에 RFC 7208 §4.6.2, 한정자가 생략되면 +가 암시됩니다.

수정자는 등호를 사용합니다. redirect=policy.example.com 일치하는 메커니즘이 없을 때 평가를 위임합니다. exp=explain.example.com 특정 실패 결과에 대한 설명 텍스트를 식별합니다. 이는 추가적인 일치 메커니즘이 아닙니다. 인식된 수정자에는 고유한 규칙이 있습니다. 구문적으로 유효한 인식할 수 없는 수정자는 무시되는 반면, 인식할 수 없는 메커니즘은 오류입니다.

기록 v=spf1 로 시작하고 DNS 로 게시됩니다. TXT 레코드 평가된 신원에서. 동일한 소유자의 두 개의 별도 SPF 레코드는 보낸 사람을 결합하는 방법이 아닙니다. SPF 레코드 선택 반환 permerror 아래에 RFC 7208 §4.5. 하나의 TXT 레코드 내의 여러 인용 문자열은 다른 표현이며 아래에 공백을 삽입하지 않고 연결됩니다. RFC 7208 §3.3.

전체 예제 추적

유효한 구문, 각 이름에 하나의 SPF 레코드 및 성공적인 DNS 검색을 가정합니다. 정책이 다음과 같다고 가정하자. v=spf1 ip4:192.0.2.20 include:service.example.net -all. 포함된 정책은 다음과 같습니다. v=spf1 ip4:198.51.100.10 -all.

192.0.2.20 의 경우 첫 번째 메커니즘이 일치하고 통과를 반환합니다. 해당 평가 경로에는 포함이 필요하지 않습니다. 198.51.100.10 의 경우 첫 번째 메커니즘은 일치하지 않고 포함된 정책은 통과를 반환하며 외부 포함은 기본 + 한정자와 일치합니다. 203.0.113.7 의 경우 포함된 정책 반환이 실패합니다. 이는 일치하지 않는 포함을 만들고 외부 -all 최종 실패를 제공합니다.

이 추적은 include가 텍스트 대체가 아닌 이유를 설명합니다. 포함된 -all 은 서비스 정책을 놓친 모든 주소를 즉시 거부하지 않습니다. 일치하지 않는 포함 결과 후에 상위 정책이 재개됩니다.

처리가 중지되는 위치 이해

일치 메커니즘은 일반적인 메커니즘 평가를 종료합니다. 도달한 용어의 오류로 인해 평가가 종료될 수도 있습니다. 따라서 용어를 재배열하면 결과 또는 수신자가 쿼리해야 하는 종속성이 변경될 수 있습니다.

all 메커니즘은 항상 일치하므로 그 이후의 용어는 추가 승인을 제공할 수 없습니다. 에이 리디렉션 수정자 레코드의 어느 곳에나 all 메커니즘이 있으면 무시됩니다. 글쓰기 -all 리디렉션= policy.example.com 긴급 폴백을 생성하지 않습니다.

아래에 RFC 7208 §4.7, 일치하는 메커니즘이 없고 리디렉션도 없으면 기본 결과는 중립입니다. 다른 관리자가 생략 의도가 있었는지 유추할 필요가 없도록 의도한 결말을 명시적으로 작성합니다.

경로 및 전체 기록 확인

게시하기 전에 익숙한 IP와 일치할 것으로 예상되는 부분뿐만 아니라 전체 구문의 유효성을 검사하세요. 유리한 조기 일치를 가정하여 유효하지 않은 정책을 안전하게 만들 수는 없습니다. 그런 다음 승인된 IPv4 및 IPv6 입력, 승인되지 않은 입력, 실패하거나 SPF 레코드를 반환하지 않는 종속성을 평가합니다.

평가된 주요 DNS 용어 제한에는 재귀를 포함하여 a, mx, ptr, 존재 및 리디렉션 용어가 포함됩니다. 인용된 TXT 조각의 개수가 아닙니다. 선택한 결과와 도달한 DNS 용어를 모두 보여주는 추적을 유지하세요. 헤드룸 없이 정책을 설계하는 대신 공급자 종속성 변경에 대한 예산을 책정하세요.

검토 가능한 변경을 하세요

현재 기록 옆에 제안된 기록을 쓰고 의도한 허가 차이를 일반 언어로 설명합니다. 이전 값과 TTL을 유지하고, 권한 있는 DNS 와 Recursive Resolver를 통해 결과를 확인한 후 대표 수신 메시지를 테스트합니다.

수락 조건은 단순히 파서가 문자열을 수락하는 것이 아닙니다. 의도한 발신자는 올바른 신원을 확인하기 위해 통과해야 하며, 의도하지 않은 발신자는 허가를 받아서는 안 되며 필수입니다. DMARC 조정 그대로 유지되어야 합니다.

실용적인 테이크아웃

각각 읽어보세요 SPF 유형, 한정자 및 위치별로 용어를 지정합니다. 명확한 평가 추적을 통해 구문 검토를 구두점 연습이 아닌 권한 검토로 만듭니다.

의사결정을 재현 가능하게 유지

2개의 레코드 픽스처에서 로컬 주소는 포함 전에 전달되고 서비스 주소는 하위 전달을 통해 전달되며 관련 없는 주소는 상위의 최종 실패에 도달합니다. 대신 하위 항목에 SPF 레코드가 없는 경우 도달된 포함은 permerror 반환합니다. 해당 오류 사례를 하위 실패/비일치와 별도로 유지하세요. 이는 실행된 파서나 검증자 테스트가 아닌 분석 결과입니다.

[ 테이크아웃 ]

메커니즘 한정자는 일치하는 경우에만 결과를 결정합니다. 수정자에는 고유한 규칙이 있으며 추가 메커니즘으로 작동하지 않습니다. 대표 경로를 추적하기 전에 전체 기록을 검증하세요.

[ 역할별 ]

이것이 당신에게 의미하는 바

실용적인 다음 단계를 위해 역할을 선택하세요.

IT/메일 관리자

경로 매트릭스를 테스트합니다.

구문 검사와 결과 추적은 다양한 질문에 답합니다. 둘 다 유지하세요.

다음 단계

  1. 전체 기록을 검증합니다.
  2. 승인된 입력과 승인되지 않은 입력을 실행합니다.
  3. 종속성 오류 사례를 포함합니다.

CISO/SecOps

정책을 코드로 검토하세요.

주문 및 한정자는 기록이 유효한 경우에도 권한을 실질적으로 확대할 수 있습니다.

다음 단계

  1. 기본 통과 한정자를 검토합니다.
  2. 연결할 수 없는 용어에 플래그를 지정하세요.
  3. 독립적인 변경 검토가 필요합니다.

창립자 / 비기술자

어떤 권한이 변경되는지 물어보세요.

구문 변경에는 전송 서비스가 액세스 권한을 얻거나 잃는 간단한 설명이 포함되어야 합니다.

다음 단계

  1. 전후 정책이 필요합니다.
  2. 영향을 받는 워크플로의 이름을 지정하세요.
  3. 복원 계획을 유지하십시오.

[ 자주 묻는 질문 ]

자주 묻는 질문

누락된 한정자는 무엇을 의미합니까?

기본 한정자는 +이며 메커니즘이 일치할 때 통과를 생성합니다.

RFC 7208 §4.6.2

리디렉션이 메커니즘인가요?

아니요. 특정 규칙에 따라 메커니즘이 일치하지 않은 후에 사용되는 수정자입니다.

RFC 7208 §6.1

서비스당 하나의 SPF 레코드를 게시할 수 있나요?

아니요. 하나의 ID에 여러 SPF 레코드가 있으면 permerror 발생합니다. 승인된 서비스를 하나의 유효한 정책으로 결합합니다.

RFC 7208 §4.5

인용된 두 개의 TXT 문자열이 두 개의 SPF 레코드입니까?

반드시 그런 것은 아닙니다. 단일 TXT 레코드에는 SPF 공백을 삽입하지 않고 연결하는 여러 문자열이 포함될 수 있습니다.

RFC 7208 §3.3

-all 후에 서비스를 추가할 수 있나요?

모든 항목이 먼저 일치하므로 여기에 권한을 추가할 수 없습니다. 게시하기 전에 전체 주문을 검토하세요.

RFC 7208 §5.1

포함된 -all my -all 되나요?

아니요. 포함된 실패 결과로 인해 포함이 일치하지 않게 됩니다. 외부 정책은 계속됩니다.

RFC 7208 §5.2

일치 메커니즘이나 리디렉션이 없으면 어떻게 되나요?

기본 SPF 결과는 중립입니다.

RFC 7208 §4.7

알려지지 않은 메커니즘은 무시됩니까?

아니요. 알 수 없는 메커니즘으로 인해 permerror 발생합니다. 구문적으로 유효한 알 수 없는 수정자는 무시됩니다. 전체 레코드에는 여전히 구문 유효성 검사가 필요합니다.

RFC 7208 §4.6 RFC 7208 §6

[ 출처 ]

출처

  1. RFC 7208

    섹션 §2.4 · §3.1 · §3.3 · §4 · §4.5 · §4.6 · §4.6.2 · §4.6.4 · §4.7 · §5.1 · §5.2 · §6 · §6.1 · §6.2

[ 어휘 ]

어휘

SPF
연결 IP 및 관련 SMTP ID에 대한 권한 부여 평가.

RFC 7208 §2.4

SPF 포함
재귀 패스는 포함 일치를 만듭니다. 그 한정자는 외부 결과를 결정하는 반면 오류는 지정된 매핑을 따릅니다.

RFC 7208 §5.2

SPF 리디렉션
대상을 현재 도메인으로 하고 변경되지 않은 IP/발신자 입력으로 대체 평가 모든 메커니즘은 리디렉션을 비활성화합니다.

RFC 7208 §6.1

기업 출처

최고의 금융 기관과 정부가 필요한 이유 이메일 보안 대시보드를 폐기했습니다.

기존 이메일 인증 플랫폼은 대시보드를 판매하고 엔지니어에게 작업을 요청합니다. 위험이 높은 환경에서 수동 감독은 시행 지연, 구성 드리프트 및 모니터링되지 않는 섀도우 도메인을 의미합니다.

EmailAuth 는 에이전트 이메일 출처 플랫폼입니다. 우리 대리인은 집행합니다 p=reject, 제3자 발신자를 정렬하고 도메인을 전체로 이동하세요. RFC 9989 인간 참여형 감사 기능을 갖춘 새로운 DMARC 표준을 준수합니다.

정부 대기업 1등급 금융기관

SaaS · 전용 테넌시 · Air-Gapped 온프레미스 · BYOK 암호화

기술 자료