返回列表 回复 发帖

[讨论] Dspam常见问题解答

Hi all
建这个贴的意思是希望大家在 Dspam中遇到的问题以及解决方法在这里贴出;同时也将贴出解决问题的兄弟的 ID

以下没有标记 ID 的是翻译Dspam官方的FAQ,因为本人的英文水平有限,不对之处还请指出
1、
Q: 什么是DSPAM?为什么我要使用它?
A: DSPAM是一个智能的自适应学习什么是垃圾邮件垃的过滤器,而不是根据每个用户的个人电子邮件的行为。它的目的是为全系统的过滤和第三方一体化如果您正在寻找一个可扩展、快速、准确的垃圾邮件过滤器,并且能够自适应学习,您应该使用DSPAM。虽然这是一个垃圾邮件过滤器的设计,DSPAM表现出极大的能力。
2、
Q: 什么样的MTA可以和DSPAM工作?
A: DSPAM可以与任何的MTA (Mail Transfer Agent)Sendmail, Postfix, Exim, Courier, Communigate Pro, and QMail 工作
3、
Q: 需要多长时间开始过滤垃圾邮件?
A: 从一个完全空白库开始,DSPAM的头几天到一个星期左右,普遍攀升至约95-98 %的准确度,取决于您收到多少邮件。
4、
Q: DSPAM和SpamAssassin不同之处 ?
A: 双方的共同目标是消灭垃圾邮件。

SpamAssassin 确实使用匹配规则来标识可能是垃圾邮件的邮件,但它采用了一种概率统计的、基于分数的方法来对消息分类,而没有采用二进制方法。它没有寻求创建那些将消息标识为“一定是垃圾邮件”或“一定不是垃圾邮件”的规则,而是使用利用概率来推断给定的消息是垃圾邮件的可能性的规则。

