邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 13504|回复: 14
打印 上一主题 下一主题

[讨论] 我有一个新的WINWEBMAIL垃圾邮件网关的思路

[复制链接]
跳转到指定楼层
顶楼
发表于 2008-2-2 16:05:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在WINWEBMAIL的二次开发中有应该有1个获取某用户下所有邮件ID的一个方法
然后我把每个邮件的来源IP都进行CBL查询。如果判断为垃圾IP。那就直接用二次开发的移动到垃圾箱或者删除邮件的方法把邮件处理掉

程序每分钟运行1次。这样就不用定期更新什么KILL.ini了。而且及时性也非常的高。耗用的CPU资源也非常低。
因为主要的判断查询过程已经不需要WINWEBMAIL进行处理了。
而且程序会记录经过判断的邮件ID。那就不会对已经处理过的信息重新进行判断。
程序要做的就是列出新邮件。并做CBL查询。然后再处理邮件

正在努力寻找相关接口。正准备做一个。

[ 本帖最后由 psh2000 于 2008-2-2 16:07 编辑 ]
15
发表于 2008-2-5 07:24:51 | 只看该作者

给大家一个例子看看

邮件头信息

Received: from localhost by mail-dns-server
    with SpamAssassin (version 3.0.1);
    Tue, 05 Feb 2008 07:18:52 +0800
From: =?GB2312?B?wfXdvA==?= <liujing@sina.com>
To: webmaster@supresoft.com
Subject: [SPAM] =?GB2312?B?usO+w7K7vPvE48HLLLu5vMe1w87SwvA/?=
Date: Tue, 5 Feb 2008 06:40:14 +0800
X-Spam-Flag: YES
X-Spam-Checker-Version: SpamAssassin 3.0.1 (2004-10-22) on mail-dns-server
X-Spam-Status: Yes, score=11.9 required=5.0 tests=CN_BODY_7,CN_SUBJECT_245,
    FORGED_MUA_OUTLOOK,FORGED_OUTLOOK_HTML,FORGED_OUTLOOK_TAGS,HTML_60_70,
    HTML_IMAGE_ONLY_08,HTML_MESSAGE,HTML_TEXT_AFTER_BODY,
    HTML_TEXT_AFTER_HTML,MIME_8BIT_HEADER,MIME_HTML_ONLY,
    RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_XBL autolearn=no version=3.0.1
X-Spam-Level: ***********
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----------=_47A79D5C.28FA0000"



经过过滤后的邮件内容  


Spam detection software, running on the system "mail-dns-server", has
identified this incoming email as possible spam.  The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email.  If you have any questions, see
http://spam.newhi.net for details.

Content preview:  我是你的好朋友,找资料时发现的一个很好的网站
  上面的学习资料很多 还有很多教学视频 [...]

Content analysis details:   (11.9 points, 5.0 required)

