Sun Java System Messaging Server 6 2005Q4 관리 설명서

SpamAssassin 구성 예

이 절에서는 일반적인 몇 가지 SpamAssassin 구성 예를 설명합니다.


주 –

이 예에서는 많은 옵션과 키워드를 사용합니다. 표 14–1표 14–2를 참조하십시오.


Procedure스팸을 별도의 폴더에 정리

이 예에서는 로컬 메일 저장소에서 받는 메일을 테스트하여 스팸을 spam이라는 폴더에 정리합니다. 처음 세 단계는 순서에 관계없이 수행할 수 있습니다.

단계
  1. SpamAssassin 구성 파일을 만듭니다.

    이 파일의 이름과 위치는 단계 2에서 지정합니다. spamassassin.opt라는 이름을 사용하는 것이 좋습니다. 이 파일은 다음과 같은 행으로 구성되어 있습니다.


    host=127.0.0.1
    port=2000
    mode=0
    verdict=spam
    debug=1
                      

    hostportspamd가 실행 중인 시스템의 이름과 spamd가 받는 요청을 수신하는 포트를 지정합니다. mode=0은 메일이 스팸으로 간주될 때 verdict에 지정된 문자열이 반환되도록 지정합니다. debug=1은 SpamAssassin 라이브러리에서 디버깅을 설정합니다. 표 14–4를 참조하십시오.

  2. option.dat 파일에 다음 행을 추가합니다.


    ! for Spamassassin
    spamfilter1_config_file=/opt/SUNWmsgsr/config/spamassassin.opt
    spamfilter1_library=/opt/SUNWmsgsr/lib/libspamass.so
    spamfilter1_optional=1
    spamfilter1_string_action=data:,require "fileinto"; fileinto "$U";
                      

    spamfilter1_config_file은 SpamAssassin 구성 파일을 지정합니다.

    spamfilter1_library는 SpamAssassin 공유 라이브러리를 지정합니다.

    spamfilter1_optional=1은 spamd에 의한 장애가 있더라도 MTA가 작업을 계속하도록 지정합니다.

    spamfilter1_string_action은 스팸 메일에 대해 수행할 Sieve 작업을 지정합니다.

    이 예에서는 기본값이 이미 data:,require "fileinto"; fileinto "$U";로 설정되어 있기 때문에 spamfilter1_string_action은 필요하지 않습니다. 이 행은 스팸 메일을 폴더로 보내도록 지정합니다. 폴더 이름은 SpamAssassin에서 반환되는 스팸 답신 값입니다. SpamAssassin에서 반환되는 값은 spamassassin.optverdict 옵션에 의해 지정됩니다. 단계 1을 참조하십시오. 이 경우 폴더 이름은 spam입니다.

  3. 필터링할 메일을 지정합니다.

    로컬 메일 저장소로 들어오는 모든 메일을 필터링하려면 ims-ms 채널에 destinationspamfilterXoptin spam 키워드를 추가하여 imta.cnf 파일을 변경합니다.


    !
    ! ims-ms
    ims-ms defragment subdirs 20 notices 1 7 14 21 28 backoff "pt5m" "pt10m" 
    "pt30m" "pt1h"  "pt2h" "pt4h" maxjobs 4 pool IMS_POOL fileinto
    $U+$S@$D destinationspamfilter1optin spam
    ims-ms-daemon
  4. 구성을 다시 컴파일하고 서버를 다시 시작합니다. MTA만 다시 시작해야 합니다. stop-msg는 실행할 필요가 없습니다.


    # imsimta cnbuild
    # imsimta restart
    
  5. spamd 데몬을 시작합니다. 이 작업은 다음과 같은 일반적인 명령 형식을 사용하여 수행됩니다.

    spamd -d

    spamd 기본값은 로컬 시스템으로부터의 연결만 허용하는 것입니다. SpamAssassin과 Messaging Server가 서로 다른 시스템에서 실행 중인 경우 이 구문이 필요합니다.

    spamd -d -i listen_ip_address -A allowed_hosts

    여기서 listen_ip_address는 수신할 주소이고 allowed_hosts는 이 spamd 인스턴스에 연결할 수 있는 인증된 호스트 또는 네트워크(IP 주소 사용)의 목록입니다.


    주 –

    spamd가 모든 주소에서 수신하게 하려면 0.0.0.0을 -i listen_ip_address와 함께 사용할 수 있습니다. 시스템의 IP 주소를 변경할 때 spamfilterX_verdict_n으로 인해 명령 스크립트를 변경할 필요가 없기 때문에 모든 주소를 수신하게 하는 것이 좋습니다.


