首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 邮件与开发 | 金笛 |
首页 > 邮件服务器 > Postfix > Postfix + Amavisd-new + SpamAssassin + ClamAV > 正文

Postfix + Amavisd-new + SpamAssassin + ClamAV

出处:freebsd.ntut.idv.tw 作者:freebsd.ntut.idv.tw 时间:2006-10-16 15:53:00
Descriptions:

        一年之前我在 Mail Server 加裝 Virus 跟 Spam 的過濾機智,Virus 部份表現非常優異,幾乎替我擋掉了所有的病毒郵件,面對病毒信件的痛苦指數全部消失,而 Spam 卻誤擋了一些正常信,親朋好友報怨連連,在面對 Spam 功夫還未到家的狀態下,即決定停掉 Spam 部份的阻擋,只留下 ClamAV 的 Virus 過濾阻檔,近一年來網路上病毒信幾乎都被我的病毒過濾阻檔了,可是廣告信卻是氾濫,痛苦指數不小於病毒信件,所以下定決心好好研究廣告信之獵殺軟體 SpamAssassin ,網路上 Amavisd-new + SpamAssassin + ClamAV 的文章真的不是很多,大部份都是英文的,看起來有點吃力,不過為了防堵 Spam 小弟還是努力的找尋 Google 中可用的資料,以下是我個人整理的資料以方便日後使用學習及查詢。

Environment :


硬體: i386 PC Intel P3 500
記憶體網卡:
256M RAM + 一片 Intel 網卡
作業系統:
FreeBSD 5.3 Release
假設 IP 為:88.88.88.88
網域名稱為:ntut.idv.tw

Starting:

1.  Postfix:

1-1‧介紹:

        Postfix:
http://www.postfix.org/ MTA ( Mail Transfer Agent ) 是一套安全及設定便利都優於 sendmail 的郵件伺服器軟體。
                                                                                                                                                                                                
1-2‧設定檔說明:  
 
        Postfix 於 FreeBSD Server 中用修改到的設定檔包括 main.conf、master.conf,開機啟動檔設定為 postfix.sh 設在 /usr/local/etc/rc.d 下,Mail 的 DB 檔為 /usr/local/etc/postfix 下的 aliases 所產生,執行 #postalias aliases 即會產生 aliases.db 檔。管理 postfix 指令 #postsuper -d 將某一封 queue message 刪掉 #postsuper -d ALL 刪除所有的 queue #postsuper -sv 檢查和修復 postfix 的信件檔

                                                                                                                                                                                                
1-3‧實際設定:

#vi /usr/local/etc/postfix/main.conf
                   
# Main Configure
myhostname = ntut.idv.tw
mydomain = ntut.idv.tw
mynetworks = 88.88.88.88/26, 127.0.0.0/8
alias_maps = hash:/usr/local/etc/postfix/aliases
mail_spool_directory = /var/mail

# Other configuertion
disable_vrfy_command = yes
mailbox_size_limit = 204800000
smtpd_recipient_limit =300
message_size_limit = 30720000

# ClamAV
content_filter = smtp-amavis:[127.0.0.1]:10024
                                                                                                                                                                                         
#vi /usr/local/etc/postfix/master.conf

smtp-amavis unix - - n - 2 smtp
  -o smtp_data_done_timeout=1200
  -o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
  -o content_filter=
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o smtpd_restriction_classes=
  -o smtpd_client_restrictions=
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o mynetworks=127.0.0.0/8       
  -o strict_rfc821_envelopes=yes
                                                                                             
#vi /usr/local/etc/postfix/aliases

virusalert:     root
spamalert:      root
                                                                                             
#vi /usr/local/etc/rc.d/postfix.sh

case "$1" in
start)
/usr/local/sbin/postfix start > /dev/null 2>&1
echo -n ' Postfix'
;;
stop)
/usr/local/sbin/postfix stop > /dev/null 2>&1
echo -n ' Postfix stoped'
;;
reload)
/usr/local/sbin/postfix reload > /dev/null 2>&1
echo -n ' Postfix reloaded'
;;
-h)
echo "Usage: `basename $0` { start | stop | reload }"
;;
*)
/usr/local/sbin/postfix $1 > /dev/null 2>&1
echo -n ' Postfix $1'
;;
esac                                                                                      
                                                                                              
2.  Amavisd-new:

 2-1‧簡介:

        Amavisd-new:
