返回列表 發帖

[轉貼] Fedora Core 3 + sendmail + MailScanner + SpamAssassin + clamav

1. 安裝 MailScaner 主程式:

http://www.mailscanner.info/file ... 4.56.8-1.rpm.tar.gz
tar xzvf MailScanner-4.56.8-1.rpm.tar.gz
cd MailScanner-4.56.8-1

./install.sh

接著,請執行下面指令,往後不需直接啟動Sendmail,
因為MailScanner會自行呼叫sendmail。
(請勿直接啟動sendmail)

service sendmail stop
chkconfig sendmail off
chkconfig --level 2345 MailScanner on
service MailScanner start

建議等相關軟體安裝完畢再啟動MailScanner,
先啟動也無所謂,等裝好要測試了,就輸入:
/etc/init.d/MailScanner restart


2. 安裝 Spamassassin

先安裝 Digest-SHA1-2.11.tar.gz
http://search.cpan.org/CPAN/auth ... st-SHA1-2.11.tar.gz

tar xzvf Digest-SHA1-2.11.tar.gz
cd Digest-SHA1-2.11
perl Makefile.PL
make
make install
(先別把目錄刪除,因為等會安裝 razor-agents 時,可能需要重新來一次)

接著安裝 Spamassassin
http://apache.cdpa.nsysu.edu.tw/ ... sassin-3.1.7.tar.gz

tar xzvf Mail-SpamAssassin-3.1.7.tar.gz
cd Mail-SpamAssassin-3.1.7
perl Makefile.PL

如果出現任何錯誤,如某個 module::name 找不到,
試著上網先找到相關模組,安裝完,重新作一次 perl Makefile.PL
一般都會在這兩個地方找得到:
www.cpan.org
www.sourceforge.org

make
make install

以下3-5相關套件為線上的垃圾郵件比對資料庫,不一定要裝,請視需要而定。


3. 安裝 Razor

