procmail + spam assassin 에 대한 질문입니다.
글쓴이: zepinos / 작성시간: 일, 2004/02/15 - 11:19오후
현재 postfix 에 procmail 을 연동하였습니다.
그런데, procmail 을 이용하면 spam assassin 을 편하게 붙일 수 있다고 들었습니다. 그런데, 이에 대한 문서를 잘 못찾겠네요.
간단하게, 어느 정도 이상의 점수가 나오는 메일의 제목에 **SPAM** 이라는 글자만 추가하는 정도의 기능만 있으면 만족합니다. 바로 지워버리고...그런건 필요 없구요.
현재 spam assassin 은 설치가 되어 있는 듯 한데요...설치가 되었는지 확인할 방법은 없을까요? spamassassin 이라는 실행화일은 존재하던데 말입니다.
조언 부탁 드립니다.
Forums:
저는 system-wide 하게 설치해 사용하고 있지는 않고, 개인 계정
저는 system-wide 하게 설치해 사용하고 있지는 않고, 개인 계정에다 풀어 두었습니다. (스팸을 좋아?하는 사용자도 있게 마련이므로..) spamassassin 매뉴얼 페이지를 참고해서 ~/.spamassassin/user_prefs 수정하고, .procmailrc 의 적당한 곳에 :
2.4x, 2.5x, 2.6x 버전별로 user_prefs 설정이 조금 다르므로, 함께 배포된 README, INSTALL 읽어 보셔야 합니다. (report_header, defang_mime 등..)
War doesnt determine whos right, just whos left.
답변 감사드립니다.
저는 전체 메일 서버 단위로 작업을 처리하고 싶은데요...
~/.spamassassin/user_prefs 대신에 spamassassin 의 local.cf 화일을 수정해주면 되는 것인지요?
조언 감사드립니다.
Re: 답변 감사드립니다.
네. /usr/share/spamassassin/*.cf 에 있는 파일은 배포되는 기본값입니다. /etc/mail/spamassassin/*.cf 를 수정하시면 우선적으로 적용됩니다.
그리고 spamassassin 홈페이지의 설명을 보면 :
이런 문서가 있으니 참고하시면 되겠습니다. 저는 postfix 사용하지 않아서 직접 테스트할 기회가 없었습니다.
한편 메일서버 전체에 spamassassin 을 걸기 전에, alias 를 걸어둔 계정을 하나 만들어 그 계정에만 적용되도록 설정하시고 얼마간의 시간을 두어 스팸이 제대로 처리되는지 확인해 보세요. 그래야 일반 사용자들이 불편하지 않겠지요.
War doesnt determine whos right, just whos left.
Re: 답변 감사드립니다.
위의 문서는 진작에 읽어본 적이 있습니다.
현재 테스트는 FreeBSD 에서 하고, 성공한 뒤에 Linux 에도 옮길 예정입니다. 그런데, 어디서 읽은 문서로는 Postfix 에서는 Procmail 을 이용하게만 설정해주고, Procmail 에서는 SpamAssassin 만 호출하도록 세팅하면 편리하게 이용할 수 있다는 글을 읽었습니다.
문제는...Procmail 에서 Spam Assassin 을 호출하게 하는 방법을 잘 모르겠고...Spam Assassin 역시 기본 세팅조차 하기가 힘드네요.
Spam Assassin 의 local.cf 견본이라도 알려주시면 감사하겠습니다.
FreeBSD 에서의 설치에 관한 것은 아래 사이트를 참조했습니다.
http://goosia.com/board/view.php?id=FreeBSD&no=98
문서 도중에 procmailrc 에 SA 만 집어넣으라는 말은...도저히 이해 불가입니다. -_-;;;
Re: 답변 감사드립니다.
원하시는 일이 무엇인가요.? 주로 spamassassin 은 (pipe 를 통해) 전달된 메일 텍스트를 읽어보고 적절한 tag 을 붙여주도록 할 때 씁니다. 그래서 메일 수신단에 붙여 놓든지, 혹은 유저에게 메일이 전달된 후에 붙이든지 두 가지 방법을 선택적으로 사용할 수 있습니다. 그러니 postfix 에 연동해 두셨다면 이미 스팸이라는 딱지가 붙은 메일이 유저에게 전달되고, 그렇지 않다면 각 유저가 직접 spamassassin 을 불러 써야 합니다.
따라서 읽어보셨다는 Greg Webster 의 문서를 따라서 postfix 에 spamassassin 을 붙여 놓으신다면 더 이상 설정할 것이 없습니다. 유저에게 배달되는 메일에 이미 스팸 딱지가 붙어 있을겁니다. (제목을 바꾸어 준다든지, 헤더에 스팸 안내문을 끼워 둔다든지 하는 일은 spamassassin 의 설정에서 해 줄 문제고요.) 이 딱지를 .procmailrc 에서 체크하게 하는 것은 유저가 편의를 위해 설정을 할 문제이지, 하지 않아도 상관 없습니다. 송상 도방도 제 싫으면 안한다는데.. :) 반면 spamassassin 을 /usr{,/local} 아래에 설치해 두기만 한다면, 즉 postfix 에 물려놓지 않는다면, 각 유저가 .procmailrc 에서 spamassassin 을 불러 써야 합니다. 이 방법은 첫 번째 답변에서 설명 드렸습니다.
freebsd 에서의 사용법을 담은 글을 따라가시는 것은 제가 말씀드린 두 번째 방법을 사용하는 것으로 보입니다. 그 글에서
가 procmailrc 에 SA 를 끼워 넣은 것입니다. spamassassin 을 누가 (postfix 또는 user) 불러 쓰도록 할 것인지 우선 결정해 보세요.
그리고 기본으로 배포되는 설정만으로도 대부분의 스팸은 잘 잡아냅니다. 특별히 신경을 쓸 부분이라면 README 의 Customising SpamAssassin 편을 참고하세요. 제가 쓰는 설정은 아래에 있습니다 :
http://cizz.net/pub/user_prefs
http://cizz.net/pub/procmailrc
말씀드린 바와 같이 저는 개인 계정에다 풀어서 쓰고 있고, 특히 제목을 변경시키기를 원하지 않으므로 report_safe 0 으로 두었습니다.
War doesnt determine whos right, just whos left.
spam keyword로 "동영상, 복권, 리스트, 추출기, 부자, 성인
spam keyword로 "동영상, 복권, 리스트, 추출기, 부자, 성인, 읽을때마다, 무료, 공짜, 수신거부, 개인정보, 신용정보" 등의 단어를 추가해서 쓰고 있습니다.
그리고 ruleset을 아래 정도로 조정하는게 도움이 될겁니다.
답변 감사합니다.
제가 쓰고자 하는 용도는 스코어를 부여해서 일정 점수 이상의 메일의 제목에 **SPAM** 이라는 글자를 앞에 적어두는 것입니다.
사용자들이 **SPAM** 이라는 글자가 메일 제목에 포함된 것은 별도 관리할 수 있도록 하기 위해서 말이죠.
그럼, 이러한 작업을 해 주기 위해서는 처음 제시하셨던 문서대로 세팅을 하던가, 아니면 procmailrc 에 SA 를 붙인 후 .spamassassin 화일을 각 사용자별로 생성해서 넣어줘야 한다는 건가요?
저를 제외한 다른 사용자들이(현재는 그 수가 적긴 하지만) 대부분 컴맹에 가까운 사람들이라 그러한 작업은 불가능에 가까울 듯 하네요.
또한, FreeBSD 의 특성상(Linux 로도 작업할 계획입니다만) ports 로 설치를 할 경우 중간에 세팅들이 기본 문서들과는 조금 다르게 되기 때문에 무엇을 실제로 적용해줘야 하는지도 좀 애매하네요. ai 님의 설정화일을 보니 FreeBSD 쪽에서 작업하신 것 같기도 하네요. 설정 화일을 잘 분석해봐야 할 듯 합니다.
postfix 에서 procmail 을 사용하게 설정하고, procmailrc 에서 SA 를 그냥 부른 후, SA 의 local.cf 의 설정만 해 주어서 메일 제목에 **SPAM** 을 부여할 수 있는지...아직도 가물가물합니다. 좀 더 내공을 쌓아야 할텐데...T.T
좀 더 고민해보겠습니다.
답변 주셔서 감사합니다. ai님, cdpark님.
해 보니까...
ai 님께서 주신 두 개의 설정 중 user_prefs 를 local.cf 에 넣고, SA 를 procmailrc 에 단순히 붙여서 하니, 작동을 하는 듯 합니다.
이런 식으로 말이죠.
원래 이렇게 본문을 감춰버리는 것인지, 그냥 메목에 **SPAM** 만 붙일 수 있는 것인지 SA 를 좀 더 연구해봐야 할 듯 합니다.
도움 주신 ai 님께 다시 한 번 감사드립니다. 8)
Re: 답변 감사합니다.
아마도 제목에 spam tag 을 넣도록 세트하면, 제목의 한글 인코딩이 부러지는 문제가 있었던 것으로 기억합니다. 그래서 제목을 바꾸지 않고 헤더에 표시하도록 사용하고 있습니다. 혹시 제가 설정을 제대로 하지 않아서 그랬을 수도 있는데, 아무튼 저는 어떤 메일이 스팸이라도 "있는 그대로" 보여지는 편이 좋더군요.
농담이시겠지요.? :shock: freebsd 쓰시는 분 중에 컴맹이 있으시단 얘기는 처음 듣는군요. :) 결과적으로.. 유저에게 아무런 설정도 강요하고 싶지 않다면 그저 postfix 에다 spamassassin 을 물려주면 되는 일 같습니다.
어떤 경우라도 ~/.spamassassin/* 파일은 각 유저가 반드시 가지고 있어야 하는 것은 아닙니다. 그저 "있으면 우선적으로 적용" 일 뿐이니까요. /etc/mail/spamassassin/* (혹은 freebsd 라면 /usr/local/etc/ 인가요.?) 에서 설정해 두신 내용이 모든 유저에게 해당되니, 이쪽에서 해결하시는 편이 유저의 부담을 덜게 될 듯 합니다.
저는 freebsd 사용하지 않습니다. 하지만 경로명 외에는 별 차이가 없을 듯 한데요. 그리고 제 설정 파일에는 별 내용도 없고요. cdpark 님께서 알려주신 내용을 쓰시는 편이 더 좋을 것 같습니다. 사실 제가 개인 계정에다 풀어 쓰는 이유도, 스팸 필터링이 좀 "대충대충 슥삭" 이라서, 가끔은 받아야 할 메일도 스팸으로 처리하기 때문입니다. 저야 안보면 그만이지만, 다른 사용자들에게까지 강요할 수는 없으니까요.
이렇게 해도 되겠지요. 대신 사용자마다의 ~/.procmailrc 에다 spamassassin 을 넣어 주셔야 합니다. /etc/procmailrc 로 일괄 적용이 되는지는 모르겠지만, 이렇게 되어 있는 시스템을 본 적이 없고 특별히 그렇게 할 이유도 없을 듯 합니다.
War doesnt determine whos right, just whos left.
Re: 해 보니까...
spamassassin 최근 버전을 쓰시는군요. 기본 설정은 "스팸일 경우 원문을 첨부로 붙인 보고서 형태" 로 전달하는 것입니다. 입맛에 맞는 설정으로 쓰세요. :)
War doesnt determine whos right, just whos left.
Re: 해 보니까...
man Mail::SpamAssassin::Conf
rewrite_subjet 옵션을 고치면 됩니다.
댓글 달기