DSPAM的基础是相信机器学习(基本人工智能)可以本身解决垃圾邮件问题,而不需要人为维持的规则,不准确的黑名单或任何hodge-podge 的解决方案。DSPAM的一个中央垃圾邮件检测功能集成了先进的的统计分析。这导致了各级的准确性高达10倍,除了极少数误报。DSPAM细分每封电子邮件的部分,分析了历史数据的每个组件,并确定了特征来判断一封电子邮件通过。虽然DSPAM支持许多pre-filters, post-filters和其他层面的分析,其核心功能完全在于在自适应学习和语言分析。仅此一点就已经产生了各级精度最高达到99.991 % 。
5、
Q: 收到的垃圾邮件该怎么办?
A: DSPAM的目的是'学习'您会收到的垃圾邮件的基础上(和或不是),所以当您收到垃圾邮件,您可以在extmail的web界面提交,DSPAM将自动进行分析和学习。另外,用户可以通过DSPAM的WEB界面提交,这是一个极好的途径 ,为确保DSPAM不会过时,需继续学习新技巧的垃圾邮件。
6、
Q: 什么是DSPAM隔离区?
A: 每个用户都有一个隔离区,拥有DSPAM认为是垃圾邮件的信息,而不是简单地删除这些邮件,隔离区使用户能够识别false positive和不定期重新学习是误判的电子邮件 。 这是一个非常重要的步骤在学习过程中 ,据了解 , 没有垃圾邮件过滤器100 %的准确,因此,重要的是能够了解自己的错误。 DSPAM的隔离使它比其他一些解决办法更容易管理的垃圾邮件。
7、
Q: DSPAM支持白名单吗?
A: DSPAM支持白名单功能 ,DSPAM的白名单是一个自动功能的贝叶斯过滤机制。 是训练DSPAM建立一个内部的白名单。可自动识别谁最绝对不会发送垃圾邮件。
8、
Q: DSPAM支持病毒过滤吗?
A: DSPAM本身不过滤病毒,需要调用Clamav来进行病毒过滤。
以下是收集社区一些兄弟的解决方法
1、
Q:mini_httpd 在这当中起何作用,是替代 apache 吗?
A: ID:liushaobo   是的,这样比较方便,省去大家配置时在权限方面的不少麻烦;当然你要是一定要用apache也可以;
2、
Q:DSPAM有没有类似spamlocker的那样的开关?也就是说假如我使用有什么问题的话,通过修改哪几个配置就可以停用DSPAM
A: ID:liushaobo   把在main.cf 和master.cf 里做的配置 注释就可以了,再把相关的 DSPAM 服务停止,你做之前可以先把要改的文件备份一下,
3、
Q:Trust 的这几个账户是什么意思 是连接数据库的账户还是什么?
A: ID:hondasky   如果没有上面的账户,其它用户将没有权限操作 邮件存储目录的话就会报这个错误
Apr 24 11:02:19 mail dspam[8365]: Option --user requires special privileges when user does not match current user, e.g.. root or Trusted User
4、
Q: 怎么判断DSPAM 就在工作了呢?
A: ID:liushaobo  如果dspam工作正常,邮件的信头会出现以下标识,
X-DSPAM-Result: Spam
X-DSPAM-Processed: Fri Apr 3 10:40:02 2009
X-DSPAM-Confidence: 0.8222
X-DSPAM-Probability: 1.0000
X-DSPAM-Signature: 49d57702286051336712104
X-DSPAM-Factors: 15,
5、
Q:dspam-web里有如下错误提示:
An Error Has Occured
The following error occured while trying to process your request:
No historical data is available.
A: ID:liushaobo   用户的对dspam 的 data目录的访问权限不够或邮件收发没有经过dspam
6、
Q:举报功能 好像不起作用哦 我把一份邮件举报为垃圾邮件下次他会收到正常收件箱里去哦 是怎么会事?
A: ID:liushaobo   Dspam默认要学习五次,才会把邮件识别为垃圾邮件
7、
Q:Preference "spamAction=tag" //曾经在其他文档中看到过此参数注释掉,否则不能更改message handling,不太理解其含义,个人认为应该是设置Preference "spamSubject=**SPAM**"信件标题无法正常加载**SPAM**;
A: ID:liushaobo   "spamAction= " 有三种动作,一个隔离、二是加标记、三是投递
8、
Q: 若训练垃圾邮件的时候,出现以下错误:
Signature retrieval for '49f1790399401343511188' failed
Unable to find a valid signature. Aborting.
process_message returned error -5. dropping message.
A: ID:wendyzh    MySQLUIDInSignature on //此项一定要打开
9、
Q: DSPAM举报功能 好像不起作用哦  我把一份邮件举报为垃圾邮件下次他会收到正常收件箱里去哦 是怎么会事? MAILDROP 我已经配置好了
A: ID:liushaobo   DSPAM默认要学习五次,才会识别,这是为了防止误判,可以通过修改 Feature tb=x   参数来改变次数,x 表示数字;
10、
Q:我要自己再训练如何操作呢?
A: ID:hzqbbc   在webmail点“这是垃圾邮件”、“这不是垃圾邮件”。(前提是spam_report.pl里指定的dspamc路径正确)或在dspam-web 都可以直接训练dspam的。
11、
Q: dspam-webui 中出现很多类型为resend的,这算什么呢?
A: ID:xueron   resend的出现是因为同一封邮件有多个收件人,但是dspam会分别为两个人扫描,因为可能启动用户级过滤的话,两个收件人的判断结果可能不一样。这个时候,就会出现resend的标记,因为邮件的msgid是一样的。
12、
Q:  内网邮件别名无法发送,全部收到退信说user unkown,bcc 时不会监控发出的邮件
A: ID:liushaobo   修改 main.cf 文件的 #receive_override_options = no_address_mappings
修改master.cf 文件中的 -o receive_override_options=no_address_mappings,no_unknown_recipient_checks,no_header_body_checks
13、
Q:  每封邮件,不管正常或者是垃圾邮件用都有!DSPAM:1,49179586289971925617086!  的标识,现在想去掉。在mysql做了把用户的signature 置空也不行,在dspam.conf设置把相关项关掉也没有成功。
A: ID:zhanghuiwo   Preference "signatureLocation=message"  改为headers
14、
Q: dspam-web 不能生成图形
A: ID:liushaobo  请安装dspam-web 需要用到的Perl图形模块: perl-GD、perl-GDGraph、perl-GDTextUtil、perl-GD-Graph3d
15、
Q: Dspam出现以下日志 :
Jun 23 16:19:28 localhost dspam[4642]: Unable to determine the destination user
A: ID:hzqbbc  dspam没有设定 --user  参数
16、
Q: 请问Dspam的数据库是否一定要安装?hashdb是数据库吗?
A: ID:xueron   hashdb是内建默认的数据库,用户量小的话,用它很好,速度快。用户量多的话,建议使用mysql
17、
Q: 能不能让dspam只学习一次,就能作用于服务器上面的全部用户呢?
A: ID:xueron   当作全局过滤使用,--user 这个地方可以指定为一个固定的虚拟帐号,并且学习的时候都用这个虚拟帐号学习。
18、
Q: 如何导出我用dspam训练好的数据库?
A: ID:liushaobo   导出mysql的dspam库就可以了,如果还要history的话,把 dspam  的data目录也备份
19、
Q: Dspam工作正常的情况下,Internet 邮件头没有发现类似X-DSPAM-*的标记
A: ID:liushaobo   如果按照《Dspam-Amavisd-SpamAssassin-Clamav for EMOS》的设置,因为Dspam对本地网络不过滤,最好从Internet发一封信测试;
20、
Q: 《Dspam-Amavisd-SpamAssassin-Clamav for EMOS》这篇文章的10024、10025、10028这三个端口的作用是什么?
A: ID:hzqbbc     ctfilter(10028) dspam ==> 10024 amavisd ==> 10025 (smtpd)
21、
Q: 《Dspam-Amavisd-SpamAssassin-Clamav for EMOS》这篇文章,复制 dspam.pm 模块,提示找不到/usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/Plugin路径。
A: ID:liushaobo   EMOS里SA的Plugin路径和你自己的SA的Plugin路径不一样;要自己找一下路径了;或者用EMOS里面的rpm包;
22、
Q: 一个用户发同一封信到a<at>domain和b<at>domain,dspam 给出2种不同的判断结果,<at>domain把信当成是(X-DSPAM-Result: spam)垃圾邮件,b<at>domain把信当成(X-DSPAM-Result: Innocent)正常邮件。
A: ID:xueron   在dspam.conf中新增IgnoreHeader To参数,忽略邮件的一些标题。
23、
Q: Dspam 源代码编译后,无法生成 libmysql_drv.so 文件
A: ID:liushaobo   dspam的drv分两种,一是静态库,二是动态库,官方的dspam的drv是动态加载的,编译时指定两个mysql_drv 。用逗号隔开。动态库可以在dspam.conf中指定  mysql_drv,pgsql_drv,sqlite_drv,sqlite3_drv,hash_drv,
24、
Q: Dspam的history里面还能保留更多的记录吗?
A: ID:zhaodongxi   修改configure.pl文件的$CONFIG{'HISTORY_SIZE'} = number
25、
Q:   如何使用Dspam的隔离区?
A:   ID: liushaobo
设置dspam.conf 文件的以下参数:
Preference "spamAction=quarantine"
ServerParameters "--user extmail --deliver=innocent -d %u"

