(5) [Mail]RHEL4上安裝基於postfix的全功能郵件服務器

 十五、安裝clamav-0.91.2

最新的clamav-0.91.2需要zlib-1.2.2以上的版本的支持,而RHEL4上的版本爲zlib-1.2.1,因此您需要先升級zlib

1、安裝zlib-1.2.3

#tar zvxf zlib-1.2.3.tar.gz
#cd zlib-1.2.3
#./configure --prefix=/usr --shared
#make
#make test

2、安裝clamav-0.91.2

添加ClamAV運行所需的組和用戶:
#groupadd clamav
#useradd -g clamav -s /sbin/nologin -M clamav

添加配合amavisd-new使用的用戶amavis
#groupadd amavis
#useradd -g amavis -s /sbin/nologin -M amavis

#tar zxvf clamav-0.91.2.tar.gz
#cd clamav-0.91.2
#./configure --prefix=/usr/local/clamav --with-dbdir=/usr/local/clamav/share --sysconfdir=/etc/clamav
#make
#make check
#make install

3、配置Clam AntiVirus:

編輯主配置文件:
#vi /etc/clamav/clamd.conf

註釋掉第八行的Example,如下:
# Example

找到如下行
#LogFile /tmp/clamd.log
#PidFile /var/run/clamd.pid
LocalSocket /tmp/clamd.socket
#DatabaseDirectory /var/lib/clamav
#User clamav
修改爲:
LogFile /var/log/clamav/clamd.log
PidFile /var/run/clamav/clamd.pid
LocalSocket /var/run/clamav/clamd.socket
DatabaseDirectory /usr/local/clamav/share
User amavis

啓用以下選項
LogSyslog yes
LogFacility LOG_MAIL
LogVerbose yes
StreamMaxLength 20M  (後面的數值應該與郵件服務器允許的最大附件值相一致)


編輯更新進程的配置文件
#vi /etc/clamav/freshclam.conf

註釋掉Example,如下:
# Example

找到如下行
#DatabaseDirectory /var/lib/clamav
#UpdateLogFile /var/log/freshclam.log
PidFile /var/run/freshclam.pid
分別修改爲:
DatabaseDirectory /usr/local/clamav/share
UpdateLogFile /var/log/clamav/freshclam.log
PidFile /var/run/clamav/freshclam.pid

啓用以下選項:
DatabaseMirror db.XY.clamav.net  (這裏也可以把XY改成您的國家代碼來實現,比如,我們用cn來代替)
LogSyslog yes
LogFacility LOG_MAIL
LogVerbose yes

4、建立日誌所在的目錄、進程與socket所在的目錄,並讓它屬於clamav用戶:

# mkdir -v /var/log/clamav
# chown -R amavis.amavis /var/log/clamav
# mkdir -v /var/run/clamav
# chmod 700 /var/run/clamav
# chown -R amavis.amavis /var/run/clamav

建立freshlog的日誌文件
#touch  /var/log/clamav/freshclam.log
#chown  clamav.clamav  /var/log/clamav/freshclam.log

5、配置crontab,讓Clam AntiVirus每小時檢測一次新的病毒庫:

# crontab -e
添加:
37 * * * * /usr/local/clamav/bin/freshclam

6、配置庫文件搜索路徑:

# echo “/usr/local/clamav/lib” >> /etc/ls.so.conf
# ldconfig -v

7、配置clamav開機自動啓動

# cp contrib/init/RedHat/clamd  /etc/rc.d/init.d/clamd
# cp contrib/init/RedHat/clamav-milter  /etc/rc.d/init.d/clamav-milter
# chkconfig --add clamd
# chkconfig --add clamav-milter
# chkconfig --level 2345 clamd on
# chkconfig --level 2345 clamav-milter on

編輯/etc/rc.d/init.d/clamd,將服務進程的路徑指向剛纔的安裝目錄
#vi /etc/rc.d/init.d/clamd
找到如下行
progdir="/usr/local/sbin"
修改爲:
progdir="/usr/local/clamav/sbin"

啓動clamd
#service clamd start

十六、安裝Spamassassin-3.2.3    (2007.9.19新增)

1、依賴關係的解決,安裝Spamassassin需要很多perl模塊的支持,以下是所需模塊列表及安裝方法;

必須的軟件包:
Digest::SHA1
HTML::Parser
Net::DNS
LWP (aka libwww-perl)
HTTP::Date
IO::Zlib
Archive::Tar

可選的軟件包,其中有些後面的amavisd也有可能會用到:
MIME::Base64
DB_File
Net::SMTP
Mail::SPF
IP::Country::Fast
Net::Ident
IO::Socket::INET6
IO::Socket::SSL
Compress::Zlib
Time::HiRes
Mail::DKIM
Mail::DomainKeys
DBI *and* DBD driver/modules
Encode::Detect
Apache::Test
Razor2

推薦使用CPAN自動安裝(你的主機要能連上Internet),它能夠自動下載安裝,並能解決安裝過程中的依賴關係。您可以使用類同的以下的命令來進行安裝:
#perl -MCPAN -e shell
cpan> install Digest::SHA1
………………