http://www.ijs.si/software/amavisd/ 是一支具有套高性能的郵件介面軟體,它就是介於:郵件伺服器軟體 ( 如:sendmail、postfix ) 及 內容檢查軟體 ( 如:ClamAV、SpamAssassin ) 之間的橋樑軟體,其角色就扮演就像是兩者之間的溝通者。 Amavisd-new 本身也是個簡易的 MTA,也可以拿它來架設一個獨立的 Mail Gateway,提供多台 Mail Server 做信件過濾。除此之外,Amavisd-new 還可以搭配十多種防毒程式來做病毒信的過濾。  
                                                                                                                                                                                                    
2-2‧設定檔說明:

      
Amavisd-new 於 FreeBSD 中的設定檔位置在 /usr/local/etc/amavisd.conf 裡,開機啟動檔為 #vi /etc/rc.conf 中加入 amavisd_enable="YES" 即可。隔離的信件將會被存在 /var/virusmails 目錄中,如果想即時得看到 Amavisd-new 的運作結果,或若因任何原因而無法啟動 Amavisd-new,您可以先暫時關閉 Amavisd-new #/usr/local/etc/rc.d/amavisd.sh stop,並以 Debug 模式來啟動 Amavisd-new: #amavisd debug

        /usr/local/etc/amavisd.conf  之說明:

            D_PASS:不做任何處理,直接傳送給收件者。
            D_DISCARD:信件不會傳送給寄件者及收件者。
            D_BOUNCE:不傳送給收件者,除了定義在 $viruses_that_fake_sender_re 病毒名稱外的信件,amavisd-new 皆會傳送 DSN 訊息給寄件者。
            D_REJECT:不傳送給收件者,寄件者會收拒絕傳送的訊息。
           
            $sa_auto_whitelist = 1;   
# 啟用自動學習白名單 White List
           
            $sa_mail_body_size_limit = 200*1024;     # 超過某個特定大小的郵件就不經過 SpamAssassin 的掃瞄
          
            $sa_tag_level_deflt  = 4.0;     # 超過這個分數標準者,才視為垃圾郵件打分數。
            
            $sa_tag2_level_deflt = 6.3;     # 超過這個分數標準者,才允許在郵件標頭加入 Spam 資訊
           
            $sa_kill_level_deflt = 10 ;  
# 超過這個標準者,就直接將信件備份後刪除。

2-3‧實際設定:

#vi /usr/local/etc/amavisd.conf

$MYHOME = '/var/amavis';
$mydomain = 'ntut.idv.tw';  
$daemon_user = 'vscan';
$daemon_group = 'vscan';
    
$log_level = 0;                                                

$DO_SYSLOG = 0; # 由 1 改 0

$sa_spam_subject_tag = '***SPAM*** ';      
$sa_spam_modifies_subj = 1;

$virus_admin = "virusalert\@$mydomain";            
$spam_admin = "spamalert\@$mydomain";           
$mailfrom_notify_admin = "virusalert\@$mydomain";
$mailfrom_notify_recip = "virusalert\@$mydomain";
$mailfrom_notify_spamadmin = "spamalert\@$mydomain";
 
$inet_socket_bind = '127.0.0.1';              
$forward_method = 'smtp:127.0.0.1:10025';
 
$notify_method = $forward_method;            
$inet_socket_port = 10024;                          
$max_servers = 2;                                            

$final_virus_destiny      = D_BOUNCE;  # (defaults to D_DISCARD)
$final_banned_destiny     = D_BOUNCE;  # (defaults to D_BOUNCE)
$final_spam_destiny       = D_BOUNCE;  # (defaults to D_BOUNCE)
$final_bad_header_destiny = D_PASS;  # (defaults to D_PASS)



['Clam Antivirus-clamd',
                             
\&ask_daemon, ["CONTSCAN {}\n", '/tmp/clamd'],
qr/\bOK$/, qr/\bFOUND$/,                              
  
qr/^.*?: (?!InfectedArchive)(.*) FOUND$/ ],
                                                                                             
3.  SpamAssassin:

3-1‧介紹:

        SpamAssassin ( SA ):
http://www.spamassassin.org  最近看到 SpamAssassin 它已經納入 Open-Source Apache SpamAssassin 的計劃中,所以網址也更改為:http://spamassassin.apache.org。使用 FreeBSD Ports 安裝完 Amavisd-new 之後就會自動加裝 SpamAssassin,的確蠻方便,以目前垃圾郵件過濾軟體來看, Spamssassin 應該是現今 Open-Source 中最強之首選。

       SpamAssassin  它是利用 Perl 來進行文字分析以達到過濾垃圾郵件之目的。它的判斷方式是藉由評分方式,若這封郵件符合某種特徵,則加以評分。最後加總總得分若高於我們制定的標準,則判定為垃圾郵件,即進入垃圾信處理過程。
