註:我的系統平台是RedHat9.0;本文是另一篇文章「Sendmail+SASL+TLS」基礎上的續篇
一、前提
1.安裝Spamassassin需要如下軟中大多的支持,請自行到http://search.cpan.org搜索、下載並安裝。安裝均按照如下步驟即可:
#tar zxvf 軟體包.tar.gz
#cd 軟體包
#perl Makefile.PL
#make
#make install
說明:某些軟體包安裝的過程中可能需要已經列出的其它軟體包的支持(可以先嘗試安裝Spamassassin,然後按提示補充所需軟體包),請安照提示自行調整安裝順序。另外,其中有個軟體包安裝過程中可能要求聲明環境變數LC_ALL,此時,可輸入如下命令,並重新進行軟體包的編譯安裝即可。
#export LC_ALL=C
Archive-Tar-1.30.tar.gz
HTML-Parser-3.56.tar.gz
IP-Country-2.23.tar.gz
MIME-Base64-3.07.tar.gz
Net_SSLeay.pm-1.30.tar.gz
DB_File-1.815.tar.gz
IO-Socket-INET6-2.51.tar.gz
MIME-tools-5.420.tar.gz
Mail-SpamAssassin-3.1.8.tar.gz
Storable-2.15.tar.gz
libnet-1.19.tar.gz
DBI-1.54.tar.gz
IO-Socket-SSL-1.03.tar.gz
Net-DNS-0.59.tar.gz
Time-HiRes-1.9707.tar.gz
Digest-1.15.tar.gz
IO-stringy-2.110.tar.gz
Mail-SPF-Query-1.999.1.tar.gz
Net-Ident-1.20.tar.gz
Digest-SHA1-2.11.tar.gz
IO-Zlib-1.05.tar.gz
MailTools-1.74.tar.gz
razor-agents-2.82.tar.bz2
二、安裝Spamassassin
1.下載安裝
地址:http://mirror.olnevhost.net/pub/apache/spamassassin/source/Mail-SpamAssassin-3.1.8.tar.gz
Razor2: http://nchc.dl.sourceforge.net/sourceforge/razor/razor-agents-2.82.tar.bz2
#tar zxvf Mail-SpamAssassin-3.1.8.tar.gz
#cd Mail-SpamAssassin-3.1.8
#perl Makefile.PL
#make
#make install
2.編輯主配置文件/etc/mail/spamassassin/local.cf
required_hits 10.0
rewrite_subject 1
required_score 5.0
rewrite_header Subject *****SPAM*****
report_safe 1
use_bayes 1
bayes_auto_learn 1
skip_rbl_checks 1
use_razor2 0
use_pyzor 0
ok_locales all
3.測試spamassassin
#spamassassin -t < sample-nonspam.txt > nonspam.out
#spamassassin -t < sample-spam.txt > spam.out
查看測試結果:
#less nonspam.out
#less spam.out
4.檢查配置文件
#spamassassin -d --lint
5.啟動進程
#/usr/bin/spamd -d
也可以把此命令重定向到/etc/rc.local,以便隨系統一起啟動。
三、安裝查毒軟體clamav
1.下載安裝
# tar -zxvf clamav-0.90.1.tar.gz
# cd clamav-0.90.1
# grouadd clamav
# useradd -g clamav -s /bin/false clamav
# ./configure --sysconfdir=/etc/clamav
# make
# make check
# make install
2.編輯配置文件
# vi /etc/clamav/clamav.conf
給下面一行加上註釋:
Example
去掉註釋或更改下面行的值(大多數不用去註釋,保持默認亦可)
LogFile /var/log/clamd.log
LogFileMaxSize 2M
PidFile /var/clamav/clamd.pid
DatabaseDirectory /usr/local/share/clamav
LocalSocket /var/clamav/clamd.sock
StreamSaveToDisk
ScanMail
ScanArchive
ArchiveMaxFiles 1000
MaxThreads 200
MaxDirectoryRecursion 15
# vi /etc/clamav/freshclam.conf
給下面一行加上註釋:
Example
3.更新病毒資料庫
手動更新
#freshclam --quiet --stdout
讓clamav自動更新
# crontab -e
添加如下一行
1 3 * * * /usr/local/bin/freshclam -quiet
也可以通過以下方式實現自動更新
#echo "/usr/local/bin/freshclam -d -c 2" >> /etc/rc.local
4.調試啟動clamav
#/usr/local/bin/clamd
5.測試對壓縮文件的支持
#/usr/local/bin/clamdscan
/usr/local/bin/clamdscan
/etc/clamav: OK
----------- SCAN SUMMARY -----------
Infected files: 0
Time: 0.032 sec (0 m 0 s)
6.相關文件:
升級log: /var/log/freshclam.log
clamav log: /var/log/clamd.log
配置文件: /etc/clamav/clamav.conf
四、安裝配置MIMIdefang
1.說明:
Sendmail8.13.0以前的版本默認不支持mail filters,如果你的Sendmail默認不支持的話,你需要重新編譯安裝Sendmail。在編譯安裝時只要在site.config.m4文件中添加如下兩行即可:
APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE')
同時,如果你是像我這樣原碼安裝Sendmail的話,你還需要去編譯安裝Sendmail時的原碼目錄里的libmilter目錄中編譯安裝libmilter,否則,安裝MIMEdefang的過程會報錯。
#cd /usr/local/src/sendmail-8.14.0/libmilter
#sh Build
#sh Build install
2.下載安裝MIMEdefang
地址:http://www.mimedefang.org/static/mimedefang-2.61.tar.gz
#groupadd defang
#useradd -g defang -s /sbin/nologin defang
#tar xvzf mimedefang-2.61.tar.gz
#./configure
#make
#make install
#cp /usr/local/src/mimedefang-2.61/examples/init-script /etc/init.d/mimedefang
3.編輯配置文件
#vi /etc/mail/mimidefang-filter
修改下列項的值為你需要的,其它各項也可以酌情修改:
$AdminAddress = 'defang-admin@localhost';
$AdminName = "MIMEDefang Administrator's Full Name";
$DaemonAddress = 'postmaster@yourcompany.com';
$DaemonName = 'Your Company Mail Server';
測試配置文件是否有語法錯誤:
#mimedefang.pl -test
如果你自己定義的有其它filter文件,可以用如下命令測試其正確與否:
#mimedefang.pl -f your-filter -test
4.編輯/etc/mail/sendmail.mc文件,在mailer語句前添加mimedefang過濾:
INPUT_MAIL_FILTER(`mimedefang',`S=unix:/var/spool/MIMEDefang/mimedefang.sock,F=T,T=S:60s;R:60s;E:5m')dnl
重新生成/etc/mail/sendmail.cf文件
#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
5.啟動mimedefang
#service mimedefang start
如果過後重新修改了filter文件,可以用如下命令重新讀取:
#service mimedefang reread
6.如果啟動時提示找不到/var/spool/MIMEdefang/clamv.sock,可以修改/etc/clamv/clamd.conf文件中LocalSocket行為如下內容,並重新啟動clamd即可
LocalSocket /var/spool/MIMEDefang/clamd.sock
五、確保以上服務啟動以後,就可以重新啟動Sendmail並測試發信了。
1.啟用outlook進行發信測試,在本機使用root帳戶收信如下:
From redhat@benet.org Sun Mar 25 12:19:51 2007
From: "redhat"
《解決方案》
1.裝 Spamassassin 最好用 perl -MCPAN 的方式裝,可以解決相依問題《解決方案》
原帖由 abel 於 2007-3-28 14:22 發表《解決方案》
原帖由 marion 於 2007-3-28 15:10 發表《解決方案》
看到了,非常好的文章,非常好的網上學習園地。謝!《解決方案》
原帖由 marion 於 2007-3-28 15:25 發表《解決方案》
嗯,作為一個仍在進步中的學習者,我覺得這真的算得上一個相當不錯的網站,並決定上去拜讀一下abel兄的所有文章。[火星人 ] Sendmail+SASL+TLS+MIMEdefang+Clamav+Spamassassin已經有416次圍觀