Sendmail / Qmail 에 kisarbl 추가하기..

|
kisarbl... 이게 뭔가.

한국정보보호진흥원(KISA)에서 무료로 관리ㆍ운영하여 제공하는 실시간 스팸차단리스트 이다.

걸어주면 KISA에 블랙리스트 등록된 IP는 스팸리스트로서 메일이 차단된다.

완벽하지 않지만 제법 차단된다.

근데 외국 rbl 사이트와 같이 걸어줘야 그나마 쓸만하더라.. 요즘 스팸들은 죄다 외국에서 오는것들 뿐이라....

일단 국내외 rbl 사이트들을 보자.

           사이트주소                                   스팸리스트URL
http://www.kisarbl.or.kr                      =>  spamlist.or.kr
http://ordb.org                                   =>  relays.ordb.org
http://spamcop.net/bl.shtml                =>  bl.spamcop.net
http://www.au.sorbs.net                    =>  dnsbl.sorbs.net / rhsbl.sorbs.net
http://njabl.org                                  =>  dnsbl.njabl.org
http://www.spamhaus.org/SBL/         =>  sbl.spamhaus.org
http://cbl.abuseat.org                        =>  cbl.abuseat.org
http://www.ahbl.org                          =>  dnsbl.ahbl.org
http://blackholes.us                          =>  chinanet.blackholes.us   (이 주소는 되는지 모르겠다.)

더 있겠지만... 내가 쓰는것은 이 정도다. (사실은 외국사이트에서 낚아왔다.)

여기서 스팸 블랙리스트 들을 제공하여 준다.

여기서 제공하는 스팸리스트를 걸어 주면 되겠다.

근데 주의할 점은 중국의 유명한 www.163.com 도 걸러 버리는 경우가 있으니... 유의하도록 하자.

그리고... 죄다 걸어주면 검사하느라... 메일 받는 시간이 약 1~2분정도 더 느려진다.

0. 설정법은 kisarbl에도 간단히 나와 있다.

어쨌든 시작한다.

1. Sendmail

sendmail은  sendmail.mc 파일에다 아래 내용을 추가하여 m4 해주면 된다.
ki

#FEATURE(dnsbl, `spamlist.or.kr', `Rejected " $&{client_addr} "- see http://www.kisarbl.or.kr/')dnl
#FEATURE(dnsbl, `relays.ordb.org', `551 Rejected " $&{client_addr} "- see http://ordb.org/')dnl
#FEATURE(dnsbl, `bl.spamcop.net', `"552 Spam blocked see: http://spamcop.net/bl.shtml?" $&{client_addr}')dnl
#FEATURE(dnsbl, `dnsbl.sorbs.net', `"554 Rejected " $&{client_addr} " found in dnsbl.sorbs.net"')dnl
#FEATURE(dnsbl, `rhsbl.sorbs.net', `"555 Rejected " $&{client_addr} " found in rhsbl.sorbs.net"')dnl
#FEATURE(dnsbl,`dnsbl.njabl.org',`559 Message from $&{client_addr} rejected - see http://njabl.org/')
#FEATURE(dnsbl, `sbl.spamhaus.org', `"556 Rejected " $&{client_addr} " - see http://www.spamhaus.org/SBL/"')dnl
#FEATURE(`dnsbl', `cbl.abuseat.org', `"557 Rejected " $&{client_addr} " - see http://cbl.abuseat.org"')dnl
#FEATURE(dnsbl,`dnsbl.ahbl.org', `"558 Host is on the AHBL - Please see http://www.ahbl.org/tools/lookup.php?ip="$&{client_addr}')dnl
#FEATURE(`dnsbl', `chinanet.blackholes.us', `"560 Rejected " $&{client_addr} " - listed by chinanet.blackholes.us"')dnl

보면 알겠지만 뭐 3번째 부분은 로그에 남는 메세지이다.
외국사이트에서 참고해서 설정해놓은것을 긁어오다보니 로그메세지가 일정치 않다. 알아서 수정하자.

어쨌든 즉,

#FEATURE(dnsbl,`스팸리스트제공주소',`로그메세지..')dnl    해주면 된다.

로그메세지 가운데 $&{client_addr} 해주면 그자리에 블럭처리된 IP가 로그에 남게된다.