设置Dspam-Web 中Preferences参数
在Message Handling - Configure how SPAM is handled选中Quarantine the message

如果使用的EMOS,请修改以下部分:
修改amavisd.conf 文件的以下参数:
      [ qw(--client --stdout --deliver=innocent --mode=teft --user extmail)],
ExtMail邮件开发网
liushaobo@extmail.org
探索高性能的Anti-Spam组合
我沙发
ExtMail邮件开发网
liushaobo@extmail.org
探索高性能的Anti-Spam组合

回复 1# liushaobo 的帖子

我点 这是垃圾邮件五次后 出现这样的日志  是在垃圾邮件和非垃圾邮件之间点来点去的哦

Apr 24 13:10:17 mail postfix/pipe[8932]: 11BF19001123: to=<prayaya.ya@prayaya.com>, relay=maildrop, delay=0.42, delays=0.18/0/0/0.23, dsn=2.0.0, status=sent (delivered via maildrop service)
Apr 24 13:10:17 mail postfix/qmgr[8655]: 11BF19001123: removed
Apr 24 13:14:48 mail dspam[8945]: Invalid client configuration
Apr 24 13:14:51 mail dspam[8947]: Invalid client configuration
Apr 24 13:14:53 mail dspam[8949]: Invalid client configuration
Apr 24 13:14:55 mail dspam[8951]: Invalid client configuration
Apr 24 13:14:56 mail dspam[8953]: Invalid client configuration

请给出 A: ID:liushaobo   用户的对dspam 的 data目录的访问权限不够或邮件收发没有经过dspam   具体的权限

[ 本帖最后由 hondasky 于 2009-4-24 13:27 编辑 ]

回复 3# hondasky 的帖子

进程显示
postfix   8658  0.0  0.0   4872  2000 ?        S    12:13   0:00 tlsmgr -l -t unix -u -c
www-data  8828  0.0  0.0  24824  5132 ?        S    12:40   0:00 /usr/sbin/apache2 -k start
root      8887  0.0  0.0  14228  2240 pts/2    S    13:02   0:00 /usr/bin/dspam --daemon

DATA权限

mail:/var/spool/dspam# ls -l
total 692
drwxrwx--- 4 dspam dspam     36 2009-04-23 13:55 data
-rw-rw---- 1 root  dspam 702849 2009-04-24 13:10 system.log
mail:/var/spool/dspam#

