0Pricing
Cyber Security Academy · 강의

SPF 레코드

발신 메일 서버를 인증합니다.

SPF 레코드은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

SPF가 해결하는 문제

SPF(발신자 정책 프레임워크)를 사용하면 도메인 소유자가 해당 도메인을 대신해 이메일을 보낼 수 있도록 승인된 메일 서버 목록을 게시할 수 있습니다. 수신 서버는 이 목록을 확인해 위조된 발신자를 탐지합니다.

SPF는 한 가지 질문에 답합니다. 이 메시지를 전달한 서버가 이 도메인을 대신해 메일을 보내도록 허가되었는가? 그렇지 않다면 메시지는 의심스럽습니다.

DNS TXT 레코드로 게시하기

SPF 정책은 도메인의 DNS에 TXT 레코드로 게시됩니다. 도메인마다 SPF 레코드가 정확히 하나만 있어야 합니다.

기본적인 예시는 다음과 같습니다:

; DNS TXT record for company.com
company.com.  IN  TXT  "v=spf1 ip4:198.51.100.4 include:_spf.google.com -all"

수신 서버의 SPF 확인 방법

수신 서버가 메시지를 받으면 다음과 같이 SPF를 확인합니다:

  • 봉투 MAIL FROM 도메인(반송 경로)을 읽습니다
  • DNS에서 해당 도메인의 SPF TXT 레코드를 조회합니다
  • 연결 중인 서버의 IP를 승인된 목록과 비교합니다
  • 결과를 반환합니다: 통과, 실패, 소프트 실패, 중립 또는 없음

SPF는 표시되는 발신자 헤더가 아니라 봉투 발신자를 확인한다는 점에 유의하십시오. 이는 뒤에서 다룰 중요한 제한 사항입니다.

SPF 메커니즘

SPF 레코드는 승인된 발신자를 설명하는 메커니즘으로 구성됩니다:

ip4:198.51.100.4      authorize a single IPv4 address
ip4:198.51.100.0/24   authorize an IPv4 range
ip6:2001:db8::/32     authorize an IPv6 range
a                     authorize the domain's A record IP
mx                    authorize the domain's MX servers
include:_spf.vendor   include another domain's SPF (vendors)
all                   matches everything (use with a qualifier)

한정자와 전체 메커니즘

각 메커니즘에는 일치할 때의 결과를 지정하는 한정자가 있을 수 있습니다:

+   Pass     (default if omitted)
-   Fail     (hard fail - reject)
~   SoftFail (mark suspicious, usually accept)
?   Neutral  (no policy stated)

Endings:
-all   reject anything not listed   (strict, recommended)
~all   soft-fail unlisted senders   (monitoring / rollout)
+all   allow everyone               (NEVER use - defeats SPF)

벤더를 위한 포함 메커니즘

대부분의 조직은 타사 서비스를 통해 메일을 보냅니다. 예를 들면 구글 워크스페이스, 마이크로소프트 365, 마케팅 플랫폼, 티켓 관리 시스템 등이 있습니다. 포함 메커니즘은 이러한 벤더의 자체 SPF 레코드에 위임합니다.

예를 들어 include:_spf.google.com은 구글이 승인한 범위를 가져옵니다. 이렇게 하면 레코드를 쉽게 관리할 수 있습니다. 범위는 벤더가 업데이트하므로 직접 관리할 필요가 없습니다.

합법적인 발신 서비스는 모두 포함해야 하며, 그렇지 않으면 해당 서비스의 메일은 SPF에 실패합니다.

DNS 조회 10회 제한

SPF에는 엄격한 제한이 있습니다. 레코드를 평가할 때 DNS 조회는 최대 10회까지만 발생할 수 있습니다. include, a, mx와 같은 메커니즘은 각각 조회를 사용하며, 중첩된 포함 항목은 조회 수를 빠르게 늘립니다.

