결과 라벨은 진단이 아닙니다.
퍼머러 영구적인 오류를 나타냅니다. SPF 평가하지만 고유한 결함을 식별하지는 않습니다. 잘못된 선택된 정책, 여러 개 적용 가능 SPF 레코드, 누락된 재귀 정책 또는 초과된 평가 제한으로 인해 다른 규칙을 통해 이 결과가 생성될 수 있습니다. 모든 permerror "너무 많은 DNS 조회"로 변환하는 지원 응답은 관리자에게 잘못된 수리를 지시할 수 있으며 잠재적으로 유효한 발신자 인증을 손상시킬 수 있습니다.
평가에 사용된 ID와 입력을 보존하는 것부터 시작하세요. 연결주소를 기록하고, HELO 또는 메일 보낸 사람 컨텍스트, 평가된 도메인, 보낸 사람 인수 및 시간. 그런 다음 실제 DNS 응답과 선택한 SPF 정책을 유지합니다. 이러한 입력이 없으면 두 개의 서로 다른 보고서가 동일한 정책에 대해 의견이 일치하지 않는 대신 서로 다른 ID 또는 서로 다른 스냅샷과 관련될 수 있습니다. RFC 7208 , 섹션 2.3, 2.4 및 8.7
레코드 선택과 구문을 먼저 확인하세요.
SPF 정책 선택에는 특정 규칙이 있습니다. 선택한 여러 SPF 레코드로 인해 permerror 발생합니다. 이는 더 큰 정책으로 병합되지 않으며 공급업체를 분할하는 편리한 방법으로 취급되어서는 안 됩니다. 하나의 레코드 내의 TXT 문자열은 여러 개의 독립 레코드와는 다릅니다. 검토자가 프레젠테이션 세부 사항과 실제 선택 문제를 구별할 수 있도록 기록 경계를 유지하십시오.
구문에는 전체 정책 검토도 필요합니다. RFC 7208 에서는 메커니즘 평가 전에 구문 확인이 필요합니다. 따라서 누군가가 이전 메커니즘이 일치할 것으로 기대하더라도 유효하지 않은 메커니즘이 중요할 수 있습니다. 인식되지 않는 메커니즘과 무시된 인식되지 않는 수정자는 상호 교환 가능한 범주가 아닙니다. 익숙하지 않은 토큰을 모두 삭제하라는 모호한 안내를 피하세요. 오류인지 여부를 결정하기 전에 문법적 역할과 표준 처리 방법을 결정하십시오. RFC 7208 , 섹션 3.2, 4.5, 4.6 및 6
그런 다음 평가-예산 실패를 분류합니다.
전체 DNS 유발 기간 예산에는 평가 중에 a, mx, ptr, 존재 및 리디렉션 횟수가 포함됩니다. 제한은 10개이며, 이를 초과하면 permerror 발생합니다. 이는 단순히 DNS 패킷 수, 최상위 포함 수 또는 고유 공급자 수가 아닙니다. 재귀는 예산을 공유하며 캐싱은 논리적으로 평가된 용어를 제거하지 않습니다.
다른 한도에는 자체 라벨이 필요합니다. 무효 응답에는 SHOULD 수준 제한이 2이며 허용되는 구성과 구성 가능한 경우 권장되는 기본값은 2입니다. 적용 가능한 한도를 초과하면 permerror 발생합니다. MX 처리에는 추가적인 필수 제약 조건이 있습니다. "레코드에 포함된 항목이 9개뿐"이라는 진술은 이러한 다른 원인을 배제하지 않으며, 높은 원시 패킷 수가 그 자체로 전체 10개 기간 제한을 초과했음을 증명하지 않습니다. RFC 7208 , 섹션 4.6.4
인증 결과와 오류 결과를 분리하세요.
실패는 클라이언트가 평가된 ID에 대해 인증되지 않았음을 어설션합니다. Permerror는 영구적인 오류로 인해 평가에서 의도한 인증 결과를 얻을 수 없음을 의미합니다. 일시적 오류 일시적인 오류를 나타냅니다. 없음은 또한 포함 또는 리디렉션을 통해 발견될 때 특별한 매핑이 있는 고유한 결과입니다. 수정 조치를 설명할 때 이러한 라벨을 단일 " SPF 실패" 버킷으로 축소해서는 안 됩니다.
수신자는 여전히 자체 정책에 따라 결과를 처리하는 방법을 결정합니다. 거부된 메시지는 증거가 해당 링크를 지원하지 않는 한 어떤 SPF 결함으로 인해 거부가 발생했는지 확인하지 않습니다. 마찬가지로, 수락된 메일은 정책이 유효하다는 것을 증명하지 않습니다. 인증 진단 및 전달 처리를 별도의 필드에 유지하고, 한 번의 DNS 복구로 모든 전달 문제가 해결될 것이라고 약속하지 마십시오. RFC 7208 , 섹션 5.2, 6.1 및 8
명시적인 중지 이유가 있는 분류 워크시트
선택, 파싱, 평가로 나누어진 워크시트를 사용하세요. 선택 시 쿼리 이름, 응답, TXT 레코드 선택한 SPF 레코드의 경계 및 개수. 구문 분석 시 정확한 연결된 레코드 텍스트, 구문 분석기 버전, 위반 토큰(있는 경우) 및 위반된 규칙을 유지합니다. 원본 증거를 보존하기 전에 오류를 정규화하지 마십시오.
평가에서는 도달한 각 메커니즘 또는 수정자, 현재 도메인, 확장된 대상, 누적 용어 수, 응답 분류, 반복 하위 결과 및 지속 결정을 기록합니다. 무효 총계와 보충 한도를 구별하여 유지하십시오. 지원되는 첫 번째 중지 이유를 표시하세요. 파서가 평가 전에 정책을 거부한 경우 평가자가 단지 다른 가능한 문제를 보여주기 위해 실행하지 않은 경로를 만들어내지 마십시오.
제안된 수정 사항에는 해결해야 하는 결함, 의도된 승인을 확인하는 소유자, 계속 작동해야 하는 경로가 명시되어야 합니다. 해결되지 않은 2차 결과를 별도로 기록합니다. 잘못된 정책에는 과도한 종속성 그래프가 포함될 수도 있지만 조사관은 어떤 결론이 관찰되고 어떤 것이 유효한 평가를 기다리는 동안 정적 문제로 남아 있는지 설명해야 합니다.
가상 진단: 두 개의 동일한 라벨, 다른 수리
가상의 사례 A에서 도메인은 둘 다 SPF 정책에 해당하는 두 개의 별도 TXT 레코드를 게시합니다. 유용한 진단은 과도한 조회 횟수가 아니라 레코드 선택 오류입니다. 제안된 수리에서는 모든 합법적인 경로를 확인한 후 의도된 인증을 하나의 지원 정책으로 조정해야 합니다. 임의의 레코드를 삭제하면 필요한 서비스가 자동으로 제거될 수 있습니다. 이 경우에는 실제 DNS 응답이나 수정 사항이 수집되지 않았습니다.
가상의 사례 B에서 구문상 유효한 하나의 정책은 일치 항목 이전에 11번째로 계산된 DNS 유발 용어를 시도하는 중첩 경로를 따릅니다. 유용한 진단은 전체 예산 초과입니다. 정책이 이미 하나의 선택된 레코드이기 때문에 TXT 문자열을 결합해도 해당 문제가 해결되지 않습니다. 대신 검토에는 발신자 적용 범위를 유지하는 정확한 종속성 경로와 지원되는 재설계가 필요합니다.
세 번째 허구 보고서에는 " permerror "만 나와 있고 기록 스냅샷이나 추적이 포함되어 있지 않습니다. 정확한 결과는 A와 B 사이의 추측이 아닌 증거 불충분입니다. 비공개 메시지 내용과 불필요한 주소를 제외하고 승인된 채널을 통해 최소한의 진단 묶음을 요청하세요. 이러한 시나리오는 개념적 비교이지 실행된 고정 장치, 수신기 결과 또는 명명된 공급자가 잘못 구성되었다는 증거가 아닙니다.
승인 및 해제 기준
수리 청구 범위는 " SPF 수정되었습니다."보다 좁아야 합니다. 기록 선택, 구문, 특정 평가 경로 또는 특정 공급업체 종속성이 수정되었는지 여부와 해당 주장을 뒷받침하는 증거가 무엇인지 기술합니다. 제안된 변경 사항이 의도하지 않은 발신자를 승인하지 않거나 적법한 발신자를 제외하지 않는지 확인합니다. 별도로 준수하지 않는 한 수령인의 최종 배송 결과를 청구 범위 외부에 두십시오.
이 초안에서는 계산된 각 용어와 정확한 실패한 분기를 보여주는 필수 주석 경로가 미해결 상태로 유지됩니다. 실제 문제가 구문 분석이나 선택인 경우 기본 증거도 보관하고 기사의 의도된 범위를 어떻게 충족하는지에 대한 사람의 검토를 받으세요. 메커니즘이 처리되기 전에 중지되는 오류에 대한 평가 경로를 만들지 마십시오.
여기에서는 검색, 파서 실행, DNS 수정 또는 메시지 테스트가 수행되지 않았습니다. 원본 증거, 인적 검토, 소스 적용 가능성, 생산 경로, 시각적 접근성 및 소유자 공개는 계속 열려 있습니다. 원고는 선별 프레임워크와 허구적 추론 예시를 제공하는 동시에 완전한 운영 진단에 대한 주장을 명시적으로 보류합니다.