SA 也內建了各種條件式 Rule-based,來為信件「評分」,判別是否為垃圾郵件。我們可自訂 Rule 讓 Spam Filter 更精準。

        SpamAssassin 內建了一個自動學習引擎,採用知名的 Bayesian 貝氏運算法,只要經過適當的訓練,就能有很好的效果。為了彌補不足的地方,SpamAssassin 還可以搭配 DCC 與 Razor 這兩個分散式垃圾郵件特徵資料庫來使用。在最近剛發行的 3.0.0 版,更加入了 Sender Policy Framework 與 Spam URI Realtime Blocklists 的支援,這兩項功能對於防堵垃圾郵件將有更大的助益。

                                                                                                                                                                                                   
3-2‧設定檔說明:

       
SpamAssassin 於 FreeBSD 中設定檔位置在 /usr/local/etc/mail/spamassassin/local.cf  裡,這個設定檔屬於全域的 spam 設定,也就是系統管理員對整個 Mail Server 上訂定的 Rules ,除此之外也可以使用個人專屬的 Spam 設定其設定檔是放於個人的家目錄下的 ~/.spamassassin/user_prefs 這個檔。若於想於開機時同時啟動 SapmAssassin, 請於 #vi /etc/rc.conf 中加入 spamd_enable="YES" 即可。http://www.yrex.com/spam/spamconfig.php 這個網站的 php 程式可幫你產生 local.cf  檔,產生後的 local.cf 直接 copy 到你的 local.cf 內即可。在預設上,spamd 會監聽TCP 783 這個 Port。

        自訂 Mail::SpamAssassin Rules,每一條 rule 都由三部分構成:
targetdescribe 以及 score

target: 指定比對的範圍包含:

header - 標頭
body - 解碼且過濾 HTML tags 後的本文
url - 網址
rawbody - 解碼後的本文 ( 可能包含 HTML tags )
full - 未解碼的全文、meta - 組合 )

describe:
是對此條規則的描述 ( 可以省略 )

score:
則是配分 ( 預設配分為 1 分 )
                                                                                                                                                                                                  
3-3‧實際設定:

#vi /usr/local/etc/mail/spamassassin/local.cf

# SpamAssassin config file for version 2.5x
# generated by http://www.yrex.com/spam/spamconfig.php (version 1.01)

# How many hits before a message is considered spam.  得分多少以上就會被判定為垃圾郵件.
required_hits           10

# Whether to change the subject of suspected spam.  在垃圾郵件上之標題上加上註記.
rewrite_header Subject ****SPAM(_SCORE_)****

# Encapsulate spam in an attachment.
# 要如何處理垃圾郵件。因為郵件還會經過防毒程式的處理,所以必須設定為 0。
# 0:將資訊寫入郵件表頭。
# 1:將垃圾郵件轉為附件。
# 2:將垃圾郵件轉為純文字附件。 

report_safe             0

# Use terse version of the spam report.  用精簡的方式來回報垃圾給管理者
use_terse_report        0

# Enable the Bayes system. 使用貝氏學習系統
use_bayes               1

# Enable Bayes auto-learning.  開起貝氏自動學習功能
auto_learn              1

# Enable or Disable network checks.  略過 RBLs 之檢查、使用 Razor version 2、使用 DCC (Distributed Checksum Clearinghouse)、使用 Pyzor
skip_rbl_checks         0
use_razor2              1
use_dcc                 1
use_pyzor               1

# Blacklist.  黑色清單
判定減 - 100 分
blacklist_from *@sohu.com *@mailfb.com

# Whitelist . 白色清單
判定加 +100 分
whitelist_from *@yahoo.com.tw *@yahoo.com.hk *@yahoogroups.com.hk
whitelist_from rika@rika.idv.tw

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - chinese
ok_languages            zh en

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales              zh en

# Disabled scores. 防止中文主旨和中文收件者誤判,建議再加上下列幾行
score HEADER_8BITS 0
score HTML_COMMENT_8BITS 0
score SUBJ_FULL_OF_8BITS 0
score UPPERCASE_25_50 0
score UPPERCASE_50_75 0
score UPPERCASE_75_100 0

