一 、概述
Assp 全稱 anti-spam smtp proxy (反垃圾郵件 smtp 代理),是用 perl 語言開發的一款發垃圾郵件的 smtp 網關,並可結合開源的 clamav( 郵件防病毒軟件 ) 使用。目前其開源項目都存放在開源平台 sourceforge 上面,並持續更新。 Assp 目前主要分 1.x 和 2.x 版本。使用較多的是 1.x 版本, 2.x 是作者推薦的,目前使用教程比較少,不過如果熟悉了 1.x 版本那么對2.x 也會很容易上手的, 1.x 和 2.x 的區別主要是參數配置上的調整,但核心功能區別不大。
Assp 是支持 window 和 Linux 跨平台的。本文主要講述的 linux 下的安裝使用。相信不會有幾個人將其部署到 window 上做服務器使用的。
1.1 英語名詞解釋:
1 SPF & SRS:
SPF 是為了防范垃圾郵件而提出來的一種 DNS 記錄類型,它是一種 TXT 類型的記錄,它用於登記某個域名擁有的用來外發郵件的所有 IP 地址。 SPF 的作用主要是 反垃圾郵件 ,主要針對那些發信人偽造域名的垃圾郵件。
SRS ( Sender Rewriting Scheme 維基可查)是發件人重寫方案, SRS 是轉發 MTA 以重寫發件人地址的簡單方法。
2 Ham or Spam:
非垃圾郵件 或 垃圾郵件
3 DKIM:
電子郵件驗證標准 —— 域名密鑰識別郵件標准 , 發送方會在電子郵件的標頭插入 DKIM-Signature 及 電子簽名 資訊。而接收方則透過 DNS 查詢得到公開金鑰後進行驗證。
4 DMARC:
[DMARC] 協議基於現有的 [DKIM] 和 [SPF] 兩大主流電子郵件安全協議,由 Mail Sender 方(域名擁有者 Domain Owner )在 [DNS] 里聲明自己采用該協議。當 Mail Receiver 方(其 MTA 需支持 DMARC 協議)收到該域發送過來的郵件時,則進行 DMARC 校驗,若校驗失敗還需發送一封 report 到指定 [URI] (常是一個郵箱地址)。
二、 安裝教程
2.1 環境安裝
2.1.1 下載安裝編譯 perl
perl 版本: >=5.2.0 版本 ( 建議 )
安裝步驟:略 .....
2.1.2 下載安裝 assp 依賴的 perl 庫
Assp 使用了 Perl 的幾個特殊的庫,在安裝 perl 后還需安裝其一些依賴庫,總之在運行 assp 時提示缺什么你就下什么即可,assp 運行起來后,在其最后一個配置項“ perl model setup ”中列出了那些功能使用了那些模塊,如果要開啟 assp 對應的功能,一定要看下該配置項的說明是否提示需要提前安裝對應的 perl 模塊,目前我的 lfs 系統缺失的庫如下所示:
libnet-dns-perl
libhtml-parser-perl
Perl 庫的安裝方法:(區分大小寫)
tar -zxvf XXX.tar.gz ; 解壓下載的庫
cd ./xxx ; 進入目錄
perl MakeFile.PL ; 文件夾下一定有這個文件,如果沒有說明庫安裝包類型不同, ; 請自行查找其安裝方式
make && make install; 編譯安裝
2.1.3 下載安裝 assp
1. 去 sourceforge 官網搜索 anti-spam smtp proxy 可直接下載源程序
略 ...
2. 解壓源程序並進入 assp 文件下
3. 找到 assp.pl 文件
注意: assp.cfg 文件是沒有的此時,這時 assp 的配置文件
4. 執行 perl assp.pl ,等待幾秒鍾后直接 ctrl+c 停止(第一次執行會可能會提示你卻對應的 perl 模塊,下載安裝
即可)。
該步驟執行后會產生 assp.cfg 文件
5. 打開 assp.cfg 文件 進行簡單的配置。
allowAdminConnectionsFrom 配置:
找到 allowAdminConnectionsFrom 配置項,這個配置項是 assp 后台管理界面的 IP 訪問控制,將自己主機的 IP 地址配置進去,本機就可以通過瀏覽器訪問到 assp 的后台管理頁面。可進行多 IP 項配置,不配置則全部允許。
多項配置示例: 127.0.0.1|192.168.X.X|X.X.X.X
webAdminPort 配置:
webAdminPort 參數是后台管理界面的服務端口。默認是 55555, 可自行修改。
4. 打開瀏覽器輸入 http: assp 服務 IP :55555
第一次登陸會提示輸入用戶名密碼:
用戶名: root
密碼: nospam4me
上面的是初始賬戶密碼,進入系統后可自行修改。
下圖是成功進入到系統后的界面,參數非常之多,功能非常之強。
三 、 assp 介紹說明
3.1 特別說明
3.1.1. ASSP 的配置包含四種類型
a) 第一種是 checkbox 型,勾選則激活,取消則 disable ;
b) 第二種是設置 、 1 開關型; 表示 disable , 1 則 enable ;
c) 第三種是列表型,在一個輸入框內輸入匹配規則,規則遵循 perl 的正則表達式,如以 "|" 表示 " 邏輯或 " ;
d) 第四種為帶 "*" 的選項,除了支持第二種配置方法外,還可以以 "file:FILENAME" 的方式指 定配置文件,文件內每行一個規則,同樣支持 perl 正則表達式。定義為 file:FILENAME 形式的輸入框后面會有一個 "Edit File" 按鈕,單擊可以編輯指定的文件;
3.2 名詞介紹
3.2.1Greylist :灰名單
為獨立於黑白名單而命名,內容為 IP 地址,這類名單不一定就是垃圾郵件的發送者,但服務器在第一次接受到從該 IP 發送過來的郵件時,會產生一個 451 錯誤: Resources_temporarily_unavailable._Please_try_again_later ,一般的垃圾郵件發送軟件就會放棄重試,但正常的郵件服務器卻因為隊列時間的原因,會在一定的時間內重試,這在一定程度上可以減少垃圾郵件進入服務器的幾率。
3.2.2 Redlist :紅名單
Redlist 是針對某些特殊帳號而引入的,可能也是 ASSP 特有的吧;因為 ASSP 可以讓用戶參與添加、刪除黑白名單,但不可避免的也存在部分帳號,管理員不允許(或不希望)對黑白名單有添加刪除權限;將這類帳號添加到 Redlist 中后,他們對黑白名單的添加刪除操作將會被忽略。
3.2.3 RBL :實時黑名單
通過查詢發件 IP 是否存在於 rbl 服務商提供的列表,以確定郵件是否是垃圾郵件;國外最知名的是 spamhaus.org ,還有njabl.org , dsbl.org , sorbs.net 等。都提供免費的 RBL 服務。
3.2.4 White/Black list :黑、白名單
通過查詢發件人 IP 、域、 email 地址是否存在於自定義的白 / 黑名單,來確定該郵件是否為垃圾郵件。
3.2.5 Bayes :
基於 Thomas Bayes 的偉大理論: " 某件事情發生的概率大致可以由它過去發生的頻率近似地估計出來 " ,(他的另外一個理論也同樣讓人震撼: " 上帝的存在可以通過方程式證明 " )通過對已經存在的垃圾郵件 (./spam) 和非垃圾郵件(./notspam) 進行統計分析,可以推斷新收到的這封郵件是否是垃圾郵件的概率; ASSP 通過對郵件中的現有詞匯進行分析並給出一個評分值保存在一個庫中,在收到一封新郵件時通過對現有庫中詞匯的匹配程度進行相應的評分,超過某個分值則認為是垃圾郵件。所以進行 Bayes 分析需要大量的已知條件 --ASSP 要求超過 400 封垃圾郵件和非垃圾郵件 -- 條件滿足時,你就可以通過重建 spamdb ,讓 ASSP 學習你所處的環境中那些是垃圾郵件,那些不是垃圾郵件了。
3.3 工作模式
3.3.1 使用方法 1
進來的郵件 Internet==== 〉 ASSP===== 〉 Mailserver====== 〉 Local user ;
出去的郵件: Local user===== 〉 ASSP====== 〉 Mailserver==== 〉 Internet ;
這也是 ASSP 推薦的架構方法;而且 ASSP 可以識別 User 到 Mailserver 之間認證成功與否的狀態。這樣認證成功的用戶也擁有和 localuser 同樣的權限。
3.3.2 使用方法 2
進來的郵件: Inernet==== 〉 ASSP===== 〉 Mailserver====== 〉 Local user ;
出去的郵件: Local user===== 〉 Mailserver======= 〉 Internet ;
報告垃圾郵件和添加黑白名單: Local user=== 〉 Mailserver===== 〉 ASSP ;
以上就是開源的反垃圾郵件軟件ASSP的簡單介紹,其實現在“ 郵件內容安全” 已經是郵件安全的重心了,反垃圾、反病毒已經是很成熟了,目前對用戶郵件內容信息的保護很多郵件廠商只能提供基礎的安全手段,要不然各種郵件泄密事件也不會頻頻發生。針對這一塊,國內的" 隱密郵 ”就是以 郵件加密網關 的形式處理加解密郵件的,而且是“ 郵件透明加密 ”處理,是以單純的 MTA 形式轉發處理的,既不在客戶端也不在服務器,是實時傳輸加解密的,這樣郵件就不會被其落地 ( 反垃圾防病毒都需要先全部收取郵件后再處理轉發的 ) ,安全性上也很好,加密后的郵件會在郵件服務器上以密文形式存在,這樣就算服務器被攻破也不用怕,現在也有免費的試用平台可以測試試用,關鍵是不像ASSP這樣擁有復雜的配置手段,下一篇我將講解下關於 隱密郵 的文章。