如果您的主機無法直接連接到Internet,您也可以到http://search.cpan.org上搜索下載所需要的軟件包,而後使用類同的下列命令安裝:

#tar zxvf 軟件包.tar.gz
#cd 軟件包
#perl Makefile.PL
#make
#make test
#make install
說明:某些軟件包安裝的過程中可能需要已經列出的其它軟件包的支持(可以先嚐試安裝Spamassassin,然後按提示補充所需軟件包),請安照提示自行調整安裝順序。另外,其中有個軟件包安裝過程中可能要求聲明環境變量LC_ALL,此時,可輸入如下命令,並重新進行軟件包的編譯安裝即可。
#export LC_ALL=C

2、安裝Spamassassin-3.2.3

#tar jxvf Mail-SpamAssassin-3.2.3.tar.bz2
#cd Mail-SpamAssassin-3.2.3
#perl Makefile.PL
#make
#make check
#make istall

3、編輯主配置文件/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


4、測試spamassassin 

#spamassassin -t < sample-nonspam.txt > nonspam.out
#spamassassin -t < sample-spam.txt > spam.out 

查看測試結果:

#less nonspam.out
#less spam.out 

5、檢查配置文件

#spamassassin -d --lint 

6、啓動進程,並將其加入到自動啓動隊列

#/usr/bin/spamd -d 
#echo "/usr/bin/spamd -d" >> /etc/rc.local

十七、安裝amavisd-new-2.5.2

1、依賴關係的解決

以下爲官方聲明所必須的軟件包列表,你可以採用類同安裝Spamassassin一節中的perl模塊的安裝方法進行安裝

Archive::Zip   (Archive-Zip-x.xx) (1.14 or later should be used!)
Compress::Zlib (Compress-Zlib-x.xx) (1.35 or later)
Convert::TNEF  (Convert-TNEF-x.xx)
Convert::UUlib (Convert-UUlib-x.xxx) (1.08 or later, stick to new versions!)
MIME::Base64   (MIME-Base64-x.xx)
MIME::Parser   (MIME-Tools-x.xxxx) (latest version from CPAN - currently 5.420)
Mail::Internet (MailTools-1.58 or later have workarounds for Perl 5.8.0 bugs)
Net::Server    (Net-Server-x.xx) (version 0.88 finally does setuid right)
Digest::MD5    (Digest-MD5-x.xx) (2.22 or later)
IO::Stringy    (IO-stringy-x.xxx)
Time::HiRes    (Time-HiRes-x.xx) (use 1.49 or later, older can cause problems)
Unix::Syslog   (Unix-Syslog-x.xxx)
BerkeleyDB     with bdb library 3.2 or later (4.2 or later preferred)

2、安裝amavisd-new-2.5.2

創建運行時目錄,並賦予amavis用戶(前文中所建)
# mkdir -pv /var/amavis/{tmp,var,db,home}
# chown -R amavis:amavis /var/amavis
#chmod -R 750 /var/amavis

#tar zxvf amavisd-new-2.5.2.tar.gz
#cd amavisd-new-2.5.2

拷貝服務端至$PATH中指定的目錄,推薦拷貝至/usr/local/sbin:
#cp amavisd /usr/local/sbin/
#chown root /usr/local/sbin/amavisd
#chmod 755  /usr/local/sbin/amavisd

拷貝主配置文件至/etc,並修改相應的權限:
#cp amavisd.conf /etc
# chown root:amavis /etc/amavisd.conf 
# chmod 640 /etc/amavisd.conf 

創建amavisd運行中所需要的隔離區域:
# mkdir -v /var/virusmails
# chown amavis:amavis /var/virusmails/
# chmod 750 /var/virusmails/

3、編輯主配置文件
#vi /etc/amavisd.conf

確保您的如下選項的值如下文所示:
$daemon_user  = 'amavis';
$daemon_group = 'amavis'; 
$mydomain = 'benet.org'; (此處可更改爲您集體的域)

$virus_admin               = "postmaster\@$mydomain";  
$mailfrom_notify_admin     = "postmaster\@$mydomain";  
$mailfrom_notify_recip     = "postmaster\@$mydomain";  
$mailfrom_notify_spamadmin = "postmaster\@$mydomain"; 
$mailfrom_to_quarantine = ''; 

virus_admin_maps => ["postmaster\@$mydomain"]    (指定報告病毒和垃圾郵件時發送系統郵件的用戶身份)
spam_admin_maps  => ["postmaster\@$mydomain"]

啓用ClamAV,(大概在第355行)去掉如下行前的註釋符: 
#['ClamAV-clamd',
#     \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd"],
#    qr/\bOK$/, qr/\bFOUND$/,
#      qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
#     ['Mail::ClamAV', \&ask_clamav, "*", [0], [1], qr/^INFECTED: (.+)/],

並將如上行中的/var/run/clamav/clamd修改爲:/var/run/clamav/clamd.socket
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章