주의할점은 앞쪽의 ` 는 ' 가 아니라는것이다. 뭐 sendmail.mc 파일을 보면 다른부분도 그렇게되어있으니..
조금 설정해본사람은 다 알것이고 어쨌든 키보드 숫자 1 옆에 ~ 키와 같이 있는 ` 이다.

이후 m4 sendmail.mc > sendmail.cf    해주고 sendmail 을 재기동한다.

2. Qmail

1. Qmail 의 smtp 구동 스크립트파일에 아래 내용을 넣어준다.
    일반적으로 웹에서 구할수 있는 Qmail 설정법대로라면 /var/qmail/supervise/qmail-smtpd/run 파일이다.

    exec /usr/local/bin/softlimit -m 7340032 \
    /usr/local/bin/tcpserver -vHRl 0 -x /home/vpopmail/etc/tcp.smtp.cdb \
    -u $Q_UID -g $Q_GID 0 25 \

    /usr/local/bin/rblsmtpd -b -t 10 \
    -r spamlist.or.kr \
    -r relays.ordb.org \
    -r bl.spamcop.net \
    -r dnsbl.sorbs.net \
    -r rhsbl.sorbs.net \
    -r dnsbl.njabl.org \
    -r sbl.spamhaus.org \
    -r cbl.abuseat.org \
    -r dnsbl.ahbl.org \
    -r chinanet.blackholes.us \


    /var/qmail/bin/qmail-smtpd xxxxxx.com \
     /export/home/vpopmail/bin/vchkpw /bin/true 2>&1/var/qmail/bin/qmail-smtpd 2>&1   (난,vpopmail쓴다.)

    위의 설정은 일부러 잘보이게 할려고 띄워 놨다.
    기존 설정에 띄워 놓은 부분만 집어넣으면 된다.

    ※ rblsmtpd는 ucspi-tcp 컴파일시 생성된 실행파일이다.
   
2. Qmail 을 재시동 한다.

여기까지만 해도 된다.....

3. 그러나 위는 메일 수신시마다 rbl 사이트에 접속을 하기 때문에 시간이 많이 걸린다.

    따로 rbl리스트를 구축하거나 미리 스팸리스트를 서버에 받아 놓았다가 서버내에서 바로 검사하고자할
    경우 rbldnsd 가 필요하다.

    소스파일은 http://www.corpit.ru/mjt/rbldnsd/rbldnsd_0.996a.tar.gz 을 받으면 되고
    사이트 주소는 http://www.corpit.ru/mjt/rbldnsd.html 이다.
    kisarbl 에서도 제공하여 준다.
    컴파일은 간단하게
    ./configure
    make
    해주면 되며 컴파일후 rbldnsd 데몬파일이 만들어 지며,
    rbldnsd 화일은 적당한 디렉토리로 복사를 하던지 해서 쓰면된다.
    나는 /usr/local/bin 디렉토리에 저장하였다.

     rbldnsd 의 기본 사용법(Usage)은/는 다음과 같다.

    rbldnsd [options] zonename:type:fname,fname...

    좀더 자세한 사용법을 알고자 하면 kisarbl 에 보면 나와있다.

    rbldnsd 는 RBL DNS데몬을 별도로 구축하고자 할때 사용한다. 귀찮다..

    궂이 구축하고자 하면 kisarbl 과 http://www.i-swear.com/370  이 페이지를 참고하기 바란다.

3. 순서 조정

   위 처럼 환경을 구축한다음... 몇일간의 메일 로그를 자세히 살펴보자..
   유독 많이 잡아내는 리스트가몇개 있을것이고, 전혀 잡아내지 못하는 리스트도 있을 것이다.
   시스템의 속도를 높이기 위해................................................................
   잘 잡아내는 스팸리스트 사이트를 처음부터 테스트 하도록 위쪽으로 배치한다.
   그리고 전혀 잡아내지 못하는 스팸리스트 사이트는 지우든가 제일 하단으로 보내자.
 
- 이상 - 끝.

'Computing > Linux' 카테고리의 다른 글

yum 으로 X윈도우 설치하기  (0) 2007.10.31
CentOs / Fedora 에서 yum update 속도 올리기...  (1) 2007.10.25
Subversion 사용 HOWTO  (0) 2007.09.04
[펌] Qmail 메뉴얼  (1) 2007.08.09
리눅스 프로그래머를 위한 가이드  (0) 2007.08.08
And