# local domain from but ip not match.  網域和 ip 不符,疑為垃圾信件
header __FROM_TEATIME Received =~ /from ntut.idv.tw/i
header __FROM_TEATIME_IP Received =~ /\[88\.88\.88\.88\]/
meta FROM_TEATIME_BUT_IP_ERROR (__FROM_TEATIME)
describe FROM_TEATIME_BUT_IP_ERROR From ntut.idv.tw but ip not match
score FROM_TEATIME_BUT_IP_ERROR 8
                                                                                                                                                                                         
4.  ClamAV:

4-1‧介紹:

        ClamAV:
http://www.clamav.net/  ClamAV 全名是 ClamAntiVirus 採公開程式碼、免費授權等觀念,ClamAV 目前可以偵測超過 40,000 種以上的病毒、蠕蟲、木馬程式,並且隨時更新病毒資料庫,有一組分佈在世界各地的病毒專家,24小時更新及維護病毒資料庫,任何人發現可疑病毒也可以隨時跟她們取得聯繫,立刻更新病毒碼,而且在最新的0.80rc3 版本之後,還能夠偵測到以 Jpeg 漏洞所製作的病毒,以及「網路釣魚」的詐騙信件,這樣的防毒軟體竟然是免費的,只能說真是太棒了。
                                                                                                                                                                                                  
4-2‧設定檔說明:

        於 FreeBSD OS 中設定檔位置 /usr/local/etc/clamd.conf,開機啟動檔設於 #vi /etc/rc.conf 裡加入 clamav_clamd_enable="YES" 自動更新病毒碼同樣也於 #vi /etc/rc.conf 裡加入 clamav_freshclam_enable="YES"  freshclam 會每兩個小時會跟 ClamAntiVirus Server check 一次有無新病毒碼可更新。
                                                                                                                                                                                                 
4-3‧實際設定:

#vi /usr/local/etc/clamd.conf

LogFile /var/log/clamav/clamd.log
LogFileMaxSize 2M
LogTime
LogSyslog
LogVerbose
PidFile /var/run/clamav/clamd.pid
LocalSocket /var/run/clamav/clamd
StreamSaveToDisk
MaxDirectoryRecursion 20
User clamav
AllowSupplementaryGroups
ScanMail
ScanArchive
ScanRAR
ArchiveMaxFileSize 15M
ArchiveMaxRecursion 8
ArchiveMaxFiles 1500
ClamukoScanOnOpen
ClamukoScanOnClose
ClamukoScanOnExec
ClamukoIncludePath /home
ClamukoMaxFileSize 1M
 


最後更新日:2004/11/29
最後更新:
http://freebsd.ntut.idv.tw/document/postfix_amavisd-new_spamassassin_clamav.html
相关文章 热门文章
  • postfix+dovecot+postfixadmin+mysql架设邮件服务器
  • FreeBSD上建立一个功能完整的邮件服务器(POSTFIX)
  • CentOS5.1上安装基于postfix的全功能邮件服务器(二)
  • CentOS5.1上安装基于postfix的全功能邮件服务器
  • CentOS安装配置Postfix邮件服务器
  • 在CentOS下用Postfix配置邮件服务器
  • 3分钟安装配置Postfix邮件服务器
  • 基于Postfix的大型邮件系统
  • kerio mail server 搭配 clamav杀毒引擎_邮件服务器
  • 关于postfix的loops back to myself错误
  • 成功将qmail用户迁移到postfix(extmail+extman)下
  • 簡單配置postfix+courier+squirrelmail+pam郵件服務器
  • Install and configure Postfix with Cyrus-SASL+Cyr...
  • 在FreeBSD上建立一个功能完整的邮件服务器
  • postfix 邮件病毒过滤
  • 在Fedora上建立自己的邮件服务器
  • Postfix + SpamAssassin 安裝手冊
  • Postfix + Courier-IMAP + Cyrus-SASL + MySQL + IMP...
  • Postfix + Cyrus-SASL + Cyrus-IMAPD + PgSQL HOWTO
  • 在FreeBSD5.1簡單安裝Postfix+Qpopper+Openwebmail
  • 在RHEL 4 上配置全功能的Postfix 服务器
  • Postfix + Cyrus-IMAP + Cyrus-SASL + MySQL + IMP 完..
  • 我的POSTFIX安装笔记
  • Postfix电子邮局的配置步骤
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号