(以下網路位置可能有更動,如果找不到,請到http://www.sourceforge.org/搜尋。)

先裝 razor-agents-sdk
http://nchc.dl.sourceforge.net/s ... ts-sdk-2.07.tar.bz2


bzip2 -drazor-agents-sdk-2.07.tar.bz2
tar xvf razor-agents-sdk-2.07.tar
cd razor-agents-sdk-2.07
perl Makefile.PL
make
make install

再裝 razor-agents

http://nchc.dl.sourceforge.net/s ... agents-2.82.tar.bz2

bzip2 -drazor-agents-2.82.tar.bz2
tar xvf razor-agents-2.82.tar
cd razor-agents-2.82

perl Makefile.PL
(如前說過,如果出現 Digest::SHA1 not found,請重新安裝一次 Digest::SHA1)

make
make install


修改 SpamAssassin 的設定檔 /etc/mail/spamassassin/local.cf
# 是否使用 Razor version 2
use_razor2 1


4. 安裝 Pyzor

http://nchc.dl.sourceforge.net/s ... pyzor-0.4.0.tar.bz2

bzip2 -d pyzor-0.4.0.tar.bz2
tar xvf pyzor-0.4.0.tar
cd pyzor-0.4.0

python setup.py build
python setup.py install

更改權限:

chmod -R a+rX /usr/share/doc/pyzor
chmod -R a+rX /usr/lib/python2.3/site-packages/pyzor
(或chmod -R a+rX /usr/lib/python2.2/site-packages/pyzor)
chmod -R a+rX /usr/bin/pyzor /usr/bin/pyzord

修改 SpamAssassin 的設定檔 /etc/mail/spamassassin/local.cf
# 是否使用 Pyzor
use_pyzor 1


5. 安裝DCC
http://www.rhyolite.com/anti-spam/dcc/source/dcc.tar.Z

tar xzvf dcc.tar.Z
cd dcc-1.3.42  (因抓取版本不同而有所改變)
./configure
make
make install

修改 SpamAssassin 的設定檔 /etc/mail/spamassassin/local.cf
# 是否使用 DCC (Distributed Checksum Clearinghouse)
use_dcc 1

# 是否在郵件表頭中加入 DCC 資訊
dcc_add_header 1


6. MailScanner-mrtg

確定是否安裝mrtg:
rpm -qa | grep mrtg

如果沒有:
http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/mrtg-2.10.15-1.i386.rpm
(注意:這是 Fedora 3 專用)


rpm -ivh mrtg-2.10.15-1.i386.rpm

不用裝最新版的,你的Fedora光碟底下也有。

下載MailScanner-mrtg

http://nchc.dl.sourceforge.net/sourceforge/mailscannermrtg/mailscanner-mrtg-0.10.00-1.noarch.rpm
http://sourceforge.net/projects/mailscannermrtg/

rpm -ivh mailscanner-mrtg-0.10.00-1.noarch.rpm

建立一個檔案夾:
mkdir /var/spool/mailscanner-mrtg

修改fstab

vi /etc/fstab
增加以下兩行(記憶體要夠多!)

none    /var/spool/MailScanner/incoming         tmpfs   defaults        0 0
none    /var/spool/mailscanner-mrtg             tmpfs   defaults        0 0

加入第一行,順便連MailScanner的處理速度都加快了!
(這是MailScanner官方文件建議的做法,不是我自己掰的喔~)

接著修改及確認/etc/MailScanner/mailscanner-mrtg.conf

MailScanner Work Directory = /var/spool/MailScanner/incoming
...
Spool Directory = /var/spool/mailscanner-mrtg
...
Quarantine Directory = /var/spool/MailScanner/quarantine
...
Use SNMP = no
snmp留給熟悉snmp的人去踹~

以後你就可以在網址列輸入:
http://your.host.ip/mailscanner-mrtg/
觀看你的郵件流量。

到Goole找找,有更詳細的設定!

目前為止,還沒將MailScaner啟動,好的,先裝防毒軟體:


7. ClamAV

http://nchc.dl.sourceforge.net/sourceforge/clamav/clamav-0.90.1.tar.gz

tar xzvf clamav-0.90.1.tar.gz
cd clamav-0.90.1

添加用戶組 clamav 和組成員 clamav
groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

./configure
make
make install

有可能會顯示 zlib 版本太舊,請更新
http://www.zlib.net/
http://www.zlib.net/zlib-1.2.3.tar.gz

tar xzvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install

在/var/log/目錄下添加兩個log文件:clam.log 和 clam-update.log ,
將所有者改為新加的 clamav 用戶並設置相應的文件讀寫權限。

touch /var/log/clam-update.log
chmod 600 /var/log/clam-update.log
chown clamav /var/log/clam-update.log

touch /var/log/clam.log
chmod 600 /var/log/clam.log
chown clamav /var/log/clam.log

修改 /usr/local/etc/clamd.conf 將開始的有「Example」的那行用 # 註釋掉。
#Example
然後在命令行裡輸入:clamd開始病毒守護程序。
clamd

修改/usr/local/etc/freshclam.conf將開始的有「Example」的那行用#註釋掉。
#Example
修改 UpdateLogFile /var/log/freshclam.log
為 UpdateLogFile /var/log/clam-update.log

用freshclam升級病毒庫:
freshclam

如果在/var/log/maillog發現update clamav失敗時,請將freshclam拷貝一份到/usr/bin
cp /usr/local/bin/freshclam /usr/bin/freshclam

如果在MailScanner裡面使用clamavmodule出現問題的話,也請將libcalmav摳一份到/usr/lib:
cp /usr/local/lib/libclam*.* /usr/lib

當然,如果你會cp link的指令,就用link就好了。

注意,在沒有指定額外的路徑時:
ClamAV的執行檔在:
/usr/local/bin:
cdcc
clamav-config
clamdscan
clamscan
dccproc
freshclam
sigtool

設定檔在:
/usr/local/etc:
clamav.conf
freshclam.conf

病毒碼在:
/usr/local/share/clamav:
daily.cvd
main.cvd

查殺當前目錄下的文件
clamscan

查殺當前目錄所有文件及目錄!
clamscan -r

查殺dir目錄,
clamscan dir

查殺目錄dir下所有文件及目錄!
clamscan -r dir

看幫助信息
clamscan --help

其他的請閱讀源碼包裡的docs目錄下的clamdoc.pdf文件。


7-1 clamavmodule(加快MailScanner掃毒的效率)

安裝clamavmodule至少需要安裝這兩個套件:
http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/perl-Inline-0.44-14.i386.rpm
http://search.cpan.org/CPAN/authors/id/I/IN/INGY/Inline-0.44.tar.gz 非FC3用

http://download.fedora.redhat.com/pub/fedora/linux/core/3/i386/os/Fedora/RPMS/perl-Parse-RecDescent-1.94-4.noarch.rpm
http://search.cpan.org/CPAN/authors/id/D/DC/DCONWAY/Parse-RecDescent-1.94.tar.gz 非FC3用

如果安裝過程出現錯誤,請先把安裝程式找不到的模組裝上,如果還是不行,
請務必很仔細的檢查發生錯誤的地方,大致上常見的問題有模組不正確(Inline比較有問題,
或ClamAV主程式安裝時就有問題),要很有耐心,因為後面還有MailWatch,如果這個裝不起來,
那MailWatch就更不用裝了,如果一次就裝起來,表示你真的真的很厲害也很幸運!

http://search.cpan.org/CPAN/authors/id/S/SA/SABECK/Mail-ClamAV-0.20.tar.gz

tar xzvf Mail-ClamAV-0.20.tar.gz
cd Mail-ClamAV-0.20
perl Makefile.PL
make
make install

小小收工一下,開始動手改/etc/MailScanner/MailScanner.conf


8. 修改/etc/MailScanner/MailScanner.conf

MailScanner的作者Julian Field是個天才,寫的東西卻很嚴謹又平易近人,
我想,設定檔內容雖然多,有時間一定要好好讀,這裡只是一些基本
的設定,幫助您的系統順利運作,不過,還是強調一點,有時間一定要好好
的將所有內容讀一遍喔!

%org-name% = 輸入你喜歡的名稱但不能有任何空白
File Command = /usr/bin/file
Virus Scanners = clamavmodule #可以先用clamav試試。
Monitors for ClamAV Updates = /usr/local/share/clamav/*.cvd
Detailed Spam Report = yes
Include Scores In SpamAssassin Report = yes
Always Include SpamAssassin Report = yes
Notify Senders = no
Notify Senders Of Viruses = no
Notify Senders Of Blocked Filenames Or Filetypes = no
Notify Senders Of Other Blocked Content = no
Scanned Modify Subject = end #每一封被掃瞄過的信,主旨都會加一段{Scanned}
Scanned Subject Text = {Scanned} #可以是中文
Spam Subject Text = {Spam?}#可以是中文
High Scoring Spam Subject Text = {Garbage?}#可以是中文
Spam Checks = yes
Use SpamAssassin = yes
Required SpamAssassin Score = 6
High SpamAssassin Score = 10
Spam Actions = deliver
High Scoring Spam Actions = store
SpamAssassin Site Rules Dir = /etc/mail/spamassassin
SpamAssassin Default Rules Dir = /usr/share/spamassassin
Debug SpamAssassin = yes

詳細內容請參考下列非常棒的網頁:
http://www.study-area.net/tips/v_scan1.htm
http://atm.ee.nsysu.edu.tw/~fgtseng/system/mailscanner.html
http://www.vbird.org/somepaper/20030905-mailscanner-conf.htm

ftp://ohaha.ks.edu.tw/pub/sample/MailScanner/tw.tar.gz
你可以下載ohaha所辛苦製作的中文回報檔,解壓後,將tw目錄放到:
/etc/MailScanner/reports,然後修改:

%report-dir% = /etc/MailScanner/reports/tw

好的,重新啟動MailScanner吧!隨時監控/var/log/maillog
幫助您調整系統。


9. 安裝 MailWatch
MailWatch for MailScanner+php+MYSQL 主要的作用在監控郵件處理情形,統計:垃圾郵件.病毒郵件.統計圖等...

先安裝 MySql 模組 DBD-mysql
http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.003.tar.gz

tar xzvf DBD-mysql-4.003.tar.gz
cd DBD-mysql-4.003
perl Makefile.PL
make
make install

修改php.ini檔中以下的參數
vi /etc/php.ini
short_open_tag = On
safe_mode = Off
register_globals = Off
magic_quotes_gpc = On
magic_quotes_runtime = Off
session.auto_start = 0

下載 MailWatch 主程式http://mailwatch.sourceforge.net/

http://nchc.dl.sourceforge.net/sourceforge/mailwatch/mailwatch-1.0.3.tar.gz

tar zxvf mailwatch-1.0.3.tar.gz
cd mailwatch
mysql -p < create.sql   建立名為 mailscanner 資料庫
Enter password:   輸入 mysql 中 root 的密碼,如果 root 沒有設定密碼 -p 參數不用加

建立一組 MySQL 的帳號及密碼,透過此組帳號將 Mailscanner 的 log 寫進 mailscanner 資料庫

mysql -p
Enter password:   輸入 mysql 中 root 的密碼,如果 root 沒有設定密碼 -p 參數不用加

mysql> GRANT ALL ON mailscanner.* TO mailwatch@localhost IDENTIFIED BY '<password>';
mysql> GRANT FILE ON *.* TO mailwatch@localhost IDENTIFIED BY '<password>';
mysql> FLUSH PRIVILEGES;

將 MailWatch.pm 檔案中的 $db_user and $db_pass 值,改成剛建立的帳號及密碼
vi MailWatch.pm

修改完成後將 MailWatch.pm 移動至 /usr/lib/MailScanner/MailScanner/ 目錄下
mv MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions

建立一組登入到MailWatch網頁所需的帳號密碼(以帳號test密碼test為例)
mysql mailscanner -u mailwatch -p
Enter password: ******
mysql> INSERT INTO users VALUES ('test',md5('test'),'test','A');
我測試直接下指令會出錯,建議用 PhpMyAdmin 直接於 users 欄位新增

安裝及設定 MailWatch 網頁
將 mailwatch目錄下的 mailscanner 移至 /var/www/html/目錄下
mv mailscanner /var/www/html/
設定/var/www/html/mailscanner/images and /var/www/html/mailscanner/images/cache 這二個目錄權限
chown root:apache /var/www/html/mailscanner/images
chmod ug+rwx /var/www/html/mailscanner/images
chown root:apache /var/www/html/mailscanner/images/cache
chmod ug+rwx /var/www/html/mailscanner/images/cache
cp /var/www/html/mailscanner/conf.php.example /var/www/html/mailscanner/conf.php

編輯 conf.php 檔案中的 DB_USER and DB_PASS 應該在30及31行,更改最早建立的 mailwatch 帳號及密碼

修改 /etc/MailScanner/MailScanner.conf 的參數
Always Looked Up Last = &MailWatchLogging
Detailed Spam Report = yes
Quarantine Whole Message = yes
Quarantine Whole Message As Queue Files = no
Include Scores In SpamAssassin Report = yes
Quarantine User = root
Quarantine Group = apache (this should be the same group as your web server)
Quarantine Permissions = 0660

修改spam.assassin.prefs.conf (如果你有安裝spamassassin)
bayes_path /etc/MailScanner/bayes/bayes
bayes_file_mode 0660

建立新的目錄bayes及權限設定
mkdir /etc/MailScanner/bayes
chown root:apache /etc/MailScanner/bayes
chmod g+rws /etc/MailScanner/bayes

如果已經存在bayes資料庫,複製過來
cp /root/.spamassassin/bayes_* /etc/MailScanner/bayes
chown root:apache /etc/MailScanner/bayes/bayes_*
chmod g+rw /etc/MailScanner/bayes/bayes_*

測試 Spamassassin
spamassassin -D -p /etc/MailScanner/spam.assassin.prefs.conf --lint
你將會看到一些訊息

重新啟動 MailScanner
/etc/rc.d/init.d/MailScanner restart
輸入網http://yourhostname/mailscanner/此位置時,應該會跳出一個認證視窗輸入之前步驟建立的帳號及密碼 test and test

更新SpamAssasin的規則(如果有裝SpamAssassin)
Tools/Links -> Update Spamassassin Rule Descriptions

備註:
1.當完成以上的動作即完成簡易的設定,如需更詳細的功能請自行參考各軟體的官方說明文件.
2.資料庫的帳號建立時,小弟都是用phpmyadmin建立
3.MailScanner安裝完成後,在/var/spool/MailScanner/quarantine目錄中主要都是放置被隔離(中毒)的附件,MailWatch for MailScanner有提供針對quarantine目錄下的子目錄及檔案查詢或刪除的處理,但必需先將 /var/spool/MailScanner/此目錄下的檔案都權限都要改成770

相關套件網站:
http://search.cpan.org/
http://sourceforge.net/softwaremap/

參考文章:
http://bb.stormer.com.tw/viewthread.php?tid=362
http://csc.ocean-pioneer.com/docum/mailwatch.html

返回列表