DNS SPF 레코드란?

오승우/Andrew·2025년 4월 16일

DNS

목록 보기
1/3

SPF란?

SPF(Sender Policy Framework)는 이메일을 보낼 수 있는 ‘허용된 발신 서버 목록’을 DNS에 등록하는 것입니다.

왜 필요할까?

이메일을 보내는 데 쓰이는 SMTP는 원래 누가 보냈는지 확인하지 않는 시스템입니다. 그래서 누군가가 네이버, 카카오, 당신 회사 도메인을 가짜로 꾸며서 이메일을 보낼 수도 있어요. 이걸 스푸핑(Spoofing)이라고 해요.


이메일(SMTP)의 태생적 한계: 발신자 인증이 없음

이메일을 주고받을 때 SMTP(Simple Mail Transfer Protocol) 라는 통신 규약이 사용됩니다. 그런데 SMTP는 원래 보안을 고려하지 않고 설계된 프로토콜이라서,

다음과 같은 문제가 있습니다: 아무나 발신자(From)를 쓸 수 있음
예시 상황:
공격자가 실제로는 badguy@hacker.com이지만, 메일을 보낼 때 From: ceo@company.com이라고 바꿔 보냄 SMTP 자체는 이 발신자가 진짜인지 확인하지 않음
결과:
받는 사람은 '회사 CEO가 보낸 메일인가?' 라고 착각할 수 있음

2. SPF란 무엇인가?

🛡️ SPF(Sender Policy Framework)는 ‘발신 도메인 인증’ 수단입니다.
company.com이라는 도메인 관리자는 DNS에 다음과 같이 선언할 수 있음:

v=spf1 include:amazonses.com -all

의미: "내 도메인(company.com) 이름으로 메일을 보내려면 이 목록에 있는 서버(IP나 도메인) 에서만 허용하겠다."

누가 검사하는가?

메일을 받은 수신 메일 서버(예: gmail.com, naver.com) 가 이 메일의 발신 주소가 ceo@company.com인데, 진짜 company.com이 허용한 서버에서 왔는지 DNS를 조회해서 SPF 정책을 검사함

3. 그래서 SPF가 없다면?

누구든지 쉽게 From 주소만 바꿔서 보낼 수 있음 (ceo@company.com)수신자는 그걸 진짜 메일로 착각하고 열어볼 수 있음 이로 인해 피싱, 사기, 악성 코드 유포 등의 위험이 발생

4. 요약 정리

항목 설명
SMTP 기본 이메일 송수신 프로토콜. 발신자 인증 기능이 없음
위협 누구나 From 주소를 위조할 수 있음 (스푸핑)
SPF 내 도메인에서 메일 보낼 수 있는 공식 메일 서버 목록을 DNS에 명시
수신자 역할 메일 수신 시, 발신자의 IP가 SPF에 등록된 것인지 확인
SPF 없으면 스푸핑에 취약해지고, 보안사고 위험 증가

✅ 예시

From: ceo@nongshim.co.kr
To: employee@company.com
"보안 업데이트를 위해 아래 링크를 눌러 로그인하세요."

이 메일이 실제로 badguy.com에서 보낸 거라도 SPF가 없다면 수신 서버는 그걸 막을 방법이 없음

하지만 SPF가 설정돼 있다면:
→ 'badguy.com IP에서 nongshim.co.kr 메일이 왔네?' → SPF 위반 → BLOCK

항목설명
SMTP기본 이메일 송수신 프로토콜. 발신자 인증 기능이 없음
위협누구나 From 주소를 위조(스푸핑)할 수 있음
SPF내 도메인에서 메일 보낼 수 있는 공식 메일 서버 목록을 DNS에 명시
수신자 역할메일 수신 시, 발신자의 IP가 SPF에 등록된 서버인지 확인
SPF 없으면스푸핑에 취약하고, 피싱·사기 메일 등 보안 사고 위험 증가
profile
IT Adventurer

0개의 댓글