큐메일(qmail) 에서는 여러가지 방법의 필터링을 사용한다.
유명한 rblsmtpd , spamassassin , clamav , procmail , maildrop , simscan , qmail-scanner 등 다양하다.

필터링 단계에 따라 방법도 달라진다.
크게 qmail-smtpd 단에서 필터링 하는 방법과 사용자의 메일박스에 도착하기 전에 필터링하는 방법으로 나눌 수 있다.

1) spf (Sender Policy Framework) 를 이용한 필터링
참조 : http://qmail.kldp.net/wiki/wiki.php/qmail_antispam#s-4.1

도메인 설정시 이런 설정을 본적이 있을 것이다.
; spf - kisarbl.or.kr
        IN      TXT     "v=spf1 ip4:111.222.123.234 ip4:122.222.123.234 ~all"
위의 IP 주소는 메일발송하는 서버의 IP 를 지정하게 된다.
~all , -all 등이 있는데, 각각 softfail , fail 등의 spf 값을 리턴하게 된다.

지난번 qmail SRPM 빌드 하는 글에서 언급한 패키지는 spf 패치가 적용되어 있다.
그래서 spf 필터링을 활성화 시켜주면 된다.

/var/qmail/control/spfbehavior  를 3 또는 4 로 해주면 된다.(0 은 비활성화)

특정도메인에 대해서 spf 설정을 확인하는 방법은
dig mydomain.com  txt 
로 확인할 수 있다.

예를 들어 mydomain.com 이 A 사의 웹호스팅을 이용한다고 하자.
이때 mydomain.com 에서 웹어플(폼메일,예약,문의등)로 메일을 보낼 때 spf 를 설정하지 않으면 받는 메일서버에서 거부당할 수 있다.(대부분의 포털은 설정이 되어 있다고 봐야 한다)
"v=spf1 ip4:{웹호스팅IP주소} ~all"
도메인 설정에 추가해준다.

dnsever 의 경우  "호스트 설명 텍스트(TXT) 추가" 항목에 넣어주면 된다.

2) rblsmtpd 를 이용한 필터링.

rbl 은 Real-time Blocking List 라고 한다.
한마디로 스팸발송IP 들을  블랙리스트, 화이트리스트 로 만들어서 블랙리스트에 등록된 IP 주소로 오는 메일을 거부하는 필터링 방법이다.

역시나 qmail SRPM 패키지에는 rblsmtpd 가 포함되어 있다.

/var/qmail/supervise/qmail-smtpd/run 파일을 직접수정해서 rblsmtpd 설정을 할 수 있다.
SRPM 패키지에는 /var/qmail/control/conf-knetqmail 을 수정해서 할 수 있도록 미리 설정되어 있다.
USE_RBL="no"
RBL_DNS="-r bl.spamcop.net -r rbl.linuxstudy.pe.kr"
다음과 같은 항목인데, USR_RBL 의 값을 yes 로 바꿔준다.
RBL_DNS 부분은 rbl 사이트를 지정하는 부분이다.
현재 rbl.linuxstudy.pe.kr 은 잠정중단된 상태이니 뺀다.
USE_RBL="yes"
RBL_DNS="-b -r bl.spamcop.net -r sbl.spamhaus.org -r spamlist.or.kr"
위와 같이 바꿔준다. (spamhaus 와 kisarbl 을 추가했다)
그리고 -b 옵션을 추가해 줬는데, 해당 옵션은 메일거부시 바로 failure notice 응답을 해준다.
그래야 발송IP 가 블랙리스트에 등록이 되어 있는지 바로 알 수 있게 된다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,