当前位置:Linux教程 - Linux资讯 - 为Sendmail添加杀毒插件Clamav

为Sendmail添加杀毒插件Clamav

先添加 clamav 用户,这个用户用来掌管整个软件的运行。   代码:   groupadd clamav   useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav     代码:   cp clamav-0.70.tar.gz /usr/src   tar zxvf clamav-0.70.tar.gz   cd clamav-0.70   ./configure --sysconfdir=/etc --enable-milter --prefix=/usr --datadir=/var/clamav   make   make install     (想更详细的控制安装选项请运行 ./configure --help)     下面配置 /etc/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     User clamav     这样 clamav 就基本可以工作了。     建立目录   代码:   mkdir /var/clamav   chown clamav:clamav /var/clamav     接下来要下载病毒资料库   首先编辑 /etc/freshclam.conf 文件   去掉次行注释并修改为 UpdateLogFile /var/log/clam-update.log     在 DatabaseMirror database.clamav.net 行下面在加入几个地址,更多镜像地址请参考文档 clamav.pdf   DatabaseMirror clamav.inet6.fr   DatabaseMirror clamav.netopia.pt   DatabaseMirror clamav.sonic.net     这样该文件就可以了。若升级数据库时无法连接就注释掉DatabaseMirror database.clamav.net 行,留下剩下的行.     下面生成/var/log/clam-update.log 文件   toUCh /var/log/clam-update.log   chmod 600 /var/log/clam-update.log   chown clamav /var/log/clam-update.log     运行数据库的更新     freshclam -d -c 2 (-d 选项为该命令以 daemon 方式运行 -c 2 这个选项的意思是每天检查2次数据库更新)     freshclam --quiet --stdout 手动更新数据库     更新结束后请到 /usr/src/clamav-0.70/test 目录下检查数据库里所认知的病毒数量     执行   clamscan test1     给果可能于下面显示的不同     代码:   test1: ClamAV-Test-Signature FOUND     ----------- SCAN SUMMARY -----------   Known viruses: 20670   Scanned directories: 0   Scanned files: 1   Infected files: 1   Data scanned: 0.00 Mb   I/O buffer size: 131072 bytes   Time: 2.301 sec (0 m 0 s)     设置 sendmail.mc 文件     需要增加如下代码:     代码:   dnl ## milter clmilter   INPUT_MAIL_FILTER(`clmilter', `S=local:/home/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl   define(`confINPUT_MAIL_FILTERS', `clmilter')     然后生成 sendmail.cf 文件     m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf     现在启动邮件过滤系统:     代码:   clamd     clamav-milter -Nnqlo --max-children=30 /home/clamav/clmilter.sock     freshclam -d -c 2     service sendmail restart     测试过滤带病毒的邮件     发送病毒邮件后你会在sendmail的Log(一般在/var/log/maillog)中看见如下提示:     Apr 1 13:36:01 Linux sendmail[1429]: i315ZxnL001429: from=<[email protected]>, size=41535, class=0, nrcpts=1,     msgid=<[email protected]>, proto=ESMTP, daemon=Daemon0, relay=linux.abc.gov.cn [127.0.0.1]   Apr 1 13:36:01 linux sendmail[1429]: i315ZxnL001429: Milter: data, discard     病毒邮件被系统 discard 了, 同时在 /var/log/clamd.conf 中也记录了病毒类型     这种情况下发病毒邮件的人在没有被提醒的情况下被系统将其发出的邮件给丢弃了, 收件人不会得到病毒邮件也不会被提醒有人试图给你发送病毒邮件!     若启动 clamav-milter 时用的参数只有 -lo 的话,则系统会警告发送病毒邮件的人,告诉他发送失败,sendmail 同时向邮件的接收者发送一封信,告诉他那个人试图发送病毒邮件给自己。   具体参数详解:   -n 在扫描邮件时不加入 clamav的版本号   -N 当用户发送带病毒的邮件时不警告他,而是立刻丢弃。但收件人会得到提示。   -q 安静方式, 不发出任何信息 (包括在日志中也不做过多提示,遇到病毒时也只有 Milter : discard 一句话)   -o 对从系统向外发的邮件做过滤   -l 对发到系统的邮件做过滤     建议用户做成启动脚本     /etc/rc3.d/S91clamav 内容如下:     代码:   /usr/bin/freshclam -d -c 2   /usr/sbin/clamd   /usr/sbin/clamav-milter -NnHqlo --quarantine-dir=/var/clamav/quarantine --max-children=30 /var/clamav/clmilter.sock     chmod 777 /etc/rc3.d/S91clamav


[1] [2] 下一页 

 

(出处:http://www.sheup.com)


上一页 [1] [2]