這篇算是承上一篇後的產物,當 Postfix + SASL2 都完成後,原則上在寄信的安全機制上已有了保障,但針對信件還沒有任何防範的措施,若能加上防毒的功能就更棒了!於是,我又在這台 Mail Server 上裝上了 Amavisd-new 和 Avria Antivir ~
首先大概了解一下 Postfix 、 Amavisd-new 與 Avria Antivir 三者彼此間的關係。
Postfix 不用多說,架過 Mail Server 的人一定都聽過 Sendmail 和 Postfix 這二個 MTA,而這二個都是視個人習慣來選擇使用,一直以來我都是選擇平易近人的 Postfix 來用。
那 Amavisd-new 是什麼呢?其實 Amavisd-new 是介於 MTA 和 病毒掃瞄引擎/防毒軟體 中間的介面程式。
當 MTA 在收到電子郵件後,會把信轉給 Amavisd-new 來處理, 而 Amavisd-new 則會呼叫病毒掃瞄引擎或是垃圾郵件檢查程式來處理這封郵件, 處理完畢後,它會將它再丟還給 MTA 繼續處理。
那 Avria Antivir 是什麼呢?當然就是上述的病毒掃瞄引擎了,也就是一般人常在 Windows 上用的防毒軟體,有個可愛的外號叫「小紅傘」。當然我們也可以在 FreeBSD / OpenBSD / Linux 上安裝它當防毒軟體,此時它扮演的就是病毒掃瞄引擎這角色。關係如下圖所示:
在這範例中,我的 SpamAssassin 裝的過程中爛掉了,所以暫時不考慮擋廣告這部份,過一陣子我再補裝看看。
所以一開始要先裝 Amavisd-new,在這邊我勾了 DBD、SASL、MILTER 及其它預設有勾的東西。
# cd /usr/ports/security/amavisd-new
# make install clean
# cd /usr/local/etc
# cp amavisd.conf-dist amavisd.conf
# chown vscan amavisd.conf
# chmod 400 amavisd.conf
接下來去編輯 amavisd.conf 這個很「複雜」的設定檔,我只有設定幾個基本的組態,詳細設定必須再研究一下 amavisd.conf !
$mydomain = '你的 FQDN';
$forward_method = 'smtp:127.0.0.1:10025';
$notify_method = $forward_method;
由於目前這設定檔會用到 SpamAssasin ,但我的 SpamAssasin 又爛掉,所以必須在 amavised.conf 加入一行設定來跳過這部份。
@bypass_spam_checks_maps = (1);
接下來要來設定 Postfix 讓它知道何時該將信傳給 Amavisd-new 來準備掃毒 ~
在 main.cf 最下面加入一行設定
# cd /usr/local/etc/postfix
# vi main.cf
content_filter = smtp-amavis:[127.0.0.1]:10024
在 master.cf 最下面也加入這些設定
# vi master.cf
smtp-amavis unix - - n - 2 smtp
-o smtp_date_done_timeout=1200
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filterr=
在 /etc/rc.conf 加入一行 amavisd_enable="YES" 讓它開機時自動執行
# cd /usr/local/etc/rc.d
# cp amavisd amavisd.sh
到此 Postfix 與 Amavisd-new 都 OK 了,剩下的就是防毒軟體安裝,連上 Avair AntiVir 網站去 Download 原始檔回來 Compiler ,我下載的是 antivir-workstation-pers.tar.gz 。
在 FreeBSD 上安裝小紅傘的部份很長,請先參考此篇 [教學] FreeBSD 上安裝 Avira Antivir (做為 amavisd-new 的掃毒元件) 就 OK 了!
寫到最後,為什麼要挑小紅傘來當防毒呢?因為 MC104 有寫到「安裝完成之後,只要重新啟動 amavisd-new,就能直接使用 Avira AntiVir 來進行郵件掃毒,不需要額外的設定,非常方便。」
那麼方便的設定不用它真對不起自己 XD
這一篇只是簡單紀錄一下如何在 Mail Server 上裝上防毒的功能,但功能還不算完整,過一陣子再整合這一篇打造安全的 SMTP Server - Postfix + SASL + TLS + SpamAssassin + DNSBL 文章,另外再寫一篇教學。
[ Debian-Wiki ] - Amavisd-new
[ AntiVir ] - Download
[ MC104 ] - FreeBSD 上安裝 Avira Antivir (做為 amavisd-new 的掃毒元件)
[ Eternity ] - 改用 amavisd-new 來搭 clamav
[ FreeBSD - AMaVisd-new ]
[ 四位的 FreeBSD 學習技術文件 ] - Postfix+ClamAV+Amavisd-new
[ 四位的 FreeBSD 學習技術文件 ] - MFA - Mail Filter Angan ( Mail Gateway 郵件閘道過濾器架設 )