커피닉스, 시스템 엔지니어의 쉼터
  메일주소 변조는 no, SPF(Sender Policy Framework)기술에 대해 작성일 : 2005/08/03 15:44
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 14196
     
    제  목 : 메일주소 변조는 no, SPF(Sender Policy Framework)기술에 대해
    작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2005.8.3(수) 오후


    상쾌한 아침에 스팸메일로 가득찬 메일함을 열 때 마다 클릭과 삭제의 반복으로 짜증난 하루를 시작한 적은 없는지?

    - Antivirus
    - RBL, SURBL
    - procmail, byspam통한 스팸필터링
    - joe job attack에 대한 방어 설정
    - spamassassin활용한 점수제 메일 필터링

    등 다양한 방법들로 메일 필터링을 하는데 오늘은 SPF에 대해 알아보겠다.

    1. SPF(Sender Policy Framework)란

    10개의 포털사이트가 SPF기술을 통해서 스팸메일을 필터링할 계획이라는 오늘자 기사를 봤다.
    Meng Weng Wong에 의해 2003년에 시작된 SPF기술은 메일의 헤더를 보고 실제 해당 메일서버에서 보내진
    것인지를 판단하여 메일 수신을 막는 방법이다.

    예를 들어
    메일의 From 헤더에 foo@spammer.com 라고 적혀있으면
    spammer.com 을 관리하는 DNS를 통해서
    해당 메일이 실제 spammer.com에서 설정한 IP와 수신된 메일헤더의 IP와 비교해서 다르면 수신을 거부하게
    된다. 즉, 실제로 hanmail.net에서 보내지 않지 않았으면서 메일주소는 @hanmail.net 로 속여서 발송되는
    메일은 필터링이 가능하게 되는 것이다.

    사진출처 : http://pm-lib.sourceforge.net/


    2. SPF 기술 적용위한 DNS 설정

    SPF 기술을 적용하기 위해서는 메일서버를 운영중인 사이트의 DNS에는 TXT 레코드 설정이 필요하다.
    이 설정은 다른 메일수신서버들에게 SPF정책을 통해 메일을 필터링하도록 도움을 주기위한 설정이지
    본인의 메일서버로 수신된 메일이 필터링되도록 설정하는 것이 아니니, DNS 설정했다고 '어~ 필터링이
    안되지'하고 헛삽집하지 말기 바란다.

    SPF 기술을 적용하겠다고 보도된 10개의 포털 사이트에 대해 DNS 설정을 확인한 결과 5곳의 DNS에는
    이미 TXT 설정이 되어 있었다.

    ※ 10개 포털 사이트
       nownuri.net, hanmail.net, chol.com, dreamwiz.com, empas.com(empal.com),
       korea.com, hotmail.com, paran.com, naver.com, nate.com

     
    # dig txt 도메인
     


     
    ;; ANSWER SECTION:
    korea.com.              1759    IN      TXT     "v=spf1 mx ip4:210.117.14.85 ip4:211.109.1.111
    ip4:211.109.1.113 ip4:211.109.1.114 ip4:211.109.1.115 ip4:211.109.1.151 ip4:211.109.1.152
    ip4:211.109.11.35 ip4:211.109.11.40 ip4:211.109.2.50 ip4:211.109.2.51 ~all"

    ;; ANSWER SECTION:
    nownuri.net.            10800   IN      TXT     "v=spf1 a:203.238.128.57 a:203.238.128.90 ~all"

    ;; ANSWER SECTION:
    chol.com.               3600    IN      TXT     "v=spf1 ip4:203.252.3.0/24 ~all"

    ;; ANSWER SECTION:
    dreamwiz.com.           900     IN      TXT     "v=spf1 ip4:211.39.128.0/24 a mx ptr ~all"

    ;; ANSWER SECTION:
    hotmail.com.            3600    IN      TXT     "v=spf1 include:spf-a.hotmail.com include:spf-b.hotmail.com

    include:spf-c.hotmail.com include:spf-d.hotmail.com ~all"

    ;; ANSWER SECTION:
    spf-a.hotmail.com.      2590    IN      TXT     "v=spf1 ip4:209.240.192.0/19 ip4:65.52.0.0/14
    ip4:131.107.0.0/16 ip4:157.54.0.0/15 ip4:157.56.0.0/14 ip4:157.60.0.0/16 ip4:167.220.0.0/16
    ip4:204.79.135.0/24 ip4:204.79.188.0/24 ip4:204.79.252.0/24 ip4:207.46.0.0/16 ip4:199.2.137.0/24 ~all"
     


    저 설정을 보고 어떻게 TXT를 설정해야하는지 눈치를 챘을 것이다.

    ----------  ---------------------------------------------------------------------------
    methods     설  명
    ----------  ---------------------------------------------------------------------------
    v=spf1      SPF의 버전
    ip4         메일을 송신하는 IP주소들. 211.39.128.0/24처럼 CIDR형태로 표시 가능
    a           DNS의 A  레코드로 설정한 IP주소를 sender로 설정
                예를 들어 dreamwiz.com라면
                dreamwiz.com의 IP 211.39.128.129와 211.39.128.129을 sender로 판단함을 의미
                a:foo.com 처럼 도메인을 지정할 수도 있다.
    mx          MX 레코드에 지정한 IP주소들을 sender로 판단하라는 의미
    ptr         IP에 대해 lookup을 하여 PTR 레코드에 지정되어 있으면 sender로 판단하라는 의미
    include     지정한 도메인의 TXT 레코드에서 설정을 찾는다.
    ~all        이 method는 TXT 레코드의 끝에 넣어주기 바란다.
    ----------  ---------------------------------------------------------------------------

    보다 자세한 사항은 http://spf.pobox.com/mechanisms.html 를 참조하기 바란다.

    3. 관련 사이트

    * SPF
      http://spf.pobox.com/
      http://spf.pobox.com/faq.html

    * SPF Mechanisms
      http://spf.pobox.com/mechanisms.html

    * An Overview of the Sender Policy Framework
      http://www.msexchange.org/tutorials/Sender-Policy-Framework.html

    * SPF기술을 위한 DNS 설정
      http://www.petri.co.il/sender_policy_framework.htm

    * SPF Council (SPF 기술, 표준에 대해 논의)
      http://spf.mehnle.net/Home_Page

    * SPF 테스트
      http://www.schlitt.net/spf/tests/

    * Domain Registrars and DNS Providers that Support SPF
      http://www.kitterman.com/spf/txt.html

    * sendmail에서 SPF를 위한 설정(Milter-SPF 설치 방법)
      http://spf.pobox.com/sendmail-milter-INSTALL.txt
      http://www.brandonhutchinson.com/Installing_Milter-SPF_with_Sendmail.html



    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=1123