DCC로 안티스팸 기능 확장하기

by 햇빛소년 posted Mar 18, 2011 Views 51690 Likes 0 Replies 0
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

국산 통나무 수공예 남원제기, 남원목기

자료가 도움이 되셨다면
혼수용품제수용품 필요시
남원제기 공식 홈페이지 http://남원제기.kr
남원목기 공식 홈페이지 http://otchil.kr
에서 구매 해 주세요
정성껏 모시겠습니다.
 
DCC로 안티스팸 기능 확장하기

    스팸의 지능이 높아질수록 이에 대응하기 위한 안티스팸 기법도 계속 발전하고 있다. 이번에는 여러 가지 기법 중 DCC에 대해 살펴보도록 하자.

     

    스팸의 지능이 높아질수록 이에 대응하기 위한 안티스팸 기법도 계속 발전하고 있다. 이번에는 여러 가지 기법 중 DCC에 대해 살펴보도록 하자.


    DCC는 Distributed Checksum Clearinghouse의 약자로 http://www.dcc-servers.net/dcc/에서 운영되고 있다. DCC는 수신되는 메일에 대해 체크섬을 계산해 스팸 여부를 판단하는 것으로, SURBL 등과 같이 전세계적으로 공유되는 스팸 데이터베이스라고 생각하면 된다. 그래서 메일이 수신될 때마다 DCC 서버와 수신되는 메일에 대한 체크섬 정보를 함께 주고받는데, 이때 사용되는 패킷은 DNS보다 작은 100바이트 정도밖에 되지 않기 때문에 성능이나 속도 등에 영향을 주지는 않는다.


    여기서는 가장 많이 사용되는 스팸어세신에 DCC를 활용하는 방법에 대해 살펴보도록 하자. 최근 버전의 스팸어세신은 DCC의 라이선스 문제로 기본값이 ‘disable’로 설정돼 있는데, 이를 활성화하려면 /etc/mail/spamassassin 디렉토리내 config 파일에 다음의 내용을 추가한다.

     

    loadplugin Mail::SpamAssassin::Plugin::DCC

     

    그리고 홈페이지에서 최신 버전의 소스 파일을 다운로드해 다음과 같이 설치한다.

     

    # wget http://www.dcc-servers.net/dcc/source/dcc.tar.Z
    # tar zxvfp dcc.tar.Z
    # cd dcc-1.x.xx
    # ./configure ; make install

     

    이후 /etc/mail/spamassassin/local.cf 파일과 같은 config 파일을 열어 다음 내용을 추가한다.

     

    use_dcc               1
    score DCC_CHECK    2

     

    여기에서 use_dcc는 DCC 기능을 사용하겠다는 의미이며, use_dcc를 0으로 설정하면 ‘disable’ 상태가 된다. 그리고, DCC_CHECK 의 값을 2로 설정했다.


    이제 DCC가 잘 작동하는지 확인해 보기 위해 메일헤더와 메시지 등을 포함한 완전한 메일을 txt 파일로 저장한 후 다음과 같이 실행해 보기 바란다.

     

    # dccproc < 1.txt | grep DCC
    X-DCC-INFN-TO-Metrics: vwall3.tt.co.kr 1233; Body=many Fuz1=many Fuz2=many

     

    이렇게 DCC에 대한 정보가 출력되면 정상적으로 작동하는 것이다. 또는 tcpdump로 확인해 볼 수도 있는데, DCC는 체크섬 확인을 위해 6277/udp를 사용하기 때문에 다음과 같이  실행시에 패킷이 보이면 정상적으로 작동하는 것이다.

     

    # tcpdump port 6277

     

    잠시 후 수신되는 스팸 메일의 헤더를 살펴보기 바란다.
    다음 메일의 경우 단순한 텍스트 스팸이었는데, DCC_CHECK라는 이름으로 스팸으로 판명된 것을 알 수 있다.

     

    X-Spam-Report:
     * -0.0 SPF_HELO_PASS SPF: HELO matches SPF record
     * -0.0 SPF_PASS SPF: sender matches SPF record
     *  2.0 DATE_IN_FUTURE_03_06 Date: is 3 to 6 hours after Received:                     date
     *  0.0 UNPARSEABLE_RELAY Informational: message has unparseable                      relay ines
     *  1.1 SARE_RMML_Stock26 BODY: SARE_RMML_Stock26
     *  1.7 SARE_MLB_Stock4 BODY: SARE_MLB_Stock4
     *  2.0 DCC_CHECK Listed in DCC (
    http://rhyolite.com/anti-spam/dcc/)
     *  1.7 STOCK_NAME_FVGT1 STOCK_NAME_FVGT1

     

    이외 DCC와 비슷한 기술로는 Pyzor(http://pyzor.sf.net/)와 Razor(http://razor.sf.net/)가 있는데, DCC와 함께 활발하게 운영되고 있는 Razor에 대해 간략히 살펴보도록 하자.


    Razor는 사용자들이 수신하는 스팸 메일을 여러 경로로 보고하면, 그 메일의 여러 식별값들을 계산해 데이터베이스화한다. 사용자들은 수신되는 메일이 스팸인지 여부를 판단하기 위해 수신한 메일의 식별값을 계산해 이 데이터베이스에 있으면 스팸, 없으면 정상 메일로 판단하는 것이다.


    razor는 sendmail에 필터 형식으로 설치할 수도 있지만, 여기서는 스팸어세신에 모듈로 설치하는 방법을 살펴보도록 하겠다. 먼저 Razor를 설치하려면 홈페이지에서 최신 버전의 소스파일을 다운로드 및 압축해제 한 후 다음과 같이 설치하면 된다.

     

    # tar zxvfp razor-agents-sdk-2.07.tgz
    # cd razor-agents-sdk-2.07
    # perl Makefile.PL
    # make; make install

    # tar zxvfp razor-agents-2.82.tgz
    # cd razor-agents-2.82
    # perl Makefile.PL ; make; make install
    # razor-admin -create
    # razor-admin -register

     

    그리고 스팸어세신에서 razor2 모듈을 사용하도록 config에서 다음과 같이 지정해 준다.

     

    loadplugin Mail::SpamAssassin::Plugin::Razor2

     

    이후 /etc/mail/spamassassin/local.cf 파일과 같은 config 파일을 열어 다음과 같이 추가하도록 한다.

     

    use_razor2      1
    score  RAZOR2_CHECK 2

     

    잘 작동하는지 확인하려면 다음과 같이 실행시 razor2 부분이 다음과 같이 보이면 된다.

     

    # spamassassin -t -D < mail.txt
    [31648] dbg: razor2: razor2 is available, version 2.82
    [31648] dbg: plugin: registered Mail::SpamAssassin::Plugin::Razor2=HASH(0x8cd1460)
    [31648] dbg: razor2: razor2 check timed out after 5 seconds
    [31648] dbg: razor2: results: spam? 0
    [31648] dbg: razor2: results: engine 8, highest cf score: 0
    [31648] dbg: razor2: results: engine 4, highest cf score: 0

     

    razor2는 2703/tcp를 사용하므로 다음과 같이 패킷이 보이는지 확인해도 된다.

     

    # tcpdump port 2703

     

    지금까지 살펴본 DCC나  Razor (http://razor.sf.net/) 이외에도 greylist 등 많은 스팸 방지 기술들이 있으니, 함께 적용한다면 스팸에 대한 스트레스를 조금이라도 줄이는데 도움이 될 것이다.