본문 바로가기

Computer/Linux-Others & Etc

Sendmail Spam 방지설정

# 이 글은 싸이월드 블로그에 내가 작성했던 글을 옮겨온 글이다. #

 

 

/etc/mail/access 를 이용한 방법

 

특정 IP나 도메인, 이메일주소 등 특정 네트워크에 대하여 sendmail이 거부할 수 있도록 설정가능...

정확히 말하면 sendmail의 메일전달 제한 대상은 본 sendmail 서버를 거쳐가는 메일들로서

메일을 보내는자(IP주소,도메인,메일주소 등)메일을 받는자(다른 SMTP서버)가 그 대상이 된다.

 

[root@CENT ~]# vi /etc/mail/access

localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY

 

hung.co.kr RELAY

superuser.co.kr RELAY

 

spam.com RELAY

spamuser@spam.com DISCARD

211.223.191.123 REJECT

192.168.2. REJECT

192.168.3.0/255.255.255.0 REJECT

 

 

[옵션설명]

(1) RELAY :: 지정된 메일의 수신/발신을 허용

(2) REJECT :: 지정된 메일의 수신/발신을 거부

(3) DISCARD :: 메일을 받은 후 폐기해 버린다. 단, 메일발신자에게 폐기통보를 전혀 하지 않는다. /etc/mail/sendmail.cf 에 지정된 $#discard mailer 에 지정된 곳으로 메일을 폐기한다. (발신자는 메일이 발신된 것으로 암)

(4) OK :: 조건없이 지정된 메일의 수신/발신을 허용

(5) "501 메시지" :: 메일주소가 일부분이상 일치할 경우 지정된 "메시지"로 거부하게 된다. 지정된 메일 주소와 일치된 메일 받지 않음

(6) "502 메시지" :: 발신메일주소에 host명이 없을 경우 메일을 받지 않음

(7) "503 메시지" :: 지정된 도메인과 관련된 메일을 받지 않음

(8) "550 메시지" :: 특정한 도메인에 대해 지정된 "메시지"로 거부

(9) "571 메시지" :: 주로 스팸메일의 경우 사용하는 설정으로 지정된 "메시지"로 경고메일을 보낸 후 거부

(1) "572 메시지" :: 위의 571 설정과 거의 유사한 설정

-----------------------------------------------------------------------------------------------------

 

/etc/mail/access 파일을 편집한 후에는 다음과 같이 makemap 유틸리티를 통해 /etc/mail/access.db 파일을 생성한다.

makemap hash /etc/mail/access.db < /etc/mail/access

또는 간편하게 /etc/mail/디렉토리에서 그냥 make만을 실행해도 /etc/mail/access 파일뿐 아니라 /etc/mail/virtusertable 파일을 포함하여 변경된 사항을 모두 적용해준다.

 

실제로 sendmail은 /etc/mail/access 파일을 사용하는 것이 아니라 db파일을 사용한다.

 

/etc/mail/access.db 파일에 실제로 등록이 되었는지 확인하기 위해 strings 명령어를 사용하여 확인해본다. 텍스트파일이 아니기때문에 vi나 cat으로는 볼 수 없다.

strings /etc/mail/access.db

 


/etc/mail/sendmail.mc 수정

[ Korean White Domain 설정시]

FEATURE(dnsbl, `blackholes.mail-abuse.org', `Rejected - see http://www.mail-abuse.org/rbl/')dnl
FEATURE(dnsbl, `spamlist.or.kr', `Rejected - see http://www.kisarbl.or.kr/')dnl

[Spam Filtering 해외 블랙 도메인 설정시]

FEATURE(`dnsbl', `relays.ordb.org', `"Rejected due to Open Relay see http://www.ordb.org/lookup/?host=" $& clientaddr} " for more information"')dnl
FEATURE(`dnsbl', `sbl.spamhaus.org', `"Rejected due to Spamhaus listing see http://www.abuse.net/sbl.phtml?IP=" $&{clientaddr} " for more information"')dnl

 

[To stop accepting E-mail from unresolvable domains ]

FEATURE(`accept_unresolvable_domains')dnl

 

저장 후 m4 sendmail.mc > /etc/sendmail.cf 를 실행하고 그 다음 service sendmail restart 를 실행

 

원문출처 : http://blog.pages.kr/225