﻿# 設定 SpamAssassin 阻擋所有從俄羅斯(Russia)來的垃圾信

這幾個月不知為何從俄羅斯([Russia](http://en.wikipedia.org/wiki/Russia))來的垃圾信這麼多，而且還每一封都神奇的穿過了 [SpamAssassin](http://spamassassin.apache.org/) 的阻擋，所以我前幾天終於靜下心把這個問題研究了一下，並且成功阻擋所有來自俄羅斯的垃圾信。

我也發現，這些從俄羅斯寄來的垃圾信十分"專業"，基本上都完全符合 MIME 標準，所以對 [SpamAssassin](http://spamassassin.apache.org/) 來說基本的檢查都能夠通過，不過我納悶的是不知道為何這些信為什麼可以完整通過 [SpamAssassin](http://spamassassin.apache.org/) 所有規則的檢查？

為了要成功過濾所有從俄羅斯來的信，我還特別分析了一下垃圾信的原始內容，所以我抓了其中一封垃圾信的郵件標題(Mail Headers)，如下：

```
Microsoft Mail Internet Headers Version 2.0
X-Virus-Scanned: Debian amavisd-new at antispam.test.com
From: "antoine cosmo" <nmtue@soyu19.tk>
To: <receiver@test.com>
Subject: =?koi8-r?B?7MDC2cUsIMTB1iDF08HN2cUgx9LR2s7ZxSDTxcvT1cHM2M7ZxSDGwQ==?=
        =?koi8-r?B?ztTB2snJLCDP1snXwcDUINrExdPY?=
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2720.3000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2727.1300
Message-Id: <20080923021045.5206024C410@test.com>
Date: Tue, 23 Sep 2008 10:10:43 +0800 (CST)
X-OriginalArrivalTime: 23 Sep 2008 02:08:43.0597 (UTC) FILETIME=[4DF79FD0:01C91D21]
```

由此得知，這些從俄羅斯寄來的垃圾信所用的文字都是使用 [KOI8-R](http://en.wikipedia.org/wiki/KOI8-R) 編碼，另外我也查到 [windows-1251](http://en.wikipedia.org/wiki/CP-1251) 編碼也是俄羅斯常用的編碼，反正這些國家的語言一定看不懂就是的，所以光是針對這個特性進行 SpamAssassin Rules 撰寫應該就可以過濾掉一大堆垃圾信了，這樣子我的 Outlook 應該會乾淨些！

我看了一遍 [Writing Rules](http://wiki.apache.org/spamassassin/WritingRules) 文件，自己寫了一段 Rule 到 **/etc/spamassassin/local.cf** 檔案中，內容如下：

```
header   __KOI8_TO              To:raw           =~ /\?(koi8-r)|(windows-1251)\?/
header   __KOI8_FROM            From:raw         =~ /\?(koi8-r)|(windows-1251)\?/
header   __KOI8_SUBJECT         Subject:raw      =~ /\?(koi8-r)|(windows-1251)\?/
header   __KOI8_ContentType     Content-Type:raw =~ /\?(koi8-r)|(windows-1251)\?/
meta     LOCAL_WILL_DEFINEDRULE (__KOI8_TO||__KOI8_FROM||__KOI8_SUBJECT||__KOI8_ContentType)
score    LOCAL_WILL_DEFINEDRULE 14.0
describe LOCAL_WILL_DEFINEDRULE Sent by using koi8-r & windows-1251 encoding
```

加上之後只要重新啟動 [SpamAssassin](http://spamassassin.apache.org/) 即可：

```
/etc/init.d/spamassassin reload
```

由於我一口氣加了 14.0 分上去，所以這些信幾乎是再也不可能出現在我的 Outlook 了。

測了幾天後，垃圾信大概又少了將近 80%，真是大快人心阿。^\_^