看看改怎么改?

回复 4# hondasky 的帖子

访问 DSAP WEB  出现这样的日志

[Thu Apr 23 17:34:21 2009] [error] [client 58.254.150.170] File does not exist: /var/www/var, referer:
http://mail.prayaya.com/dspam/ds ... er=extmail&sort
by=Rating&manyNotSpam=Deliver+Checked
顶贴支持一下
原帖由 hondasky 于 2009-4-24 13:55 发表
访问 DSAP WEB  出现这样的日志

[Thu Apr 23 17:34:21 2009] [error] [client 58.254.150.170] File does not exist: /var/www/var, referer:
http://mail.prayaya.com/dspam/dspam.cgi?command=processQuarantine ...
A: 日志不是写得很清楚 /var/www/var 文件不存在
这个帖子得顶,好东西啊
走自己的路,让别人说去吧
之前定义dspam日志文件存储在/var/log/,仔细阅读安装文档后发现会有权限问题,请教如何把日志文件存储在其他目录


    --with-logdir=DIR
     Specify an alternative log directory. The default is $dspam_home/log. Do
     not set this to /var/log unless DSPAM will have permissions to write to
     the directory.

回复 9# fzhyextmail 的帖子

没试过,估计不好改吧
ExtMail邮件开发网
liushaobo@extmail.org
探索高性能的Anti-Spam组合
我也没找到相关配置呢
隔离区 是在哪里 怎么设置的 ?是一个邮箱帐号吗? 还是具体哪个目录? 我隔离区里面为0

[ 本帖最后由 chinaphp.com 于 2009-5-19 14:20 编辑 ]

回复 12# chinaphp.com 的帖子

目前的设置没有使用隔离区,LZ 要用隔离区得自己设置一下,看dspam.conf 的配置文件
ExtMail邮件开发网
liushaobo@extmail.org
探索高性能的Anti-Spam组合

DSPAM标示为spam,为什么还是投递到收件箱

Return-Path: <liuliubshan@126.com>
Delivered-To: tech@dameng.com
Received: from localhost (Michelle.com [127.0.0.1])
        by mail.jetsum.net (Postfix - by Jetsum.net) with ESMTP id F253C11C512
        for <tech@dameng.com>; Mon, 25 May 2009 11:14:59 +0800 (CST)
X-Virus-Scanned: amavisd-new at michelle.net
X-Spam-Flag: YES
X-Spam-Score: 40.764
X-Spam-Level: ****************************************
X-Spam-Status: Yes, score=40.764 tagged_above=2 required=5 tests=[AWL=1.350,
        CN_BODY_129=0.001, CN_BODY_14=1.655, CN_BODY_197=0.313,
        CN_BODY_240=0.34, CN_BODY_293=0.147, CN_BODY_39=1.2, CN_BODY_450=0.5,
        CN_BODY_495=0.779, CN_FROM_008=2, CN_SUBJECT_1282=25,
        DSPAM_SPAM_99=3.98, MIME_8BIT_HEADER=0.5, RDNS_NONE=0.1,
        TVD_SPACE_RATIO=2.899]
Received: from localhost ([127.0.0.1])
        by localhost (mail.michelle.net [127.0.0.1]) (amavisd-new, port 10024)
        with SMTP id bpGfefjDtYPk for <tech@dameng.com>;
        Mon, 25 May 2009 11:14:46 +0800 (CST)
Received: from 126.com (unknown [121.34.99.114])
        by mail.jetsum.net (Postfix - by Jetsum.net) with ESMTP id 7538A11C4CF
        for <tech@dameng.com>; Mon, 25 May 2009 11:14:14 +0800 (CST)
Received: from SZ123456-EAA0DB[169.254.181.172] by 126.com
  with SMTP id 453F2441; Mon, 25 May 2009 11:15:15 +0900
From: liuliubshan@126.com
Subject: =?GB2312?B?tPovv6qhqqGqt6IvxrE=?=
To: "tech" <tech@dameng.com>
Content-Type: text/plain;
        charset="gb2312"
Date: Mon, 25 May 2009 11:15:16 +0800
X-Mailer: FoxMail 3.11 Release [cn]
Message-Id: <20090525031414.7538A11C4CF@mail.eca.gov.cn>
Content-Transfer-Encoding: quoted-printable
X-DSPAM-Result: Spam
X-DSPAM-Processed: Mon May 25 11:14:46 2009
X-DSPAM-Confidence: 0.9899
X-DSPAM-Probability: 1.0000
X-DSPAM-Signature: 1,4a1a0d26129312032578767
返回列表