[Qmail] spamassassin 룰 설정 (점수부여)

참조 : https://wiki.apache.org/spamassassin/WritingRules

Perl Regex Syntax 참조: https://www.tutorialspoint.com/perl/perl_regular_expressions.htm

:: spamassassin 룰 설정 (점수부여).

원문참조 : http://spamassassin.apache.org/full/3.2.x/doc/Mail_SpamAssassin_Conf.html

스팸어쎄신을 이용하여 스팸메일을 차단하는데 있어 스코어 점수을 이용하여
그 점수를 판단하여 스팸여부를 확인 할수 있다

local.cf에서 점수 부분을 기여하면 된다.
자신이 보내는 메일에 대해서 스팸어쎄신을 적용하려면 스팸밀터를 설치하면 되는것이다.
아래 옵션에 대한 부분은 검색해보면 많이 나올것이다

[root@ns1 ~]# vi /etc/mail/spamassassin/local.cf

# SpamAssassin config file for version 3.x
# NOTE: NOT COMPATIBLE WITH VERSIONS 2.5 or 2.6
# See http://www.yrex.com/spam/spamconfig25.php for earlier versions
# Generated by http://www.yrex.com/spam/spamconfig.php (version 1.50)
# How many hits before a message is considered spam.
required_score 10
# Change the subject of suspected spam
rewrite_header subject [SPAM]
# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
report_safe 1
# Enable the Bayes system
use_bayes 1
# Enable Bayes auto-learning
bayes_auto_learn 1
# Enable or disable network checks
skip_rbl_checks 1
use_razor2 1
use_dcc 1
use_pyzor 1
# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# – korean
ok_languages all
# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales all
whitelist_from *@xinet.kr *@nate.com*@naver.com
blacklist_from *@hosanna.net *@blankrome.com

위에서 whitelist_from 하고 blacklist_from을 잘 활용하면 특정 메일에 대해서는 허용 및 거부 할수 있다

위 옵션에 대한 설명

report_safe : 스팸으로 판단될 경우 원본글을 감출지 여부이다. 메일을 읽는 순간 당할수 있는 그 어떤 공격이 두렵다면 1로 해야 한다. 하지만 0으로 설정한다.

required_score : 몇점 이상을 스팸메일로 의심할것인지에 대한 설정이다. 이것은 서버관리자의 주관적인 부분이다. 그냥 5로 해도 무관하다고 본다.

use_bayes : 학습된 Bayesian Classifier를 사용할것인지에 대한 여부이다. 당연히 1로 한다.

bayes_auto_learn : 자동학습에 대한 설정이다. 정말로 확실한 스팸의 경우 분석하여 나누어진 토큰을 지속적으로 학습 시킨다. 물론 자동으로.

bayes_path : 학습된 토큰 파일을 저장할 위치이다. 기본적으로 사용자 별로 개별 저장되나 이런식으로 하여 중앙 관리가 가능하다. 저 값은 접두어다. 저 뒤로 _toks와 _seen이 붙는 파일 두개가 생긴다.

bayes_file_mode : 파일의 권한이다. 666정도면 되겠다.

skip_rbl_checks : RBL체크값을 점수에 활용한다. 나름 맹활약을 하게 된다.

use_razor2 : Vipul’s Razor라는 곳에서 운영하는 블랙리스트 공유 시스템을 활용할지 여부이다. 난 사용안했다. 설치할것이 별도로 존재한다.

use_dcc : Distributed Checksum Clearinghouse의 약자이다. 실제 홈페이지에서는 스팸을 줄이는데 특출난 효과가 있다고 설명하고 있다. 필요하다 판단되면 사용하자

use_pyzor : Razor2와 비슷한 역할을 하는것 같다. 자세한건 사용해 보지 않아서 모르겠다. 홈페이지는 여기

ok_languages : 중요하게 사용되는 언어를 설정해 주면 된다. 한국의 경우 ko를 적어주면 된다. 영어권과 메일을 주고 받을일이 많다면 en도 추가해 주자.

ok_locales : 위와 같은 역할을 한다.

score : 별도로 특정 룰에 대한 점수를 강제로 지정할 수 있다.

whitelist_from : 믿을 수 있는 메일주소를 지정해주자. 매우 중요한 거래처의 메일이나 같은 서버의 메일은 굳이 점수를 매길필요가 없다.

다음의 SPF설정은 SPF의 신뢰도를 믿고 점수를 -해주겠다는 뜻을 가지게 된다