✅ SPF란?
SPF(Sender Policy Framework)는 이메일 발신자의 도메인을 인증하는 DNS 설정입니다.
허용된 IP만 내 도메인을 사용해 메일을 보낼 수 있도록 설정하여 스푸핑(도메인 사칭)을 방지합니다.
왜 SPF가 필요할까?
| 항목 | 설명 |
|---|---|
| SMTP 한계 | 이메일 기본 전송 프로토콜(SMTP)은 발신자 주소를 인증하지 않음 |
| 스푸핑 위험 | 누구나 내 도메인을 사칭해 이메일을 보낼 수 있음 |
| SPF 역할 | 내 도메인에서 메일 보낼 수 있는 IP만 허용 (DNS에 기록) |
| 수신자 서버 | 이메일 수신 시 SPF 레코드와 발신 IP 비교 후 통과 여부 판단 |
| 부작용 | SPF 없으면 메일이 스팸 처리되거나 거부될 수 있음 |
🧪 SPF 작동 방식 예시
🧾 SPF 레코드 구성 예시
v=spf1 ip4:192.0.2.0 ip4:192.0.2.1 include:examplesender.email -all
🧾 SPF 레코드 구성 요소
| 구성 요소 | 설명 |
|---|---|
v=spf1 | SPF 레코드의 버전 (필수) |
ip4:192.0.2.0 | 허용된 발신자 IP |
include:examplesender.email | 제3자의 SPF 레코드를 포함하여 인증 허용 |
-all | 위 목록 외 발신자는 모두 거부 |
~all은 "스팸으로 표시하지만 수락", +all은 "모든 발신 허용"이란 의미이므로 주의해야 함
자세한 내용은 공식 SPF 문서 참고!
https://datatracker.ietf.org/doc/html/rfc7208
⚠️ SPF 작성 시 주의사항
🎯 SPF를 설정하는 목적
| 목적 | 설명 |
|---|---|
| 피싱·스푸핑 방지 | 내 도메인을 사칭한 공격 차단 |
| 이메일 전달률 향상 | SPF 없으면 메일이 스팸 처리되거나 반송될 가능성 있음 |
| DMARC·DKIM 연계 | 이메일 인증 체계(DMARC)의 구성 요소 중 하나로 함께 사용 가능 |