My/Job (개인작업물)

하나의 서버에서 dns 와 rbldns 운영하기.

알찬돌삐 2007. 6. 28. 10:10
rbldnsd 를 운영하여 스팸메일을 보내는 넘들을 조금이라도 줄여보고자 합니다.

기존 rbl 서버들을 이용하여 스팸메일을 차단하는 님들은 어떻게 운영되는지 아실겁니다.

예 ) 1.2.3.4 IP 라면

룩업할때 4.3.2.1.rbl서버이름

이런식으로 하면 기재되어있는 IP 라면 결과물이 나오고 아니라면 안 나오겠지요.
'
rbldnsd 를 다운받습니다. (http://www.corpit.ru/mjt/rbldnsd.html)

그리고 설치

그냥 뭐 암거도 없어요.

./configure

make

하면 끝납니다.

잘 모르시는 분은. (https://www.kisarbl.or.kr/use/use2.jsp)

이리로 가셔서 읽어보시고.

그럼 네임서버와 rbldnsd 같이 운영하고자 할 경우 충돌이 발생합니다.

53번 포트를 같이 사용하려고 하기 때문이죠.

그럼 기존 네임서버는 53번 포트를 사용하고.

rbldnsd 는 5353 포트를 사용하도록 하겠습니다. (이건 뭐 바꾸셔도 상관없습니다.)

테스트로 spalist.txt 파일에.

:127.0.0.1:blacklist
1.2.3.4 'Deny IP'

이렇게 적어둡니다.

rbldnsd 를 컴파일 한 곳으로 가서
./rbldnsd -b 127.0.0.1/5353 -p /var/run/rbldnsd.pid -l /var/log/rbldnsd.log rbllist:ip4set:/var/qmail/list/spamlist.txt -t 35m -c 30m

옵션 ) -p 프로세스 넘버를 /var/run/rbldnsd.pid 에 기록합니다.
-l 로그파일을 남깁니다.
-t ttl 값을 35분으로 지정
-c 스팸리스트를 30분마다 체크

이런식으로 데몬을 띄웁니다.

그러면 127.0.0.1 port 5353 에 대해서 listen 하고 있으면서

ip.rbllist 로 오는 쿼리에 대해서 응답을 합니다.

예 ) nslookup -port=5353
> server 127.0.0.1
> 4.3.2.1.rbllist

Server:        127.0.0.1
Address:        127.0.0.1#5353

Name:  4.3.2.1.rbl-local
Address: 127.0.0.1

이런식으로 결과물이 나오게 됩니다.

127.0.0.1 이 나오게 될 경우 기재된 IP 라는 뜻입니다.

그럼 이제 rbllist 라는 서버를 등록해야 되는데요.

rbllist 라는 서버가 어디지인지 모릅니다.

bind 를 수정하여 가르쳐 주도록 하죠.

/etc/named.conf 파일에

zone "rbllist" IN {
        type forward;
        forward first;
        forwarders {
        127.0.0.1 port 5353;
        };
};

이런식으로 적어줍니다.

rbllist 로 오면 5353번 포트로 포워딩 해 줍니다.

실제 적용은

전 qmail 을 사용하기 때문에

supervise 디렉토리의 qmail-smtpd/run 파일을 수정합니다.

#!/bin/sh
Q_UID=`id -u vpopmail`
Q_GID=`id -g vpopmail`
exec /usr/local/bin/softlimit -m 20000000 \
    /usr/local/bin/tcpserver -v -H -R -l 0 -x /home/vpopmail/etc/tcp.smtp.cdb \
    -u $Q_UID -g $Q_GID 0 25 /usr/local/bin/rblsmtpd -b -t 10 \
    -r rbllist \                <------ 추가한 것입니다.
    -r bl.spamcop.net -r dnsbl.sorbs.net \
    -r cbl.abuseat.org -r spamlist.or.kr:see \
    /var/qmail/bin/qmail-smtpd 2>&1


이런식으로 운영하시면 됩니다..