Procedure스팸 메일에 SpamAssassin 점수를 포함하는 헤더 추가

이 예에서는 SpamAssassin에 의해 스팸으로 확인된 메일에 Spam-test: result string 헤더를 추가합니다. 다음은 헤더 예입니다.

Spam-test: True ; 7.3 / 5.0

여기서 Spam-test:는 리터럴이고 그 뒤의 모든 항목은 결과 문자열입니다. True는 스팸임을 의미하고 false는 스팸이 아님을 의미합니다. 7.3은 SpamAssassin 점수입니다. 5.0은 임계값입니다. 이 결과는 특정 점수 이상 또는 사이의 메일을 파일로 저장하거나 삭제할 수 있는 Sieve 필터를 설정할 때 유용합니다.

또한, USE_CHECK0으로 설정하면 답신 문자열과 함께 일치하는 SpamAssassin 테스트 목록이 반환됩니다. 표 14–4의 USE_CHECK를 참조하십시오.

단계
  1. 필터링할 메일을 지정합니다. 이 내용은 스팸을 별도의 폴더에 정리단계 3에 설명되어 있습니다.

  2. SpamAssassin 구성 파일을 만듭니다.

    이 파일의 이름과 위치는 spamfilter_configX_file 을 사용하여 지정합니다(다음 단계 참조). 이 파일은 다음과 같은 행으로 구성되어 있습니다.


    host=127.0.0.1
    port=2000
    mode=1
    field=
    debug=1
                      

    hostportspamd가 실행 중인 시스템의 이름과 spamd가 받는 요청을 수신하는 포트를 지정합니다. mode=1은 메일이 스팸으로 확인되는 경우 SpamAssassin 결과 문자열을 반환하도록 지정합니다. field=는 SpamAssasin 결과 문자열의 문자열 접두어를 지정합니다. 이 예에서는 Sieve 스크립트로 지정하기 때문에 접두어가 필요하지 않습니다. debug=1은 SpamAssassin 라이브러리에서 디버깅을 설정합니다.

  3. option.dat 파일에 다음 행을 추가합니다.


    !for Spamassassin
    spamfilte1r_config_file=/opt/SUNWmsgsr/config/spamassassin.opt
    spamfilter1_library=/opt/SUNWmsgsr/lib/libspamass.so
    spamfilter1_optional=1
    spamfilter1_string_action=data:,require 
    ["addheader"];addheader "Spam-test: $U";
                      
    

    앞의 예와 마찬가지로 처음 세 옵션은 SpamAssassin 구성 파일과 공유 라이브러리를 지정하고 공유 라이브러리에 오류가 있을 경우 MTA 작업을 계속하도록 지정합니다. 다음 행은

    spamfilter1_string_action=data:,require ["addheader"];addheader "Spam-test: $U";

    스팸 메일에 헤더를 추가하도록 지정합니다. 헤더에는 SpamAssassin에서 반환되는 문자열 앞에 Spam-text:라는 문자 접두어가 붙습니다. 이전 단계에서 mode=1로 지정했기 때문에 SpamAssassin 결과 문자열이 반환됩니다. 예를 들면 다음과 같습니다. True; 7.3/5.0입니다.

  4. 구성을 다시 컴파일하고 서버를 다시 시작한 다음 spamd 데몬을 시작합니다.

    SpamAssassin 구성 예를 참조하십시오.

