SPF(Sender Policy Framework)
- 메일서버 정보를 사전에 공개 등록하여, 수신자로 E-mail에 표시된 발송자 정보가 실제 메일서버의 정보와 일치하는지 인증하는 기술.
○ SPF를 이용한 E-mail 인증 절차
발신자 : 자신의 메일서버 정보와 정책을 나타내는 SPF 레코드를 해당 DNS에 등록
수신자 : 이메일 수신시 발송자의 DNS에 등록된 SPF 레코드를 확인하여 해당 이메일에 표시된 발송IP와 대조하고 그 결과 값에 따라 수신여부를 결정 (메일서버나 스팸차단솔루션에 SPF 인증 기능이 설치되어 있어야 함)
※
◇ SPF 레코드 작성 관련
- KISA-RBL은 통합화이트도메인 검증을 위한 SPF Record 체크 시, 개별 IP만 정상적으로 인지하며,
IP 대역으로 지정하게 되면, 실제 자신의 메일 발송 IP 외 다른 IP로 인해 불이익을 당할 수 있다.
◇ SPF 레코드에 IP를 추가하는 방법
● Windows
o 최초등록 SPF : v=spf1 ip4:x.x.x.x -all
o 추가등록 SPF : v=spf1 ip4:x.x.x.x ip4:x.x.x.x -all
● Unix, Linux
o 최초등록 SPF : Domain. IN TXT "v=spf1 ip4:x.x.x.x -all"
o 추가등록 SPF : Domain. IN TXT "v=spf1 ip4:x.x.x.x ip4:x.x.x.x -all"
◇ all 과 ~all의 차이
"-all" : 메일발송IP를 위조하여 보내진 메일을 수신메일서버에서 drop 하라.
"~all" : 메일발송IP를 위조하여 보내온 메일을 수신메일서버정책에 따라 결정하라.
~ 과 - 의 차이는 수신서버에서 발송도메인의 SPF Record값을 벗어나는 메일을 수신하게 되었을 때
어떻게 처리 할지 발송도메인서버에서 결정하는 내용입니다.
정상적으로 발송도메인을 관리하는 도메인서버에 SPF Record를 설정하였다면 메일발송에 전혀 문제가 없다.
단, SPF Record에 발송 IP가 누락/ SPF Record 설정자체에 문제가 있다면 메일발송에 문제가 있을 수 있다.
◇ SPF 설정 설명
구 분 |
내 용 |
all |
앞의 설정 이외의 나머지를 뜻 함. -all [fail] : 앞의 조건과 맞지 않으면 Deny ~all [soft fail]: 앞의 조건과 맞지 않으면, 특정 헤더를 남기고 통과 +all [pass]: 무조건 통과. 아무런 기호가 없으면, Default 값 ?all [neutral]: 신경쓰지 않음 |
a |
a레코드에 지정된 IP와 매칭을 비교 Ex) v=spf1 a:plming.co.kr -all |
mx |
mx레코드에 지정된 IP와 매칭을 비교 Ex) v=spf1 mx:plming.co.kr -all |
ptr |
ptr레코드에 지정된 IP와 매칭을 비교 Ex) v=spf1 ptr:plming.co.kr -all |
ip4 |
ipv4 규약의 IP주소와 비교 Ex) v=spf1 ip4:100.100.100.100 -all |
ip6 |
ipv6 규약의 IP주소와 비교 Ex) v=spf1 ipv4:20.20.20.20.20.20. -all |
include |
지정된 도메인의 TXT레코드의 값을 가져와 비교 Ex) v=spf1 include:plming.co.kr -all |
※ SPF 레코등에 개별 IP대신에 /24 등을 이용하여 대역으로 지정이 문법적으로는 가능하지만 KISA-RBL은 통합화이트도메인
검증을 위한 SPF Record 체크 시에 개별 IP만 정상적으로 인지하기 때문에 IP를 대역으로 지정하게되면, 실제 자신의 메일
발송 IP외 다른 IP로 인해 불이익을 당할 수 있다.
◇ SPF Record 출판시 주의사항
o UDP 패킷이 512byte 초과시 buffer overflow 발생하기 때문에 IP는 13개 이상 등록시 오류가 발생합니다 .
o -all(또는 ~all)은 문장 끝에 한번만 쓴다.
o 오탈자 조심(자주 틀리는 철자 : sfp.. )
o IN, TXT 등의 문자는 Unix, BIND, Linux에서 설정하는 것이므로 Windows에서는
v=spf1 ip4:1.2.3.4 ip4:1.2.3.5 -all
이외의 문자가 들어갈 수 없다.
ㅁ 공백(space) 문자 주의사항
o v=spf (※주의 : v?=?spf 처럼 공백 입력 시 오류발생)
o spf1?ip4:x.x.x.x
o ip4:x.x.x.x?ip4:x.x.x.x
o ip4:x.x.x.x?-all
※ Tab 키 사용하지 말 것
■ White Domain ○ 스팸이 아닌, 정상적인 다량의 이메일이 스팸으로 인식되어 RBL로 간주되는 것을 예방하기 위하여, 사전에 신청하여 등록된 개인/사업자에 한해 국내 주요 포탈사이트로의 이메일 전송을 보장하는 제도. ○ 단, 최초의 White Domain으로 등록된 경우에도 모니터링을 통해 이후, White Domin에서 삭제될 수 있다. ※ White Domain에서의 삭제가 즉시 RBL 등록은 아니며, White Domain에서 삭제되더라도 스팸이력 모니터링이 되지않으면, 메일발신이 차단되지는 않는다. ■ White Domain 등록요건 ○ 해당 DNS에 SPF 레코드를 출판한 도메인에 한해서 등록 가능. 이는 SPF를 통해 이메일 발신지 인증을 통한 도메인의 신뢰도 평가 및 관리를 위해서 반드시 필요로 함. RBL (Real-time Blocking List)
- 이메일 수신 시에, 스팸여부를 판단하여 차단할 수 있도록 제공되는 스팸발송 IP 리스트 뜻함.
- 대체로 DNS Lookup을 통하 확인하는 방식으로 이용하여 DNSBL(DNS-based Blackhole List)라고도 함.
- 국내에서는 현재 한국 인터넷 진흥원(KISA)에서 운영하는 KISA-RBL이 있다. (1시간 단위 업데이트)