커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > 네트워크(network) > 메일 서버(mail) 도움말
검색 : 사이트 WHOIS 웹서버 종류

메일 필터링(스팸메일) / procmail (14, 글 18, 자료 8)

  스팸필터링 서버 구축 가이드(qmail+vpopmail+clamav+qmailscanner+spamassassin) 작성일 : 2008/03/03 17:40
 
  • 글쓴이 : lino ( http://richlino.egloos.com/ )
  • 조회수 : 15249
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      스팸필터링 메일 서버 설치 가이드

    구성  
    qmail1.03(cocktail14+chkuser-0.6.patch)+vpopmail5.4.0+courier-imap-4.1.2
    squirrelmail-1.4.8 rpm 패키지
    qmailadmin 1.0.6 +ClamAV 0.92+qmail-scanner-1.24+Spamassassin-3.24

    프로그램 소스: /usr/local/src/qmail

    1.   qmail 설치
    참고 :
    http://qmail.kldp.org/
    http://vitro.pe.kr/
    http://www.spamassassin.org/


    Ucspi-tcp 설치
    --------------------------------------------------------------
    [root@ns1 root]# tar xvf ucspi-tcp-0.88.tar
    [root@ns1 ucspi-tcp 0.88]# patch -p1 <../ucspi-tcp-0.88.errno.patch
    [root@ns1 ucspi-tcp 0.88]# make && make setup check

    --------------------------------------------------------------
    Daemontools 설치
    --------------------------------------------------------------
    mkdir /package
    cd /package
    [root@ns1 root]# tar xvf daemontools-0.76.tar
    [root@ns1 daemontools-0.76]# patch -p1 < ../daemontools-0.76.errno.patch
    [root@ns1 daemontools-0.76]# package/install
    [root@ns1 root]# rm -rf /service
    --------------------------------------------------------------
    Qmail 설치
    --------------------------------------------------------------
    # 센드메일 제거
    mv /usr/sbin/sendmail /usr/sbin/sendmail.orig
    mv /usr/lib/sendmail /usr/lib/sendmail.orig

    mkdir /var/qmail

    groupadd nofiles
    useradd -g nofiles -d /var/qmail qmaild
    useradd -g nofiles -d /var/qmail/alias alias
    useradd -g nofiles -d /var/qmail qmaill
    useradd -g nofiles -d /var/qmail qmailp
    groupadd qmail
    useradd -g qmail -d /var/qmail qmailq
    useradd -g qmail -d /var/qmail qmailr
    useradd -g qmail -d /var/qmail qmails
    [root@ns1 root]# tar xvf qmail-1.03-linux.tar; cd qmail-1.03
    [root@ns1 qmail-1.03]# patch -p1 < ../qmail-1.03.errno.patch
    [root@ns1 qmail-1.03]# mkdir /var/qmail && make && make setup check




    --------------------------------------------------------------
    Qmail 설정
    --------------------------------------------------------------
    [root@ns1 qmail-1.03]# ./config-fast 메일서버도메인명
    mkdir -p /var/qmail/supervise/qmail-send/log
    mkdir -p /var/qmail/supervise/qmail-smtpd/log
    chmod +t /var/qmail/supervise/qmail-send
    chmod +t /var/qmail/supervise/qmail-smtpd

    vi /var/qmail/supervise/qmail-send/run
    #!/bin/sh
    exec /var/qmail/rc

    vi /var/qmail/supervise/qmail-send/log/run
    #!/bin/sh
    exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail

    vi /var/qmail/supervise/qmail-smtpd/run
    #!/bin/sh
    Q_UID=`id -u qmaild`
    Q_GID=`id -g qmaild`
    exec /usr/local/bin/softlimit -m 8000000 \
    /usr/local/bin/tcpserver -vRHl0 -x/etc/tcp.smtp.cdb \
    -u $Q_UID -g $Q_GID 0 25 \
    /var/qmail/bin/qmail-smtpd /bin/true 2>&1

    vi /var/qmail/supervise/qmail-smtpd/log/run
    #!/bin/sh
    exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd

    chmod 755 /var/qmail/supervise/qmail-send/run
    chmod 755 /var/qmail/supervise/qmail-send/log/run
    chmod 755 /var/qmail/supervise/qmail-smtpd/run
    chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
    mkdir -p /var/log/qmail/smtpd
    chown qmaill /var/log/qmail /var/log/qmail/smtpd
    cd ~alias
    echo root > .qmail-mailer-daemon
    echo root > .qmail-postmaster
    echo root > .qmail-root
    chmod 644 .qmail-mailer-daemon .qmail-postmaster .qmail-root

    # 큐메일 구동 스크립트 파일
    vi /etc/init.d/qmail
    #-------------------------------------------------------------------------------------------
    #!/bin/sh
    # Source function library.
    # . /etc/init.d/functions

    # Source networking configuration.
    # . /etc/sysconfig/network

    # Check that networking is up.
    # [ ${NETWORKING} = "no" ] && exit 0

    PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin
    export PATH
    case "$1" in
    start)
    echo -n "Starting qmail: svscan"
    cd /var/qmail/supervise
    env - PATH="$PATH" svscan &
    echo $! > /var/run/svscan.pid
    echo "."
    ;;
    stop)
    echo -n "Stopping qmail: svscan"
    kill `cat /var/run/svscan.pid`
    echo -n " qmail"
    svc -dx /var/qmail/supervise/*
    echo -n " logging"
    svc -dx /var/qmail/supervise/*/log
    echo "."
    ;;
    stat)
    cd /var/qmail/supervise
    svstat * */log
    ;;
    doqueue|alrm)
    echo "Sending ALRM signal to qmail-send."
    svc -a /var/qmail/supervise/qmail-send
    ;;
    queue)
    qmail-qstat
    qmail-qread
    ;;
    reload|hup)
    echo "Sending HUP signal to qmail-send."
    svc -h /var/qmail/supervise/qmail-send
    ;;
    pause)
    echo "Pausing qmail-send"
    svc -p /var/qmail/supervise/qmail-send
    echo "Pausing qmail-smtpd"
    svc -p /var/qmail/supervise/qmail-smtpd
    ;;
    cont)
    echo "Continuing qmail-send"
    svc -c /var/qmail/supervise/qmail-send
    echo "Continuing qmail-smtpd"
    svc -c /var/qmail/supervise/qmail-smtpd
    ;;
    restart)
    echo "Restarting qmail:"
    echo "* Stopping qmail-smtpd."
    svc -d /var/qmail/supervise/qmail-smtpd
    echo "* Sending qmail-send SIGTERM and restarting."
    svc -t /var/qmail/supervise/qmail-send
    echo "* Restarting qmail-smtpd."
    svc -u /var/qmail/supervise/qmail-smtpd
    ;;
    cdb)
    tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
    chmod 644 /etc/tcp.smtp*
    echo "Reloaded /etc/tcp.smtp."
    ;;
    help)
    cat <<HELP
    stop -- stops mail service (smtp connections refused, nothing goes out)
    start -- starts mail service (smtp connection accepted, mail can go out)
    pause -- temporarily stops mail service (connections accepted, nothing leaves)
    cont -- continues paused mail service
    stat -- displays status of mail service
    cdb -- rebuild the tcpserver cdb file for smtp
    restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
    doqueue -- sends qmail-send ALRM, scheduling queued messages for delivery
    reload -- sends qmail-send HUP, rereading locals and virtualdomains
    queue -- shows status of queue
    alrm -- same as doqueue
    hup -- same as reload
    HELP
    ;;
    *)
    echo "Usage: $0 {start|stop|restart|doqueue|reload|stat|pause|cont|cdb|queue|help}"
    exit 1
    ;;
    esac

    exit 0

    #-------------------------------------------------------------------------------------------
    [root@ns1 root]# chmod 755 /etc/init.d/qmail
    [root@ns1 root]#chkconfig –add qmail
    [root@ns1 root]#chkconfig qmail on
    [root@ns1 root]# vi /etc/tcp.smtp
    127.0.0.1:allow,RELAYCLIENT=""
    :allow

    /etc/init.d/qmail cdb
    ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
    ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
    cp /var/qmail/boot/proc /var/qmail/rc

    cat /var/qmail/rc
    #!/bin/sh
    exec env - PATH="/var/qmail/bin:$PATH" \
    qmail-start ./Maildir/ splogger qmail

    [root@ns1 root]# /etc/init.d/qmail start

    #--------------------------------------------------------------
    Qmail 테스트
    #--------------------------------------------------------------
    [root@ns1 root]# su - test
    [test@ns1 test]$/var/qmail/bin/maildirmake ~/Maildir
    [test@ns1 test]$echo ./Maildir/ > ~/.qmail;exit
    [test@ns1 test]$echo to: test | /var/qmail/bin/qmail-inject
    [test@ns1 test]$find ~test/Maildir/new
    -rw------- 1 nobody nobody 525 Dec 30 12:03 1009681426.28068.webmail

    2.   Vpopmail 설치

    # vpopmail 그룹 및 계정 생성
    groupadd vchkpw
    useradd -g vchkpw vpopmail

    tar zxvf vpopmail-5.4.0.tar.gz
    cd vpopmail-5.4.0.tar

    #./configure --enable-roaming-users=y --enable-tcprules-prog=/usr/local/bin/tcprules --enable-relay-clear-minutes=15 --enable-aut
    h-logging=y --enable-logging=e --disable-clear-passwd
    #make;make install-strip

    # 릴레이 설정
    echo "127.0.0.:allow,RELAYCLIENT=\"\"" > ~vpopmail/etc/tcp.smtp
    echo ":allow" >> ~vpopmail/etc/tcp.smtp
    tcprules /home/vpopmail/etc/tcp.smtp.cdb \
    /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp
    /home/vpopmail/bin/clearopensmtp

    # crontab 설정
    /etc/crontab 추가
    40 * * * * /home/vpopmail/bin/clearopensmtp


    # pop3 시동 파일 생성
    mkdir /var/qmail/supervise/qmail-pop3d

    cat /var/qmail/supervise/vpop/run

    #!/bin/sh
    exec /usr/local/bin/softlimit -m 20000000 \
    /usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup  \
    도메인명 \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1

    # POP3 구동
    #cd /service
    #ln –s /var/qmail/ supervise/qmail-pop3d qmail-pop3d

    #netstat –nlp
    110번 포트 떠있는지 확인



    3.   Courier-imap 설치
    # courier-authlib 0.60.2 설치 ( imap 인증 처리에 필요)
    ./configure
    make;make install;make install-configure

    /usr/local/sbin/authdaemond start

    # 시스템 시작 시 자동 시작될 수 있도록 /etc/rc.local에 추가
    echo “/usr/local/sbin/authdaemond start” >> /etc/rc.local

    # courier-imap 4.1.2 설치
    su – 일반계정 예) su – test

    $./configure --with-redhat
    $make;make check
    $ su root
    # make install
    # make install-configure
    #cp courier-imap.sysvinit /etc/init.d/courier-imap
    #chkconfig --add courier-imap
    #chkconfig courier-imap on

    #vi /etc/courier-imap/imapd

    ADDRESS=127.0.0.1->ADDRESS=0 수정 (로컬에서만 사용하면 수정할 필요 없음)
    IMAPDSTART=NO-> IMAPDSTART=YES로 수정

    #/etc/init.d/courier-imap start -> imapd 구동




    4.   squirrelmail, qmailadmin 설치

    1)   squirrelmail 설치
    #yum –y install squirrelmail
    #cd /usr/share/squirrelmail/config
    #./conf.pl (환경설정)
    1 Enter (Organization Preferences)-> 자신에게 맞게 적절히 설정한다.
    2 Enter (Server Settings)
    1. Domain -> 자신의 도메인 세팅
    3. Sendmail or SMTP : SMTP
    A (Update IMAP Settings) 누르고 들어가 세팅
    4.  IMAP Server            : 127.0.0.1
    5.  IMAP Port              : 143
        B (Update SMTP Settings) 누르고 들어가 세팅
      4.   SMTP Server           : 192.168.100.100 (메일서버 ip)
    5.   SMTP Port             : 25

    3.   Folder Defaults 아래항목 변경
    3.  Trash Folder                  : INBOX.Trash
    4.  Sent Folder                   : INBOX.Sent
    5.  Drafts Folder                 : INBOX.Drafts

    10. Languages 아래와 같이 설정
    1.  Default Language       : ko_KR
    2.  Default Charset        : euc-KR
    S 누르고 저장
    나머지는 필요에 의해 알아서 설정하면 됩니다.

    아파치 설정은 가상호스트에 잡아서 적절히 설정하시면 됩니다.

    2)   qmailadmin 설치 (http://jikime.tistory.com/421 참조)
    A.   autorespond 설치
    ezmlm에서 필요로 하는 프로그램입니다

    #wget http://www.inter7.com/devel/autorespond-2.0.2.tar.gz
    #tar zxvf autorespond-2.0.2.tar.gz
    #cd autorespond-2.0.2
    #make
    # cp –pv autorespond /usr/local/bin

    B. ezmlm 설치
    qmail과 같이 사용할 수 있는 쉽고 빠른 메일링 리스트 프로그램
    #wget http://www.ezmlm.org/archive/5.1.2/ezmlm-idx-5.1.2.tar.gz
    #tar zxvf ezmlm-idx-5.1.2.tar.gz
    #cd ezmlm-idx-5.1.2
    #make;make man;make setup

    C.qmailadmin 설치
    웹으로 vpopmail을 관리할 수 있는 프로그램

    #wget http://downloads.sourceforge.net/qmailadmin/qmailadmin-1.2.12.tar.gz?modtime=1194986500&big_mirror=0
    #tar zxvf qmailadmin-1.2.12.tar.gz
    #cd qmailadmin-1.2.12

    root@localhost qmailadmin-1.2.12# ./configure \
    --enable-htmllibdir=/usr/local/qmailadmin \
    --enable-htmldir=/usr/local/qmailadmin \
    --enable-cgibindir=/usr/local/qmailadmin \
    --enable-imagedir=/usr/local/qmailadmin/images \
    --enable-imageurl=/images \
    --enable-cgipath=/index.cgi
    root@localhost qmailadmin-1.2.12#make;make install-strip
    root@localhost qmailadmin-1.2.12#cd /usr/local/qmailadmin/
    root@ qmailadmin#ln -sf qmailadmin index.cgi

    아파치 VirtualHost 설정
    [root@ns qmailadmin]# vi /usr/local/apache/conf/httpd.conf
    <VirtualHost 192.168.100.1>
        ServerAdmin 관리자이메일주소
        DocumentRoot /usr/local/qmailadmin -> qmailadmin 설치 디렉터리
        ServerName 도메인명 -> 웹으로 접속할 도메인
        <Directory /usr/local/qmailadmin>
            Options FollowSymLinks ExecCGI
            AllowOverride AuthConfig
        </Directory>
    </VirtualHost>

    http://도메인명 으로 접속해서 페이지 뜨면 정상적으로 설치된 것임


    4.   ClamAV 설치
    ClamAV 전용 계정 생성
    #groupadd clamav
    #useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

    #tar zxvf clamav-x.yz.tar.gz
    #cd clamav-x.yz
    #./configure --sysconfdir=/etc
    #make
    #make install
    환경설정 파일 수정
    vi /etc/clamd.conf
    Example-> #Example 수정
    다른 내용은 수정안해도 구동은 됩니다. 자신의 필요에 맞게 수정하세요.

    Vi /etc/freshclam.conf
    Example-> #Example 수정
    바이러스 엔진 자동업데이트 설정
    # touch /var/log/freshclam.log
    # chmod 600 /var/log/freshclam.log
    # chown clamav /var/log/freshclam.log
    # freshclam -d

    /etc/crontab에 설정
    1 * * * *   /usr/local/bin/freshclam –quiet

    #cd clamav-x.yz/contrib/init
    #cp RedHat /etc/init.d/clamd
    #chkconfig –add clamd
    #chkconfig clamd on


    5. maildrop install
    maildrop은 qmail-scanner가 이메일을 검사하기 위한 이메일 포맷을스캔가능한 형태로 변환하기 위해 maildrop의 reformime이란 기능을 이용한다.그러니 반드시 maildrop을 설치하여야 한다

    [root@localhost maildrop-1.5.0]# ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --mandir=/usr/share/man \
    --enable-sendmail=/var/qmail/bin/sendmail \
    --enable-maildrop-uid=root \
    --enable-maildrop-gid=wheel \
    --enable-maildirquota \
    --enable-restrict-trusted=1 \
    --enable-trusted-users='root qmaild vpopmail'
    [root@localhost maildrop-1.5.0]# make && make install-strip && make install-man



    6. SpamAssassin-3.24 설치 ::
    의존성에 걸리는 패키지를 설치하기 귀찮은 분들은  CPAN를 이용하세요.
    #perl -MCPAN -e shell (root 계정으로 실행)
    install Mail::SpamAssassin
    quit


    #wget http://apache.tt.co.kr/spamassassin/source/Mail-SpamAssassin-3.2.4.tar.gz
    #tar zxvf Mail-SpamAssassin-3.2.4.tar.gz
    #cd Mail-SpamAssassin-3.2.4
    [root@localhost Mail-SpamAssassin-3.2.4]# perl Makefile.PL && make && make install
    #cd rules

    #cp -f user_prefs /etc/mail/spamassassin/
    #cp -f local.cf /etc/mail/spamassassin/
    #cd ../spamd
    #cp redhat-rc-script.sh /etc/rc.d/init.d/spamd
    #chkconfig –add spamd
    #chkconfig spamd on

    Spamd 데몬 옵션 설정

    vi /etc/sysconfig/spamassassin
    SPAMDOPTIONS="-d -c -m5 -H -u vpopmail -L -x"

    -d : 데몬모드
    -c : 유저 환경 설정 파일 설정
    -m5 : 최대 자식 프로세스 숫자 5로 설정
    -H : 다른 홈디렉터리 지정
    -u : spamd을 vpopmail 유저 권한으로 실행
    -L : Local 유저에 적용
    -x : 사용자별 환경설정 무시

    cat /etc/mail/spamassassin/local.cf (현재 서비스 돌고 있는 설정파일입니다.)

    required_hits 5.0
    whitelist_from *@도메인명
    whitelist_to *@도메인명
    rewrite_header Subject [SPAM]
    report_safe      0

    #   Use Bayesian classifier (default: 1)
    #
    use_bayes 1
    bayes_path /home/spam/.spamassassin/bayes
    auto_whitelist_path /home/spam/.spamassassin/auto-whitelist
    bayes_file_mode 777
    auto_whitelist_file_mode 777

    #   Bayesian classifier auto-learning (default: 1)
    #
    bayes_auto_learn 1

    ok_locales      all

    # SURBL Rule
    score URIBL_AB_SURBL 4
    score URIBL_OB_SURBL 4
    score URIBL_PH_SURBL 4
    score URIBL_SC_SURBL 4
    score URIBL_WS_SURBL 3

    score SUSPICIOUS_RECIPS 7.3
    score RATWARE_EGROUPS 14.7
    score DATE_SPAMWARE_Y2K 6.8
    score MSGID_RANDY 6.9
    score MSGID_YAHOO_CAPS 13
    score FORGED_MUA_OUTLOOK 8.8
    score RCVD_HELO_IP_MISMATCH 9.7
    score FORGED_HOTMAIL_RCVD2 15
    score FORGED_MUA_AOL_FROM 15
    score FORGED_MUA_EUDORA 15
    score FORGED_MUA_IMS 15
    score FORGED_YAHOO_RCVD 15
    score FORGED_MUA_OUTLOOK 10
    score INVALID_MSGID 20
    score FORGED_OUTLOOK_TAGS 10
    score BIZ_TLD 7.3
    score HELO_DYNAMIC_IPADDR2 3.1
    score DRUGS_ERECTILE 13
    score INFO_TLD 16
    score PLING_PLING 7.4

    #Rules for all senders

    score UPPERCASE_25_50 0.5
    score UPPERCASE_50_75 0.5
    score UPPERCASE_75_100 0.5

    #General rules for html-based mail & html-based bulk mail
    score HTML_MESSAGE 1.8
    #General rules for html-based bulk messages
    score MIME_HTML_ONLY 2.1

    #Ordinary rules for spamers & internet via e-mail
    #& bulk mail
    score HTML_FONT_BIG 0.6
    score HTML_FONT_INVISIBLE 1.2

    score EXTRA_MPART_TYPE 0.9
    score NO_REAL_NAME 0.8

    #Very strong rules for spamers
    score DATE_IN_FUTURE_12_24 5.0
    score DATE_IN_FUTURE_06_12 5.0
    score DATE_IN_FUTURE_03_06 5.0
    score DATE_IN_PAST_96_XX 5.0
    score DATE_IN_PAST_03_06 5.0
    score DATE_IN_PAST_12_24 5.0
    score INVALID_DATE 5.0
    score HTML_TITLE_UNTITLED 5.0
    score MISSING_MIMEOLE 5.0
    score FORGED_HOTMAIL_RCVD 5.0
    score RCVD_FAKE_HELO_DOTCOM 5.0
    score KOREAN_UCE_SUBJECT 2.4

    #한글 폰트 설정때문에 스팸메일의 의심을 받게 되는것을 막기 위한 설정
    score HTML_FONT_FACE_BAD 0.0

    # Empty message
    rawbody __SOMETHING     /\S/
    meta    BODY_EMPTY      !__SOMETHING
    score   BODY_EMPTY      2.606

    # http 주소 뒤에 포트번호가 있을 경우
    uri     MY_HTTP_ODD_PORT        /\w+\.(com|net|info|biz):\d+ /i
    describe        MY_HTTP_ODD_PORT        Link to a server on nonstandard port
    score   MY_HTTP_ODD_PORT        2.0

    # URL이 숫자로만 돼있는 경우
    uri     MY_DOMAIN_NUMBERS_ONLY  /[.\/@]+\.(com|net|biz|info)/i
    describe        MY_DOMAIN_NUMBERS_ONLY  Domain names has numbers only
    score   MY_DOMAIN_NUMBERS_ONLY  2.0



    7. qmail-scanner 1.24 설치
    스캐너는 clamdscan과 verbose_spamassassin을 연동시킬 것입니다.

    혹시 라도 setuidperl의 퍼미션을 확인해보고 아래와 다르면 바꿔준다.
    [root@localhost root]# chown root /usr/bin/suidperl
    [root@localhost root]# chmod 4711 /usr/bin/suidperl

    [root@localhost qmail-scanner-1.24]# cp -r locale/en_GB locale/eucKR

    # configure
    ./configure \
    --spooldir /var/spool/qmailscan \
    --qmaildir /var/qmail \
    --bindir /var/qmail/bin \
    --qmail-queue-binary /var/qmail/bin/qmail-queue  \
    --admin root \
    --notify none \
    --silent-viruses auto \
    --debug 0 \
    --unzip 1 \
    --add-dscr-hdrs 0 \
    --archive 0 \
    --redundant no \
    --log-details  syslog \
    --fix-mime 1  \
    --scanners verbose_spamassassin,clamdscan \

    # 설치
    ./configure \
    --spooldir /var/spool/qmailscan \
    --qmaildir /var/qmail \
    --bindir /var/qmail/bin \
    --qmail-queue-binary /var/qmail/bin/qmail-queue  \
    --admin root \
    --notify none \
    --silent-viruses auto \
    --debug 0 \
    --unzip 1 \
    --add-dscr-hdrs 0 \
    --archive 0 \
    --redundant no \
    --log-details  syslog \
    --fix-mime 1  \
    --scanners verbose_spamassassin,clamdscan \
    --install

    cp -f quarantine-attachments.txt /var/spool/qmailscan/
    chown qscand.qscand /var/spool/qmailscan/quarantine-attachments.txt
    chmod 660 /var/spool/qmailscan/quarantine-attachments.txt
    chown qscand.qscand  /var/qmail/bin/qmail-scanner-queue.pl
    chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl
    /var/qmail/bin/qmail-scanner-queue.pl –g 반드시 해줘야 qmail-scanner 디비가 갱신됩니다.

    vi /var/qmail/supervise/qmail-smtpd/run

    export QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" 추가

    vi ~vpopmail/etc/tcp.smtp
    # No Qmail-Scanner at all for mail from 127.0.0.1
    127.0.0.1:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-queue"

    # Use Qmail-Scanner without SpamAssassin on any mail from the local network
    # [it triggers SpamAssassin via the presence of the RELAYCLIENT var]
    192.168.100.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/qmail-queue"

    # Use Qmail-Scanner with SpamAssassin on any mail from the rest of the world
    :allow

    참고로 tcp.smtp에 QMAILQUEUE 설정을 추가하여 테스트 해보니
    127.0.0.1과 192.168.100.0/24 대역은 SMTP를 통해 메일을 보낼 때 qmail-scanner가 적용이 안됩니다. QMAILQUEUE 설정이 빠져 있으면 로컬 네트워커의 유저들이 메일을 보낼때도 필터링이 적용됩니다.

    /etc/rc.d/init.d/qmail restart
    /usr/local/src/qmail-filterling/qmail-scanner-1.25/contrib/test_installation.sh -doit

    만약 Spamassassin에서 제목에 스팸문구가 안붙어 들어오면
    vi /var/qmail/bin/qmail-scanner-queue.pl
    my $spamc_subject='[SPAM]'; 스팸문구 설정

    마지막으로 스팸필터링이 제대로 구동되는지 테스트를 해봅니다.

    실제 스팸메일로 걸러진 메일의 헤더를 보면 아래와 같이 나옵니다.

    Received: from 207.144.10.98 by 메일서버도메인명 (envelope-from <qitycgpg@msn.com>, uid 508) with qmail-scanner-1.24
    (clamdscan: 0.92/5921. spamassassin: 3.2.4.  
    Clear:RC:0(207.144.10.98):SA:1(16.0/5.0):.
    Processed in 2.136584 secs); 03 Mar 2008 01:12:07 -0000
    X-Spam-Flag: YES
    X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on 메일서버도메인명
    X-Spam-Level: ****************
    X-Spam-Status: Yes, score=16.0 required=5.0 tests=BAYES_99,FH_HELO_EQ_610HEX,
       FRT_PENIS1,RDNS_NONE,SARE_ADLTSUB2,SARE_ADULT2,SARE_OBFUMONEY2,SARE_SUB_PENIS,
       UNPARSEABLE_RELAY autolearn=spam version=3.2.4
    X-Spam-Report:
       *  3.5 BAYES_99 BODY: Bayesian spam probability is 99 to 100%
       *      [score: 1.0000]
       *  4.1 FH_HELO_EQ_610HEX Helo is 6-10 hex chr's.
       *  1.2 SARE_ADLTSUB2 Contains possible adult words
       *  1.7 SARE_SUB_PENIS subject has likely spammer phrase or word
       *  0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines
       *  3.0 FRT_PENIS1 BODY: ReplaceTags: Penis
       *  1.4 SARE_ADULT2 BODY: Contains adult material
       *  1.0 SARE_OBFUMONEY2 BODY: masked spam word(s)
       *  0.1 RDNS_NONE Delivered to trusted network by a host with no rDNS

    큐메일스캐너와 스팸어쌔신을 적용해서 사용하고 있는데 완벽하진 않지만 80~90% 정도는 스팸메일을 잡아내고 있습니다.

    이 문서를 읽고 발생한 책임에 대해서는 본인은 책임지지 않으며 각자 알아서 판단하고 적용해 보세요.



      커피닉스 카페 최근 글
    [08/25] #gpt_question_subje
    [08/20] From what I've seen
    [08/14] сайт
    [06/16] [질문]SAN 스위치 브로드케이드 dcx8510-4 장비관련입니다.
    [04/22] Re: 영화속에 컴퓨터 이야기 ~스워드피쉬(2001)
    [10/20] Cross Compiler 깔
    [07/14] SSL АО
    [04/26] Re: 도스화면 원격조종 여부
    [04/25] 도스화면 원격조종 여부
    [10/30] Cshell에서 난수 설정
    [10/23] 공항철도주식회사 SE 구인 件
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~