11. RBL Options:RBL設(shè)置選項;
a) Enable Realtime Blacklist Validation:啟用RBL檢查;檢查失敗時默認會發(fā)送"550 5.7.1 [Sender not authorized by domain policy]"錯誤消息給發(fā)送者;
b) Whitelisted RBL Validation:對白名單也作RBL檢查;默認不啟用;
c) Add X-Assp-Received-RBL Header:將RBL檢查結(jié)果加入到mailheader內(nèi);
d) RBL Failed Reply:重新定義發(fā)送給發(fā)送者的錯誤消息,默認為"550 5.7.1 Blacklisted by RBLLISTED";
e) Enable RBL logging:啟用RBL檢查日志(記錄所有操作及結(jié)果);缺省只記錄RBL檢查失敗的紀(jì)錄;
f) RBL Service Providers:RBL服務(wù)商;默認為"sbl-xbl.spamhaus.org|combined.njabl.org|list.dsbl.org"較多并較為嚴(yán)格,建議使用國內(nèi)的"cdl.anti-spam.org.cn| cblplus.anti-spam.org.cn";
g) Maximum Replies:最大響應(yīng)數(shù),應(yīng)小于或等于RBL Service Providers數(shù)量;在Providers中隨機選擇定義的個數(shù)進行查詢,如定義為3,Providers有4個,則隨機選擇其中3個進行查詢;
h) Maximum Hits:最大命中數(shù):若定義為2次,則只要在查詢3次有2次命中(IP存在于2個Provider的列表中),則判斷為垃圾郵件,并標(biāo)記"X-Assp-Received-RBL:failed"到mailheader中,若命中數(shù)小于2,大于0,則標(biāo)記為neutral;數(shù)值必須大于0小于Maximum Replies;
i) Maximum Time:等待RBL check的最大時間(秒),默認10秒;
j) Socket Timeout:讀取RBL socket超時的時間,默認1秒;
k) Cache RBL Hits:緩存命中的IP記錄;
l) Enforce Cache RBL:與Cache RBL Hits一樣都受后面RBLFailLog定義的影響,因此在后面再作說明;
m) Use IP Netblocks in RBL Cache:在RBL Cache內(nèi)以網(wǎng)段的形式記錄,而不是以單個IP的形式記錄;
n) RBL Cache Refresh Interval:RBL Cache刷新間隔(小時);默認72小時;
12. SRS Options;
13. Virus Control:病毒掃描選項;由于使用Clamav病毒庫,病毒掃描功能比較有限,不推薦使用;
a) External Attachment Blocking:附件過濾級別,0-3的整數(shù),0禁用,即不阻擋附件。3為最高級別,除阻擋級別1和級別2定義的附件外,還阻止級別3定義的附件;
b) Whitelisted & Local Attachment Blocking:對白名單和本地郵件作附件過濾的級別;
c) NoProcessing Attachment Blocking:對發(fā)給NoProcessing列表內(nèi)陸址的郵件作附件過濾的級別;
d) Level 1 Blocked File Extensions:級別1需要阻擋的附件擴展名,默認為"exe|scr|pif|vb[es]|js|jse|ws[fh]|sh[sb]|lnk|bat|cmd|com|ht[ab]";即大部分可執(zhí)行文件;
e) Level 2 Blocked File Extensions:級別2,在級別1的基礎(chǔ)上還需要阻擋的附件擴展名,默認為空,但推薦阻擋"(ad[ep]|asx|ba[st]|chm|cmd|com|cpl|crt|dbx|exe|hlp|ht[ab]|in[fs]|isp|js|jse|lnk|md[abez]|mht|ms[cipt]|nch|pcd|pif|prf|reg|sc[frt]|sh[bs]|vb|vb[es]|wms|ws[cfh]).zip";
f) Level 3 Blocked File Extensions:默認在level 2的基礎(chǔ)上添加了zip擴展名;
g) Attachment Error:附件被阻擋時彈回給發(fā)送者的錯誤信息;
h) Path to Anti-virus Databases:定義病毒庫的路徑(path),默認置空表示使用ASSP自己的病毒過濾功能(即僅查看附件擴展名);
i) List of Anti-virus Signature Database Files:定義Clamav病毒庫文件名,多個庫文件用","(西文逗號)隔開,不能有空格;留空表示禁用病毒掃描功能;改變此選項需要重新啟動ASSP才能生效;
j) Error Message to Reject Infected Email:因病毒掃描郵件被阻擋后彈回給發(fā)送者的消息;默認為"500 Mail appears infected with '$infection' -- disinfect and resend.";
k) Virus Scan Local:勾選該選項則對來自本地用戶的郵件也進行病毒掃描;
l) AV Bytes:默認定義為100000,即100K,僅掃描附件的前100K部分,因為絕大部分病毒都會在掃描前20-100k時被識別出來;
14. Spam Bombs & Scripting
15. TestMode Options:測試模式選項;所有的功能在測試模式時都不會阻擋郵件,而僅是采取過濾一遍;
a) Prepend Spam Subject:附加到垃圾郵件主題前的內(nèi)容;如[spam];不要定義為中文,定義為中文我僅在Linux下的evolution中被正確顯示了出來;
b) Bayesian Test Mode:貝葉斯分析測試模式;
c) Blacklist Test Mode:黑名單測試模式;
d) Helo-Blacklist Test Mode:Validate Sender時產(chǎn)生的HELO-blacklist測試模式;
e) Spam Address Test Mode:應(yīng)該是指匹配到Spam Collect Addresses、Spam Trap Addresses、Blacklisted Domains、Expression to Identify Spam時被判定為垃圾郵件發(fā)送者的地址;
f) SPF Test Mode:SPF測試模式;
g) RBL Test Mode:RBL測試模式;
h) SRS Test Mode:SRS測試模式
i) Bomb Regex Test Mode:Spam Bombs測試模式;
j) Script Regex Test Mode:Scripting測試模式;
k) Missing MX/A Record Test Mode:Validate Sender Domain MX/A測試模式;
l) Reversed Lookup Test Mode:Reversed Lookup測試模式;
m) Invalid Helo Test Mode:HELO檢查測試模式;
n) Forged Local Helo Test Mode:防HELO偽造本地地址策略測試模式;
o) Forged Local Sender Test Mode:防地址偽造本地地址策略測試模式;
p) Penalty Box Test Mode:Penalty Box測試模式;
16. Send All SPAM/HAM:(非)郵件抄送選項;a) Address to CC All Spam:判斷為垃圾郵件的郵件抄送到該地址;
b) CC Select Mode:激活選擇性抄送功能;
c) CC for this recipients only:部分抄送功能激活后,僅將發(fā)送給列表內(nèi)收件人的垃圾郵件抄送到Address to CC All Spam;
d) Prepend Spam Subject to CC-mail:抄送的垃圾郵件主題也加上前綴;
e) Address to CC Ham for selected RECIPIENTS:非垃圾郵件抄送的收件人;;
f) Activate CC Ham:激活非垃圾郵件選擇性抄送功能;
g) CC for this recipients:;將發(fā)送給列表內(nèi)收件人的非垃圾郵件抄送一份給"Address to CC Ham",可以定義
user@domain.com、user(匹配所有本地域)、@domain.com(匹配整個域);
17. Email Interface:Email接口,ASSP的精華所在,通過定義email接口,可以讓所有本地用戶(非redlist用戶)參與到黑白名單的添加刪除和(非)垃圾郵件的判斷與糾正中來;
a) Enable Email Interface:啟用Email接口;
b) Admin Mail Address:管理員地址,設(shè)置后所有的警告和信息郵件將會發(fā)送到該地址;
c) Report Spam Address:默認為asspspam,1.2.2版本及之前版本為assp-spam,因為有的MTA對帶"-"的郵件地址支持不太好(如qmail就聲明盡量避免在郵件地址中使用"-"),從1.2.3開始默認值改變?yōu)閍sspspam;定義該地址后,testdomain.com域的本地用戶、已通過認證的漫游用戶(非redlist用戶)就可以將收到的,被誤判為正常郵件的垃圾郵件轉(zhuǎn)發(fā)(或作為附件轉(zhuǎn)發(fā))到
asspspam@testdomain.com,ASSP接受到該郵件后就會將該郵件(再說一遍,默認是前8k部分噢)保存一份到./error/spam目錄內(nèi),以便在下次rebuildspamdb時學(xué)習(xí)使用;另外它旁邊有一個"Edit spamreport.txt file"按鈕,因為ASSP接受到用戶發(fā)來的報告郵件后會(根據(jù)配置)發(fā)送一封"感謝信"給用戶,點擊這個按鈕就可以編輯"感謝信"的內(nèi)容;直接編輯ASSP路徑下的spamreport.txt文件同樣可以修改該內(nèi)容--中文內(nèi)容不要在Web上面修改,因為Web界面修改保存后會變成亂碼;
d) Report not-Spam Address:默認為asspnotspam,1.2.2版本及之前版本為assp-notspam;同理ASSP接受到該郵件后就會將該郵件保存一份到./error/notspam目錄內(nèi),在下次rebuildspamdb時學(xué)習(xí)使用;編輯旁邊的"Edit notspamreport.txt file"按鈕可以編輯"感謝信"的內(nèi)容;
e) Reply to Spam/Not-Spam Reports:為0-3的數(shù)值,0表示不發(fā)送"感謝信",1表示回復(fù)到提交報告的用戶,2表示發(fā)送到一個指定的用戶(在下面配置),3表示兩個都發(fā)送;
f) TO Address for Spam/Ham-Reports:當(dāng)"Reply to Spam/Not-Spam Reports"配置為2或3時發(fā)送到指定的帳戶;
g) Suppress automatic adding to redlist:禁止自動把從whitelist中移出來的內(nèi)容添加到redlist;
h) Spam/Ham Report & Whitelist Add/Remove:激活選項后,用戶提交notspam報告,會將地址加入到whitelist,提交spam報告則會將地址從白名單移除;
i) Add to Whitelist Address:普通用戶提交白名單時發(fā)送郵件的目標(biāo)帳戶,默認asspwhite;
j) Remove from Whitelist Address:普通用戶取消當(dāng)前白名單內(nèi)內(nèi)容的目標(biāo)帳戶,默認asspnotwhite;需要注意的是用戶發(fā)送郵件去除百名單內(nèi)內(nèi)容時,ASSP會自動到NonProcessing列表中去查找對應(yīng)的地址,如果找到匹配的地址則會移除出去;
k) Suppress automatic removing from NP-List:禁用NonProcessing自動移除,即用戶通過email接口(asspnotwhite)移除白名單時不從NonProcessing中移除;
l) Reply to Add to/Remove from Whitelist:功能同Reply to Spam/Not-Spam Reports一樣,為0-3整數(shù);
m) To Address for Whitelist-Reports:功能同TO Address for Spam/Ham-Reports;
n) Add to Redlist Address:Redlist的Email interface地址;默認為asspred;
o) Remove from Redlist Address:用戶取消redlist內(nèi)內(nèi)容的Email interface地址,默認為asspnotred;
p) Reply to Add to/Remove from Redlist:功能同Reply to Spam/Not-Spam Reports一樣,為0-3整數(shù);
q) To Address for Redlist-Reports:功能同TO Address for Spam/Ham-Reports;
r) From Address for Reports:"感謝信"的發(fā)件人地址;
s) Don't reply to messages to the Email Interface:勾選該選項后則不發(fā)送"感謝信";
18. File Paths:設(shè)置各配置文件的路徑和文件名,這個比較簡單,就不做說明了;
19. Logging:日志選項;
a) Silent Mode:安靜模式,不將log輸出到主機的console上,激活A(yù)sADaemon模式后此選項值無效,log信息將不會輸出到console;
b) ASSP local logging:在ASSP的安裝目錄中記錄maillog日志;
c) SYSLOG Centralized Logging:將日志記錄到syslog中,需要perl的Sys::Syslog模塊;
d) File name logging:日志中記錄文件名;將保存的郵件文件名記錄到日志中;
e) Enable Maintenance logging:記錄維護操作;如保存白名單、greylist刷新,向ASSP官方站點上傳狀態(tài)消息等操作;
f) RegEx Length in Log:記錄郵件過濾時匹配到的表達式的最大長度,默認20個字符;
g) Maillog Tail Bytes:點擊web管理界面的"Maillog Tail"時輸出到瀏覽器的log大?。˙ytes),默認10000即10k;
h) Maillog Tail Wrap Column:通過web界面查看maillog時,自動換行的字符數(shù),默認第80個字符;
i) Debug Mode:將debug信息輸出到一個.dbg文件,在需要跟蹤錯誤時使用;
j) Send NOOP Info:Checked means you want ASSP to send a "NOOP Connection from $ip" message to your SMTP server. (Postfix croaks on this.)
k) Whitelisted Blocked Attachments:白名單附件過濾后存放的位置;默認為2;從這里開始的配置都遵循一個規(guī)律,值為2-7的整數(shù),其中:
i. 2 = notspam folder;非垃圾郵件文件夾;
ii. 3 = spam folder;垃圾郵件文件夾;
iii. 4 = mailok folder;正常郵件文件夾(如果有定義);
iv. 5 = Virus folder;保存在病毒文件夾;
v. 6 = discard;不保存;
vi. 7 = discard \& ccallspam;不保存(抄送?不抄送?哪位知道?);
l) No Processing Blocked Attachments:No Processing名單發(fā)送的郵件附件隔離選項;默認5;
m) External Blocked Attachments:外部郵件附件隔離選項;默認5;
n) Spam Bombs:Spam Bombs檢查失敗隔離選項;默認6;
o) Scripts:Scripts檢查失敗隔離選項;默認3;
p) Bayesian Non Spam:貝葉斯判斷為非垃圾郵件保存選項;默認4;
q) Blacklisted Domains:來自域黑名單的郵件保存選項;默認3;
r) Spam Helos:HELO檢查失敗的郵件保存選項;默認6;
s) Spam Addresses:垃圾郵件保存位置;默認3;
t) Bayesian Spams:貝葉斯判斷為垃圾郵件保存選項;默認3
u) SPF Failures:SPF檢查失敗的郵件保存選項;默認3;
v) RBL Failures:RBL檢查失敗的郵件保存選項;默認3;
w) SRS Failures:SRS檢查失敗的郵件保存選項;默認3;
x) Invalid Sender Failures:發(fā)送者驗證失敗的郵件保存選項;默認3;
y) PB Blocks:PB是什么東東?誰知道?
z) Non Spam Log Frequency:非垃圾郵件的保存間隔;默認1,即每封都保存下來;若設(shè)置成10,則每10封正常郵件保存一封;如果郵件負載很大則推薦設(shè)置一個大于1的值;
aa) Spam Log Frequency:垃圾郵件的保存間隔;默認1,即每封都保存下來;推薦1;
bb) Don't Log these IP's*:不保存從列表內(nèi)IP發(fā)過來的郵件;如果某些IP發(fā)送的垃圾郵件體積比較大,建議添加到這里面;
cc) Jump to the End of the Maillog:勾選該選項時,管理員web登陸時會跳到maillog tail頁面,而不是配置的主界面;
dd) Roll the Logfile How Often?:log rotate的間隔時間,也就是每個日志文件保存多少天的日志內(nèi)容;
20. Security:安全選項;可以設(shè)置ASSP運行的UID,GID,chroot環(huán)境,修改webadmin的密碼,限制訪問Web配置界面的IP(段),是否將訪問被拒絕的信息記錄到日志等;如果IP訪問設(shè)置錯誤,只有修改assp.cfg配置文件;
21. Other Settings:可以設(shè)置保存郵件的單個目錄內(nèi)最大的文件數(shù)(默認14009)、每封郵件保存多少字節(jié)的內(nèi)容、TCP/IP緩存大小、內(nèi)存中spamdb的hash表的大小,在services/Daemons模式下異常退出時重起的時間、是否壓縮服務(wù)器與管理員瀏覽器間的數(shù)據(jù)流(需要perl的Compress::Zlib模塊)、是否向ASSP官方站點上傳狀態(tài)數(shù)據(jù)、是否激活配置菜單浮動效果、使用本地時間代替UTC時間等選項;
* 五、綜述與回顧:
1、ASSP擁有令人眼花繚亂的功能選項和配置界面,對于國內(nèi)用戶來說,能用上(推薦使用)的功能其實也就Bayes、RBL、Blacklist、Whitelist;Delay選項可用可不用;
2、Email interface的設(shè)計的確是一個相當(dāng)人性化的設(shè)計,但除非全新架設(shè)一套mail系統(tǒng),否則系統(tǒng)調(diào)整的工作量和風(fēng)險還是比較大的--因為需要用戶把MUA的smtp服務(wù)器指向ASSP,無論是修改DNS,還是直接通知用戶,管理員都需要做較多的準(zhǔn)備和充分的測試;另外一個使用Email interface而不需要修改MUA的smtp服務(wù)器設(shè)置的方法就是:在DNS內(nèi)建立一個虛假的域(如assp.com)并添加到ASSP的Local Domains內(nèi),而將用戶發(fā)送到
asspspam@assp.com等的郵件通過smtproute或在DNS內(nèi)設(shè)置MX記錄指向ASSP主機--轉(zhuǎn)發(fā)給ASSP,這樣就可以對用戶完全透明地使用ASSP的Email interface了;
3、ASSP截至到1.2.3版本,對中文(和其他雙字節(jié)語言)的支持非常有限,就不可避免的會出現(xiàn)垃圾郵件的誤判;而且在Web界面配置時,如果直接輸入中文內(nèi)容,保存后會變成亂碼,這樣就導(dǎo)致自定義規(guī)則無法生效;我就曾經(jīng)在Expression to Identify Spam*文件內(nèi)自定了約100行中文規(guī)則,結(jié)果保存后一個都沒有生效;但后來直接vi了spam_pattern.txt文件輸入該規(guī)則后就可以正常識別了;使用郵件主題作郵件文件名是亂碼;同樣保存下來的中文郵件的內(nèi)容也是一塌糊涂;后來我將CC過來的所有spam和notspam手工分類,傳送到ASSP目錄下的spam和notspam目錄內(nèi),rebuildspamdb后,ASSP就可以根據(jù)spamdb的內(nèi)容來給郵件評分了;
4、初始安裝下由于沒有spamdb,Bayes分析幾乎把我所有的郵件都判斷成了垃圾郵件,第一次rebuildspamdb時,共判斷為垃圾郵件約1100封,經(jīng)過手動分揀出來約400封左右的誤判,幾乎達到30%的誤判率;但第一次學(xué)習(xí)之后,誤判就明顯降低,5天下來,我共收到識別的垃圾郵件32000多封,除去之前的1100封共31000封左右,其中有約10000封為RBL阻擋;在剩下的20000封中約200封為誤判,降低到了1%。(注意,這些數(shù)字是ASSP抄送給我的垃圾郵件中提取出來的,并不代表沒有抄送過來的就不是垃圾郵件,所以這個數(shù)字并不嚴(yán)密)
從我的實際測試來看,在繞過了中文識別這個難題后,ASSP的反垃圾郵件能力還是非常強大的;當(dāng)然可能是因為我所在的域垃圾郵件本身就很猖獗吧,環(huán)境不同,效果也就不同。
5、總是來說是喜憂參半吧,ASSP強悍的反垃圾郵件能力和近乎傻瓜化的配置對新手無疑有很大的吸引力(我就是這樣,hoho);而對于有能力和經(jīng)驗的程序員來說,修改一下ASSP的源代碼,使其能夠較好的支持中文應(yīng)該也不是很難,但還是希望ASSP的后續(xù)版本加強對雙字節(jié)語言的支持。