Chinaunix首页 | 论坛 | 博客
  • 博客访问: 231129
  • 博文数量: 86
  • 博客积分: 5030
  • 博客等级: 大校
  • 技术积分: 810
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-30 16:36
文章分类

全部博文(86)

文章存档

2010年(86)

我的朋友

分类: LINUX

2010-04-15 16:01:49

Dspam 单独处理垃圾邮件,需要前期付出比较多的劳动,对它进行训练,纠正(错误),而为了提高垃圾邮件的拦截率和准确度,我们对dspam漏判的垃圾信进行了分析,发现有80%都能通过slockd过滤掉,根据最近1个半月的Slockd + Dspam结合的效果来看,行为+内容过滤效果相当好

1)原理

其实原理很简单,很多垃圾信的发送源ip能被一些著名RBL拦截,而部分冒充的邮件可以通过SPF拦截,另外一些由zombie发来的垃圾信可以通过greylist来阻隔一下。这些信其实都不需要经过dspam来判断,直接在slockd就干掉了,这样可以大大降低系统的负担,而且能将漏判的垃圾信杀掉。因此slockd和dspam是互补的作用。

有一点要说明,本文档只适合Slockd 0.99+dspam,早期所有版本的slockd都不适合。因为新的0.99 slockd只保留了那些能很有把握干掉垃圾邮件的模块(>99%的可信程度,例如spf),其他误判率高的模块全部删除,并且现有的插件执行顺序也是有设计思路在里面,不能随意变更的。

2)Slockd 安装配置

参考Slockd 0.99的发布文档,其实非常简单,默认解包并装好需要的软件包,启动slockd就可以了。接着配置postfix(见下文)。需要知道slockd的运行状态可以执行:

引用:

/usr/local/slockd/slockd-init status

slockd的系统日志一般在/var/log/slockd.log (支持彩色分析)

3)Dspam 配置

请参考liushaobo 老大的有关帖子,请看:

这里就不多说了,dspam不需要进行任何针对slockd的特殊配置。

4)Postfix 配置

引用:

smtpd_recipient_restrictions =

   permit_mynetworks,

   permit_sasl_authenticated,

   reject_non_fqdn_hostname,

   reject_non_fqdn_sender,

   reject_non_fqdn_recipient,

   reject_unauth_destination,

   reject_unauth_pipelining,

   reject_invalid_hostname,

   reject_unlisted_recipient,

  check_client_access pcre:/etc/postfix/dspam_filter_access,

   check_policy_service inet:127.0.0.1:10030

配置完后postfix reload 即可,注意dspam和slockd的顺序。

5)测试与效果

登陆dspam的webUI,并且监视slockd日志:

tail -f /var/log/slockd.log (建议在Bash下看,支持彩色)

这时有些垃圾信会被slockd拦截掉,在slockd日志里红色高亮显示,这些邮件不会投递给dspam,因此在webUI 里是看不到这些邮件的。如果slockd放过一些邮件,比如来自gmail.com的,那么在dspam webUI的history里就会出现这个记录,如果错判了可以立刻纠正。

经过1个半月的测试,服务器上承担了接近10个domain的过滤任务,每天起码过滤掉500封垃圾信,有效率至少95%,每天只有几十封Good邮件,而里面会有少数是垃圾信,需要重新在webUI学习。Slockd+Dspam的好处是slockd将很多显著的垃圾信拦截在队列之外,那么dspam界面里就不会有太多信,管理员要甄别、重新训练也轻松多了。

6)未来发展

之后将发布Slockd + Dspam + 蜜罐/陷阱地址 的方法,即在自己的网站公布一些专门吸引垃圾信的邮件地址,然后自动将来发给这些地址的信转给dspam学习,提高自动学习的效率,进一步减少管理员的工作量。目前已经在内部测试了一下,暂时还看不出明显效果(主要是发给蜜罐的邮件太少了)

阅读(1360) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~