pts rule name              description
---- ---------------------- --------------------------------------------------
0.5 CN_SUBJECT_245         Subject contains "好久"
0.2 CN_BODY_7              BODY: Body contains "网站"
0.0 HTML_60_70             BODY: Message is 60% to 70% HTML
0.2 HTML_TEXT_AFTER_BODY   BODY: HTML contains text after BODY close tag
1.2 MIME_HTML_ONLY         BODY: Message only has text/html MIME parts
0.0 HTML_MESSAGE           BODY: HTML included in message
0.2 HTML_TEXT_AFTER_HTML   BODY: HTML contains text after HTML close tag
2.0 HTML_IMAGE_ONLY_08     BODY: HTML: images with 400-800 bytes of words
1.8 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net
             [Blocked - see <http://www.spamcop.net/bl.shtml?221.203.168.147>]
2.5 RCVD_IN_XBL            RBL: Received via a relay in Spamhaus XBL
                            [221.203.168.147 listed in sbl-xbl.spamhaus.org]
0.0 FORGED_OUTLOOK_HTML    Outlook can't send HTML message only
0.0 FORGED_OUTLOOK_TAGS    Outlook can't send HTML in this format
0.3 MIME_8BIT_HEADER       Message header contains 8-bit character
3.0 FORGED_MUA_OUTLOOK     Forged mail pretending to be from MS Outlook

The original message was not completely plain text, and may be unsafe to
open with some email clients; in particular, it may contain a virus,
or confirm that your address can receive spam.  If you wish to view
it, it may be safer to save it to a file and open it with an editor.

[ 本帖最后由 chinaliuqi 于 2008-2-5 07:26 编辑 ]
14
发表于 2008-2-5 07:02:34 | 只看该作者
基于 SpamAssassin FOR Winwebmail 小工具 我已经写好了!不过由于本地用户较多,邮件较多!所以效率不高 10分钟一次 呵呵。

功能还可以 支持RBL Bayesian helo Penalty

主要是遍历目录的时候太慢


又经过了优化,现在遍历一次大概也需要一点时间,系统资源占用也降的很低了!效率有明显提高!25万文件 1523个文件夹 遍历一次不是太容易。



[ 本帖最后由 chinaliuqi 于 2008-2-5 23:04 编辑 ]
13
发表于 2008-2-4 16:30:53 | 只看该作者
如果在本地来过滤垃圾邮件,我觉得自己开发,到不如用SpamAssassin
12
发表于 2008-2-4 10:14:21 | 只看该作者
我就用kerio 自带的rbl查询 感觉挺好
呵呵  如果觉得慢 也可以做一个本地的rbl
总之这东西 都是垃圾惹得祸

个人能力肯定有限,有时候还是需要一些付费或者公众的产品来解决
11
发表于 2008-2-4 07:31:44 | 只看该作者
dig 153.68.195.209.cblplus.anti-spam.org.cn | find "IN A 127"

这个过程会快些
10
发表于 2008-2-4 07:25:53 | 只看该作者
1 即使在你能够成功的对比RBL列表,并成功将邮件转移至垃圾箱时,你有多大把握判断这封邮件的确是垃圾邮件?
2 如果你想获取并对比RBL列表时,你可曾想过RBL列表的数据库很庞大?一封一封对比恐怕这个需要耗费很长时间。
3 假设这种形式可以成立,你改如何解决from 127.0.0.1这类的垃圾邮件
9
 楼主| 发表于 2008-2-4 05:14:58 | 只看该作者
我不是说你的那个反垃圾网关不好
但由于那个涉及到邮件内容泄露。所以。不建议跟这个问题搭上关系
另外,如果把列表放到本地。列表一多起来。那是很占资源的事。
所以我才提议这种介于两者之间的方式:
1、本地判断,不涉及内容泄露
2、解决因IP列表庞大而造成的资源损耗
8
 楼主| 发表于 2008-2-4 05:01:20 | 只看该作者
ping 153.68.195.209.cblplus.anti-spam.org.cn
你试试从命令行运行这个语句。
会返回到一个IP地址

以上语句是检测209.195.68.153是否垃圾IP,当这个IP是垃圾IP的时候。PING能返回一个IP地址。
然后比如有1个IP:111.112.113.114这个IP是正常IP。
你再试一下PING 114.113.112.111.cblplus.anti-spam.org.cn
你会发现返回不了IP。也就是说他没在CBL中。

所以只要检查IP是否为垃圾IP。其实最简单就是模拟PING的过程。就可以实现。
用程序实现这个不难吧?
7
发表于 2008-2-3 19:39:18 | 只看该作者
看了PSH2000的帖子
我大致理解如下,不知道对不对。

  你所说的实际上是丰富了一个 邮件过滤 【自动将来信进行分检和处理】过程,这个在WINWEBMAIL个人选项中已经有了,但是如何从RBL的DNS中查询并对比IP地址,和返回值,这是你首要解决的关键问题。

我有几个疑问需要提一下

1 即使在你能够成功的对比RBL列表,并成功将邮件转移至垃圾箱时,你有多大把握判断这封邮件的确是垃圾邮件?
2 如果你想获取并对比RBL列表时,你可曾想过RBL列表的数据库很庞大?一封一封对比恐怕这个需要耗费很长时间。
3 假设这种形式可以成立,你改如何解决from 127.0.0.1这类的垃圾邮件?

我有几个建议给你

1.CBL不能作为首选,因为其局限性较大,如果单独采用RSYNC来同步数据,速度相当慢!并且你无法最先知道其更新内容。所以如果要单纯通过IP来判断,你需要建立一个自己的黑名单。这应该是一个数据库,以便后期开发client mai servr 获取黑名单的数据来源,这方面的工作,我做过一些,但是效果非常不理想,效率极其的低。

2.正确理解网关形式的反垃圾邮件策略

3.建议想办法收集垃圾邮件样本,丰富自己的黑名单。

4.尽量简化操作和后期维护工作

5.强大的日志功能 以便出问题后 可以很快找到问题解决办法

6.通用性 实用性 易用性 结合在一起考虑!
http://spam.newhi.net   

这里总共种方式,第一种被动防御(CBL列表) 第二种主动防御(反垃圾邮件网关)

现在反垃圾邮件网关 日垃圾邮件处理能力 可以在500万封左右 CPU消耗不超过15%

有兴趣,可以一起探讨这些问题!

[ 本帖最后由 chinaliuqi 于 2008-2-3 19:43 编辑 ]
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2026-8-5 17:06

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表