Sendmail+SASL+TLS+MIMEdefang+Clamav+Spamassassin
注:我的系統(tǒng)平臺是RedHat9.0;本文是另一篇文章“Sendmail+SASL+TLS”基礎(chǔ)上的續(xù)篇
轉(zhuǎn)載請注明出處:http://marion.cublog.cn
一、前提
1.安裝Spamassassin需要如下軟中大多的支持,請自行到
http://search.cpan.org
搜索、下載并安裝。安裝均按照如下步驟即可:
#tar zxvf 軟件包.tar.gz
#cd 軟件包
#perl Makefile.PL
#make
#make install
說明:某些軟件包安裝的過程中可能需要已經(jīng)列出的其它軟件包的支持(可以先嘗試安裝Spamassassin,然后按提示補(bǔ)充所需軟件包),請安照提示自行調(diào)整安裝順序。另外,其中有個(gè)軟件包安裝過程中可能要求聲明環(huán)境變量LC_ALL,此時(shí),可輸入如下命令,并重新進(jìn)行軟件包的編譯安裝即可。
#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/ ... sassin-3.1.8.tar.gz
Razor2:
http://nchc.dl.sourceforge.net/s ... 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 nonspam.out
#spamassassin -t spam.out
查看測試結(jié)果:
#less nonspam.out
#less spam.out
4.檢查配置文件
#spamassassin -d --lint
5.啟動進(jìn)程
#/usr/bin/spamd -d
也可以把此命令重定向到/etc/rc.local,以便隨系統(tǒng)一起啟動。
三、安裝查毒軟件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
去掉注釋或更改下面行的值(大多數(shù)不用去注釋,保持默認(rèn)亦可)
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.更新病毒數(shù)據(jù)庫
手動更新
#freshclam --quiet --stdout
讓clamav自動更新
# crontab -e
添加如下一行
1 3 * * * /usr/local/bin/freshclam -quiet
也可以通過以下方式實(shí)現(xiàn)自動更新
#echo "/usr/local/bin/freshclam -d -c 2" >> /etc/rc.local
4.調(diào)試啟動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.相關(guān)文件:
升級log: /var/log/freshclam.log
clamav log: /var/log/clamd.log
配置文件: /etc/clamav/clamav.conf
四、安裝配置MIMIdefang
1.說明:
Sendmail8.13.0以前的版本默認(rèn)不支持mail filters,如果你的Sendmail默認(rèn)不支持的話,你需要重新編譯安裝Sendmail。在編譯安裝時(shí)只要在site.config.m4文件中添加如下兩行即可:
APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER_ROOT_UNSAFE')
同時(shí),如果你是像我這樣原碼安裝Sendmail的話,你還需要去編譯安裝Sendmail時(shí)的原碼目錄里的libmilter目錄中編譯安裝libmilter,否則,安裝MIMEdefang的過程會報(bào)錯(cuò)。
#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
修改下列項(xiàng)的值為你需要的,其它各項(xiàng)也可以酌情修改:
$AdminAddress = 'defang-admin@localhost';
$AdminName = "MIMEDefang Administrator's Full Name";
$DaemonAddress = '
[email=postmaster@yourcompany.com]postmaster@yourcompany.com[/email]
';
$DaemonName = 'Your Company Mail Server';
測試配置文件是否有語法錯(cuò)誤:
#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.如果啟動時(shí)提示找不到/var/spool/MIMEdefang/clamv.sock,可以修改/etc/clamv/clamd.conf文件中LocalSocket行為如下內(nèi)容,并重新啟動clamd即可
LocalSocket /var/spool/MIMEDefang/clamd.sock
五、確保以上服務(wù)啟動以后,就可以重新啟動Sendmail并測試發(fā)信了。
1.啟用outlook進(jìn)行發(fā)信測試,在本機(jī)使用root帳戶收信如下:
From
[email=redhat@benet.org]redhat@benet.org[/email]
Sun Mar 25 12:19:51 2007
From: "redhat"
To:
Subject: Test_MIMEdefang
Date: Wed, 28 Mar 2007 12:38:56 +0800
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_001B_01C77136.0CEC64A0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.3028
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
X-Scanned-By: MIMEDefang 2.61 on 192.168.1.66
This is a multi-part message in MIME format.
------=_NextPart_000_001B_01C77136.0CEC64A0
Content-Type: text/plain;
charset="gb2312"
Content-Transfer-Encoding: base64
VGVzdF9NSU1FZGVmYW5n
------=_NextPart_000_001B_01C77136.0CEC64A0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: base64
2.mail日志記錄
Mar 25 12:19:43 mail sendmail[1924]: STARTTLS=server, relay=[192.168.1.175], version=TLSv1/SSLv3, verify=NO, cipher=RC4-MD5, bits=128/128
Mar 25 12:19:43 mail sendmail[1924]: AUTH=server, relay=[192.168.1.175], authid=redhat, mech=LOGIN, bits=0
Mar 25 12:19:44 mail sendmail[1924]: l2P4JgR9001924: from=, size=1223, class=0, nrcpts=1, msgid=, proto=ESMTP, daemon=MTA-SSL, relay=[192.168.1.175]
Mar 25 12:19:51 mail mimedefang.pl[1746]: MDLOG,l2P4JgR9001924,mail_in,,,,,Test_MIMEdefang
Mar 25 12:19:51 mail sendmail[1924]: l2P4JgR9001924: Milter delete (noop): header: X-Spam-Score
Mar 25 12:19:51 mail sendmail[1924]: l2P4JgR9001924: Milter add: header: X-Scanned-By: MIMEDefang 2.61 on 192.168.1.66
Mar 25 12:19:51 mail imapd[1929]: imaps SSL service init from 192.168.1.175
Mar 25 12:19:51 mail imapd[1929]: Login user=redhat host=[192.168.1.175]
Mar 25 12:19:51 mail sendmail[1928]: l2P4JgR9001924: to=, ctladdr= (500/500), delay=00:00:07, xdelay=00:00:00, mailer=local, pri=31521, dsn=2.0.0, stat=Sent