关于我
 

xjpvictor's Blog
小老鼠,上灯台,两只耳朵竖起来

vps邮件服务器 (4)


各种折腾·emaillinuxvps

本文发表于超过180天以前,部分内容可能已经失效

这个系列第四篇,有关防病毒。因为某次杀毒的时候爆出我的邮件备份文件中有病毒,虽然最后证明是false alarm,但是也不排除以后会收到带病毒的邮件,所以还是用上杀毒软件比较好,只不过主要还是对windows下的病毒。

杀毒软件用的是clamav,自带了clamav-milter,但是源里的包编译的时候没有开启,上传了一个到aur,https://aur.archlinux.org/packages/clamav-milter/,安装完直接systemctl start clamav-milter就行了。

设置/etc/clamav/clamav-milter.conf

MilterSocket local:/var/lib/clamav/clamav-milter.sock
MilterSocketMode 666

然后/etc/postfix/main.cf修改smtpd_milters

smtpd_milters = unix:/var/lib/clamav/clamav-milter.sock

如果有别的milter,比如之前的opendkim的,用,分隔。只需要设置smtpd_milters,不需要non_smtpd_milters

不过clamav本身是很占资源的,尤其是内存,至少要近180M,而扫毒的时候更耗内存,还好前段时间linode加了内存,不然还是撑不住。

另外/etc/clamav/clamd.conf要设置

StructuredSSNFormatNormal no
StructuredSSNFormatStripped no

因为这个是扫描文件中是否有信用卡号和social security number,但是不在美国,social security number根本没用,反而会造成false alarm,因为只要是xxx-yy-zzzz或者xxxyyzzzz格式的字符串就会被认为是social security number,很容易误判。

对于一些邮件可以建立白名单,设置/etc/clamav/clamav-milter.conf

Whitelist /etc/clamav/whitelist-address

然后建立/etc/clamav/whitelist-address白名单文件,写规则,一行一个。文件名不能有下划线,不然无法启动的。

From:xx@yy.com
To:zz@yy.com

当邮件被判定含有病毒的时候,可以设置/etc/clamav/clamav-milter.conf

VirusAction /etc/clamav/holdnotify

建立/etc/clamav/holdnotify文件,比如通知admin

#!/bin/bash
echo "A message \"$5\" from $3 to $4 has been quarantined for being infected by $1 at $7 with queue id $2 and message id $6" | mutt -s "Infected email quarantined" -- admin@yy.com

可以用的一些变量

$1 病毒名
$2 邮件队列id
$3 发信人地址
$4 收信人地址
$5 邮件主题
$6 邮件id
$7 邮件日期

如果误判了可以用postsuper -H $id把被误判的邮件释放出来。

顺便owncloud也可以添加clamav杀毒,需要clamav开启tcp,监听本地端口就行,反正和owncloud在同一台机器上。

owncloud有个专门的app,安装完了modedaemonstream length不要太大,我用了10000000,就是10M,太大的话上传文件要花很久扫毒,而且很占资源。

Update: 2015-03-28
貌似clamav-milter判断有毒的邮件一旦被hold住,再unhold的话仍然会经过clamav-milter,然后再次被hold,所以要把clamav-milter中设置为有毒邮件为Accept,然后让postfix进行header check,如果header中有X-Virus-Status: Infected就hold,这样如果unhold之后就能收到邮件了。同时clamav-milter中的virus action仍然有效,还是可以通知有邮件被判断有毒了。

本文 "vps邮件服务器 (4)" 由 K. Huang 首先发表于 xjpvictor's Blog 并以 CC BY-NC 4.0 许可证发布 © 2013
转载注明引用来源 https://blog.xjpvictor.info/2013/07/email-server-4/

赞助我

评论

你的邮箱地址不会被公开。必填项以 * 标出

无意义或不相关评论将被删除

取消 上传图片 或拖拽上传

* Some files will not be uploaded. Only png, gif, jpg are allowed and maximum 10 images, each file less than 10M.

你可以添加 10 个 png/gif/jpg 图片 (每个文件小于 10M)

允许使用以下html标签:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

你可以上传文件,粘贴代码或长文至 Drop.it.r

更多相似文章