本章节描述如何安装和处理对抗病毒和垃圾邮件的软件
# Adding a group for the clamav user groupadd clamav # Adding the clamav user to your system useradd -g clamav -c "clamav user" clamav cd /usr/local tar -xvzf clamav-0.68.tar.gz cd clamav-0.68 ./configure make && make install |
为了测试 clamav 的功能,您可以运行 clamscan 以从 clamav 发行版中包含的测试模式中获取一些结果,运行 clamscan -r -i /usr/local/clamav-0.68
输出应该如下所示
/usr/local/clamav-0.68/test/test1: ClamAV-Test-Signature FOUND /usr/local/clamav-0.68/test/test1.bz2: ClamAV-Test-Signature FOUND /usr/local/clamav-0.68/test/test2.zip: ClamAV-Test-Signature FOUND /usr/local/clamav-0.68/test/test2.badext: ClamAV-Test-Signature FOUND /usr/local/clamav-0.68/contrib/clamdwatch/clamdwatch.tar.gz: Eicar-Test-Signature FOUND ----------- SCAN SUMMARY ----------- Known viruses: 20482 Scanned directories: 47 Scanned files: 406 Infected files: 5 Data scanned: 5.48 MB I/O buffer size: 131072 bytes Time: 2.706 sec (0 m 2 s) |
下一步是设置病毒数据库的自动更新。这是一个重要的步骤,因为病毒传播的速度很快,而且还会进一步加快。
创建所需的日志文件
touch /var/log/clam-update.log chmod 600 /var/log/clam-update.log chown clamav /var/log/clam-update.log |
我建议每小时使用 cronjob 更新签名。要编辑 crontab,请执行 crontab -e 并添加以下行,并将 “x” 替换为 1 到 59 之间的随机值。 这是一种基于时间的负载平衡,以确保更多人可以获取更新。
#x * * * * /usr/local/bin/freshclam --quiet -l /var/log/clam-update.log |
要测试更新过程是否正常工作,请执行命令 /usr/local/bin/freshclam -l /var/log/clam-update.log 并查看输出。
输出应该类似于这样
ClamAV update process started at Tue Mar 23 19:58:11 2004 Reading CVD header (main.cvd): OK Downloading main.cvd [*] main.cvd updated (version: 21, sigs: 20094, f-level: 1, builder: tkojm) Reading CVD header (daily.cvd): OK Downloading daily.cvd [*] daily.cvd updated (version: 210, sigs: 596, f-level: 1, builder: acab) Database updated (20690 signatures) from database.clamav.net (64.74.124.90). |
Razor 是 spamassassin 的先决条件之一。
源站点:http://prdownloads.sourceforge.net/razor/razor-agents-sdk-2.03.tar.gz?download
源站点:http://prdownloads.sourceforge.net/razor/razor-agents-2.40.tar.gz?download
cd /usr/local tar -xvzf razor-agents-sdk-2.03.tar.gz cd razor-agents-sdk-2.03 perl Makefile.PL make && make install cd /usr/local tar -xvzf razor-agents-2.40.tar.gz cd razor-agents-2.40/ perl Makefile.PL make && make install |
Spamassassin 是当今领先的开源项目,用于对抗垃圾邮件。 描述 spamassassin 的工作原理对于本文档来说过于繁琐。 有关更多信息,请查阅 http://eu.spamassassin.org/doc.html
Amavisd-new 是将上述所有软件粘合在一起到 postfix 的软件
Amavisd-new 需要很多先决条件。
运行 perl -MCPAN -e shell 并执行
install ExtUtils::MakeMaker install HTML::Parser install DB_File install Digest::SHA1 install Archive::Tar install Archive::Zip install Compress::Zlib install Convert::TNEF install Convert::UUlib install MIME::Base64 install MIME::Parser install Mail::Internet install Mail::SPF::Query install Net::Server install Net::SMTP install Net::DNS install Digest::MD5 install IO::Stringy install Time::HiRes install Unix::Syslog |
最后运行 ./amavisd 并查看被忽略的先决条件。
编辑/etc/amavisd.conf并更改变量$daemon_user为 “amavis” 和$daemon_group为 “amavis”。 另一个要更改的变量是$mydomain 以匹配您的域。
还请考虑更改病毒和垃圾邮件的默认设置,以避免收到有关每个拦截邮件的通知
$final_virus_destiny = D_DISCARD; # (defaults to D_BOUNCE) $final_spam_destiny = D_DISCARD; # (defaults to D_REJECT) |
在 SPAM 过滤的开始阶段,我建议将 kill-value 设置为更高的值,直到您调整了过滤器。 更改变量$sa_kill_level_deflt为 8 或更高。
cd /usr/local tar -xvzf amavisd-new-20030616-p8.tar.gz cd amavisd-new-20030616 cp amavisd /usr/local/sbin cp amavisd.conf /etc chown root /etc/amavisd.conf chmod 644 /etc/amavisd.conf |
现在是时候为 amavisd-new 定义一个组和一个用户了
groupadd amavis useradd -g amavis -c "Amavisd-new user" amavis |
接下来,您必须为隔离的邮件定义一个目录
mkdir /var/virusmails chown amavis:amavis /var/virusmails chmod 750 /var/virusmails mkdir /var/amavis chown amavis:amavis /var/amavis chmod 750 /var/amavis |
amavisd-new 发行版中的原始 init 脚本仅适用于 Redhat。 其他发行版需要安装我的快速而简陋的 init 脚本
#!/bin/bash # # Amavisd-new startup script case "$1" in start) # Starting amavisd /usr/local/sbin/amavisd ;; stop) # follows later ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac |
需要配置 Postfix 以将每封邮件发送到 amavis-new 以进行清理。
您需要将以下行添加到/etc/postfix/main.cf
content_filter = smtp-amavis:127.0.0.1:10024 |
的/etc/postfix/master.cf也需要一些调整,以将 amavisd-new 的结果返回到邮件系统。
请将以下行添加到您的配置中
smtp-amavis unix - - y - 2 smtp -o smtp_data_done_timeout=1200 127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 |