📥 트래킷 서비스 소개서 받아보기
logo
|
Blog
    WIKI

    SPF란? 이메일 발신 도메인 보호

    SPF(Sender Policy Framework)란? 도메인 대신 이메일을 보낼 수 있는 서버 목록을 DNS에 등록하는 이메일 인증 기술의 정의, 작동 원리, 레코드 작성법, DKIM·DMARC와의 차이까지 정리합니다.
    제니's avatar
    제니
    Oct 03, 2025
    SPF란? 이메일 발신 도메인 보호
    Contents
    도입SPF란? — 한 줄 정의왜 SPF가 필요한가요?SPF는 어떻게 작동하나요?1단계: 도메인 소유자가 SPF 레코드 게시2단계: 이메일 발송3단계: 수신 서버가 SPF 레코드 확인4단계: 결과 판정SPF 레코드 구성 요소주요 메커니즘한정자 (Qualifier)SPF 레코드 읽는 법 — 실전 예시SPF vs DKIM vs DMARC — 뭐가 다른가요?SPF 설정하는 법1. 이메일 발송 서비스 목록 정리2. SPF 레코드 작성3. DNS에 TXT 레코드 등록4. 테스트 및 검증SPF 설정 시 주의사항SPF의 한계SPF가 B2B 비즈니스에 미치는 영향핵심 요약관련 글

    도입

    어느 날 고객으로부터 연락이 옵니다.
    "귀사에서 이상한 이메일을 받았는데, 이거 진짜인가요?"

    확인해 보니, 누군가가 우리 회사 도메인(@yourcompany.com)을 사칭하여 피싱 메일을 보내고 있습니다.
    이메일 시스템은 기본적으로 "보낸 사람" 주소를 검증하는 기능이 없기 때문에, 아무나 우리 도메인을 넣어서 이메일을 보낼 수 있습니다.

    이런 이메일 스푸핑(Email Spoofing)을 방지하는 첫 번째 방어선이 바로 SPF(Sender Policy Framework)입니다.

    SPF란? — 한 줄 정의

    SPF(Sender Policy Framework)란, 도메인 소유자가 "이 도메인으로 이메일을 보낼 수 있는 서버 목록"을 DNS에 공개하여, 수신 서버가 허용되지 않은 서버에서 온 이메일을 식별할 수 있게 하는 이메일 인증 기술입니다.

    • 쉽게 말해, "방문자 명단"입니다 — 우리 도메인 대신 이메일을 보낼 수 있는 서버를 미리 등록해 둡니다

    • 수신 메일 서버는 이 명단을 확인하여, 명단에 없는 서버에서 온 이메일을 의심스러운 메일로 처리합니다

    • DNS TXT 레코드로 게시합니다

    • DKIM, DMARC와 함께 이메일 인증의 3대 표준을 구성합니다

    왜 SPF가 필요한가요?

    이메일 프로토콜(SMTP)은 1980년대에 설계되었고, 발신자 인증 기능이 없습니다.
    누구든 "보낸 사람" 필드에 아무 이메일 주소를 넣어서 보낼 수 있습니다.

    SPF가 있을 때

    SPF가 없을 때

    허용된 서버 목록에 없는 발신은 실패 처리

    누구든 우리 도메인으로 이메일 발송 가능

    도메인 사칭(스푸핑) 시도를 수신 서버가 탐지

    사칭 이메일과 정상 이메일을 구분할 수 없음

    도메인 평판(Reputation) 보호에 기여

    스팸 발송자가 도메인 평판을 훼손

    이메일 전달률(Deliverability) 향상

    정상 이메일도 스팸으로 분류될 가능성 높음

    DMARC 정책 적용의 토대

    DMARC를 적용해도 SPF 검증 불가

    2024년부터 Google, Yahoo, Microsoft는 대량 발송자에게 SPF, DKIM, DMARC를 모두 필수로 요구합니다. SPF가 없으면 이메일이 거부되거나 스팸으로 분류될 수 있습니다.

    SPF는 어떻게 작동하나요?

    1단계: 도메인 소유자가 SPF 레코드 게시

    • 도메인의 DNS에 허용된 발신 서버 목록을 TXT 레코드로 게시합니다

    • 예: v=spf1 ip4:192.168.1.100 include:_spf.google.com -all

    2단계: 이메일 발송

    • 이메일이 발송되면, 발신 서버의 IP 주소가 이메일과 함께 전달됩니다

    3단계: 수신 서버가 SPF 레코드 확인

    • 수신 메일 서버가 이메일의 Return-Path(반송 주소) 도메인에서 SPF 레코드를 DNS로 조회

    • 발신 서버의 IP 주소가 SPF 레코드의 허용 목록에 있는지 확인

    4단계: 결과 판정

    • Pass: 발신 IP가 허용 목록에 있음 → 정상

    • Fail: 허용 목록에 없음 → SPF 레코드의 정책에 따라 처리

    • SoftFail: 허용 목록에 없지만 엄격하게 거부하지는 않음 (테스트 단계에서 주로 사용)

    • Neutral: 판단 보류

    SPF 레코드 구성 요소

    SPF 레코드는 여러 메커니즘(Mechanism)과 한정자(Qualifier)로 구성됩니다.

    주요 메커니즘

    메커니즘

    의미

    예시

    ip4

    특정 IPv4 주소 또는 범위를 허용

    ip4:203.0.113.0/24

    ip6

    특정 IPv6 주소 또는 범위를 허용

    ip6:2001:db8::/32

    include

    다른 도메인의 SPF 레코드를 참조

    include:_spf.google.com

    a

    도메인의 A 레코드 IP를 허용

    a:mail.example.com

    mx

    도메인의 MX 레코드 서버를 허용

    mx

    all

    위 규칙에 해당하지 않는 모든 발신에 대한 기본 정책

    -all

    한정자 (Qualifier)

    한정자

    의미

    사용 예

    + (Pass)

    허용 (기본값, 생략 가능)

    +ip4:1.2.3.4

    - (Fail)

    허용되지 않음 → 거부

    -all

    ~ (SoftFail)

    허용되지 않지만 엄격히 거부하지 않음

    ~all

    ? (Neutral)

    판단 보류

    ?all

    실전 팁: SPF 레코드 끝의 all 앞 한정자가 핵심입니다. -all은 "목록에 없으면 거부", ~all은 "목록에 없으면 의심하되 일단 받아줘"입니다. 최종 목표는 -all이지만, 처음에는 ~all로 시작하여 정상 이메일이 차단되지 않는지 확인하는 것이 안전합니다.

    SPF 레코드 읽는 법 — 실전 예시

    실제 SPF 레코드를 하나 분석해 보겠습니다.

    v=spf1 ip4:203.0.113.5 include:_spf.google.com include:servers.mcsv.net ~all

    부분

    의미

    v=spf1

    SPF 버전 1 (항상 이것으로 시작)

    ip4:203.0.113.5

    이 IP 주소의 서버에서 보내는 이메일을 허용

    include:_spf.google.com

    Google Workspace의 메일 서버를 허용

    include:servers.mcsv.net

    Mailchimp의 메일 서버를 허용

    ~all

    위 목록에 없는 서버에서 보낸 이메일은 SoftFail 처리

    SPF vs DKIM vs DMARC — 뭐가 다른가요?

    구분

    SPF

    DKIM

    DMARC

    핵심 질문

    "이 서버가 이 도메인으로 메일을 보낼 권한이 있는가?"

    "이메일이 변조되지 않았는가?"

    "인증 실패 시 어떻게 처리할 것인가?"

    검증 대상

    발신 서버 IP 주소

    이메일 콘텐츠 무결성 + 발신 도메인

    SPF/DKIM 결과 + From 주소 정렬

    비유

    방문자 명단

    위조 방지 도장

    경비 지침

    DNS 레코드

    TXT (도메인)

    TXT (selector._domainkey.도메인)

    TXT (_dmarc.도메인)

    단독 사용 시 한계

    이메일 내용 변조 감지 불가, From 주소 정렬 미검증

    인증 실패 시 처리 정책 없음

    SPF 또는 DKIM 없이는 작동 불가

    세 가지가 함께 작동해야 완전한 보호가 됩니다. SPF는 "허용된 서버인가?", DKIM은 "내용이 진짜인가?", DMARC는 "실패하면 어떻게 할 것인가?"를 각각 담당합니다. 하나만 있으면 빈틈이 생깁니다.

    SPF 설정하는 법

    1. 이메일 발송 서비스 목록 정리

    • 우리 도메인으로 이메일을 보내는 모든 서비스를 파악합니다

    • 자체 메일 서버, Google Workspace, Microsoft 365, 마케팅 도구(Mailchimp, HubSpot 등), CRM, 고객 지원 도구, 트랜잭션 이메일 서비스 등

    • 빠뜨리면 해당 서비스의 이메일이 SPF 실패 처리됩니다

    2. SPF 레코드 작성

    • v=spf1로 시작하고, 각 서비스의 IP 또는 include 도메인을 추가합니다

    • 마지막에 ~all(SoftFail) 또는 -all(Fail)을 붙입니다

    • 처음에는 ~all로 시작하여 테스트 후 -all로 강화하는 것을 권장합니다

    3. DNS에 TXT 레코드 등록

    • 도메인의 DNS 관리 콘솔에서 TXT 레코드를 추가합니다

    • 호스트: @ 또는 빈칸 (도메인 루트)

    • 값: 작성한 SPF 레코드 전체

    4. 테스트 및 검증

    • 테스트 이메일을 보내고 이메일 헤더에서 SPF 결과를 확인

    • Gmail에서 "원본 보기"로 Received-SPF: pass 여부를 확인

    • 온라인 SPF 검증 도구(MXToolbox 등)로 레코드 문법 확인

    SPF 설정 시 주의사항

    ❌ 하지 마세요

    ✅ 이렇게 하세요

    하나의 도메인에 여러 개의 SPF 레코드 게시

    SPF 레코드는 반드시 1개만 — 여러 서비스는 하나의 레코드에 통합

    DNS Lookup 10개 제한 초과

    include, a, mx 등 DNS 조회가 필요한 메커니즘은 총 10개까지만 가능

    서드파티 서비스를 SPF에 추가하지 않음

    우리 도메인으로 메일 보내는 모든 서비스를 빠짐없이 포함

    SPF만 설정하고 DKIM, DMARC는 무시

    SPF + DKIM + DMARC 세 가지를 모두 설정

    설정 후 방치하고 새 서비스 추가 시 갱신 안 함

    새로운 이메일 발송 서비스 도입 시 즉시 SPF 레코드에 반영

    처음부터 -all로 시작

    ~all로 시작하여 테스트 후 -all로 강화

    DNS Lookup 10개 제한은 가장 흔한 실수입니다. include, a, mx, redirect 등 DNS 조회가 필요한 메커니즘은 총 10개까지만 허용됩니다. 이를 초과하면 SPF 검증 자체가 실패(PermError)합니다. ip4, ip6는 DNS 조회가 아니므로 제한에 포함되지 않습니다.

    SPF의 한계

    SPF는 이메일 인증의 중요한 첫 단계지만, 단독으로는 완벽하지 않습니다.

    • From 주소를 검증하지 않음: SPF는 Return-Path(봉투 발신 주소)를 검증하지만, 사용자가 실제로 보는 "보낸 사람(From)" 주소는 검증하지 않습니다. DMARC의 정렬(Alignment) 기능이 이 갭을 메웁니다

    • 이메일 내용 변조 감지 불가: SPF는 발신 서버만 확인하고, 이메일 내용이 중간에 변조되었는지는 알 수 없습니다. 이것은 DKIM의 역할입니다

    • 이메일 전달(Forwarding) 시 깨짐: 이메일이 전달되면 발신 서버 IP가 바뀌므로 SPF가 실패할 수 있습니다

    • DNS Lookup 10개 제한: 많은 서드파티 서비스를 사용하면 제한에 도달하기 쉽습니다

    SPF가 B2B 비즈니스에 미치는 영향

    • 콜드 이메일 전달률: SPF가 없으면 아웃바운드 영업 이메일이 스팸함으로 직행할 가능성이 높습니다

    • 마케팅 이메일: 뉴스레터, 프로모션 이메일의 도달률에 직접 영향

    • 거래 이메일: 주문 확인, 비밀번호 재설정 등 중요한 거래 이메일이 전달되지 않을 수 있습니다

    • 도메인 평판: SPF 없이 사칭당하면 도메인 블랙리스트에 올라갈 위험

    • 파트너/고객 신뢰: 보안에 민감한 B2B 고객은 이메일 인증 여부를 확인합니다

    핵심 요약

    항목

    내용

    SPF란

    도메인 대신 이메일을 보낼 수 있는 서버 목록을 DNS에 게시하는 인증 기술

    작동 원리

    수신 서버가 발신 IP를 SPF 레코드의 허용 목록과 대조

    레코드 위치

    DNS TXT 레코드 (도메인 루트)

    DKIM과의 차이

    SPF는 "누가 보냈는가(서버)", DKIM은 "변조되지 않았는가(콘텐츠)"

    DMARC와의 관계

    DMARC는 SPF/DKIM 결과 + From 주소 정렬을 확인하고 정책을 적용

    주의사항

    레코드 1개만, DNS Lookup 10개 제한, 모든 발송 서비스 포함

    비유

    "방문자 명단" — 허용된 서버만 우리 이름으로 메일을 보낼 수 있음

    관련 글

    • DKIM이란? 이메일 인증의 기초

    • DMARC란? 이메일 보안 설정 가이드

    • 콜드 이메일 가이드: 아웃바운드 영업의 시작

    • SDR·BDR·AE란? 영업 조직의 핵심 역할

    • Sales Enablement란? 영업 성과를 극대화하는 전략

    Share article

    엔터프라이즈를 위한 커스텀 영업 CRM, 트래킷

    RSS·Powered by Inblog