ProcedureSpamAssassin 결과 문자열을 제목 행에 추가

SpamAssassin 결과 문자열을 제목 행에 추가하여 SpamAssassin 점수로 메일을 읽을지 여부를 결정할 수 있습니다. 예를 들면 다음과 같습니다.

Subject: [SPAM True ; 99.3 / 5.0] Free Money At Home with Prescription Xanirex!

USE_CHECK0으로 설정하면 답신 문자열과 함께 일치하는 SpamAssassin 테스트 목록이 반환됩니다( SpamAssassin 옵션 참조). 이 목록의 길이가 매우 길 수 있으므로 USE_CHECK1로 설정하는 것이 가장 좋습니다.

단계
  1. 필터링할 메일을 지정합니다.

    스팸을 별도의 폴더에 정리단계 3을 참조하십시오.

  2. SpamAssassin 구성 파일을 만듭니다.

    이 단계는 스팸을 별도의 폴더에 정리에 설명되어 있습니다. mode=1은 메일이 스팸으로 확인되는 경우 SpamAssassin 결과 문자열을 반환하도록 지정합니다.


    host=127.0.0.1
    port=2000
    mode=1
    debug=1
                      

    hostportspamd가 실행 중인 시스템의 이름과 spamd가 받는 요청을 수신하는 포트를 지정합니다. mode=1은 메일이 스팸으로 확인되는 경우 SpamAssassin 결과 문자열을 반환하도록 지정합니다. debug=1은 SpamAssassin 라이브러리에서 디버깅을 설정합니다.

  3. option.dat 파일에 다음 행을 추가합니다.


    !for Spamassassin
    spamfilter1_config_file=/opt/SUNWmsgsr/config/spamassassin.opt
    spamfilter1_library=/opt/SUNWmsgsr/lib/libspamass.so
    spamfilter1_optional=1
    spamfilter1_string_action=data:,addtag “[SPAM detected: $U]”;
                      
    

    앞의 예와 마찬가지로 처음 세 옵션은 SpamAssassin 구성 파일과 공유 라이브러리를 지정하고 공유 라이브러리에 오류가 있을 경우 MTA 작업을 계속하도록 지정합니다. 다음 행은

    spamfilter1_string_action=data:,addtag “[SPAM detected $U]”;

    Subject: 행에 태그를 추가하도록 지정합니다. SpamAssassin에서 반환되는 “[result string]” 앞의 field 문자열(기본값: Spam-Test) 앞에 SPAM detected라는 문자 접두어가 있습니다. SpamAssassin 구성 예에서 mode=1로 지정했기 때문에 SpamAssassin 결과 문자열이 반환됩니다. 따라서, 제목 행은 다음과 비슷합니다. 따라서, 제목 행은 다음과 비슷합니다.

    Subject: [SPAM detected Spam-Test: True ; 11.3 / 5.0] Make Money!

    다음과 같이 addheaderaddtag를 함께 사용할 수도 있습니다.

    spamfilter1_string_action=data:,require ["addheader"];addtag "[SPAM detected $U]";addheader "Spamscore: $U";

    다음과 비슷한 메일을 볼 수도 있습니다.

    Subject: [SPAM detected Spam-Test: True ; 12.3 / 5.0] Vigaro Now!Spamscore: Spam-Test: True ; 12.3 / 5.0

    spamassassin.opt에서 field=를 설정하여 Spam-Test의 기본값을 제거합니다. 더 명확한 메일이 반환됩니다.

    Subject: [SPAM True ; 91.3 / 5.0] Vigaro Now!Spamscore: True ; 91.3 / 5.0

  4. 구성을 다시 컴파일하고 서버를 다시 시작한 다음 spamd 데몬을 시작합니다.

    스팸을 별도의 폴더에 정리를 참조하십시오.