제한을 초과하면 영구 오류가 발생하고 SPF 검사는 사실상 실패합니다. 해결 방법은 다음과 같습니다:

  • 사용하지 않는 포함 항목 제거
  • SPF 평탄화를 사용하여 포함 항목을 원시 IP 범위로 대체
  • 발신 서비스 통합

SPF와 전달 시 발생하는 문제

SPF에는 잘 알려진 약점이 있습니다. 메일을 전달하면 SPF가 작동하지 않습니다. 메시지가 자동으로 전달되면 전달 서버가 새로운 연결 IP가 되는데, 이 IP는 원래 도메인의 SPF 레코드에 포함되어 있지 않습니다.

그 결과 완전히 합법적인 메시지도 SPF에 실패합니다. 이것이 SPF만으로는 충분하지 않은 주요 이유이며, SPF와 함께 DKIM(전달을 견딤)과 DMARC 정렬이 필요한 이유이기도 합니다.

SPF는 봉투만 확인합니다

중요한 제한 사항은 SPF가 사용자가 보는 표시되는 발신자 헤더가 아니라 봉투 MAIL FROM 도메인을 검증한다는 점입니다.

공격자는 봉투에서 자신의 도메인에 대한 SPF를 통과하면서도 From 헤더에는 여전히 사용자의 도메인을 표시할 수 있습니다. SPF만 사용하면 메시지가 독자에게 위조된 것으로 보이더라도 통과로 처리됩니다.

DMARC는 봉투 도메인 또는 DKIM 도메인이 표시되는 발신자와 정렬되도록 요구하여 이 문제를 해결합니다.

SPF 안전하게 배포하기

합법적인 메일이 차단되지 않도록 SPF를 신중하게 배포하십시오:

  • 사용자 도메인으로 메일을 보내는 모든 서비스 파악
  • 필요한 모든 포함 항목을 사용하여 레코드 작성
  • ~all(소프트 실패)로 시작하고 누락된 발신자를 모니터링
  • 확신이 들면 -all(하드 실패)로 강화
  • DNS 조회 10회 제한 준수

변경하기 전과 후에 메일 검사 도구로 점검하십시오. 잘못된 SPF 레코드는 자신의 메일을 아무런 표시 없이 스팸함으로 보낼 수 있습니다.

현실적인 SPF 레코드

다음은 구글 워크스페이스와 마케팅 및 지원 벤더를 사용하는 조직의 레코드입니다:

company.com.  IN  TXT  "v=spf1 \
  include:_spf.google.com \
  include:sendgrid.net \
  include:_spf.supportvendor.com \
  ip4:198.51.100.4 \
  -all"

; Listed senders pass; everything else hard-fails.

빠른 확인

SPF에 대한 이해도를 확인해 보십시오.

복습

SPF의 작동 방식을 배웠습니다:

  • SPF는 도메인을 대신해 메일을 보낼 권한이 있는 서버 목록을 담은 DNS TXT 레코드를 게시합니다
  • 수신 서버는 연결 IP를 봉투 MAIL FROM 도메인과 대조합니다
  • 메커니즘(IPv4, 주소 조회, 메일 교환 조회, 포함)과 한정자로 구성되며 -all 또는 ~all로 끝납니다
  • DNS 조회 10회 제한, 전달 시 발생하는 문제, 그리고 SPF가 표시되는 발신자가 아니라 봉투만 확인한다는 점에 주의해야 합니다
  • 소프트 실패로 배포하고 모니터링한 다음 하드 실패로 강화합니다

다음에는 DKIM이 메시지에 암호학적으로 서명하는 방법을 배웁니다.

자주 묻는 질문

“SPF 레코드” 강의는 무료인가요?

네 — “SPF 레코드” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“SPF 레코드”에서 뭘 배우나요?

발신 메일 서버를 인증합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“SPF 레코드” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 이메일 스푸핑의 작동 원리
  2. SPF 레코드
  3. DKIM 서명
  4. DMARC 정책과 보고
← Cyber Security Academy(으)로 돌아가기