发新话题
打印

[原创] DSPAM 的安装设置(第一部分)

DSPAM 的安装设置(第一部分)

安装说明,以下安装是以 EMOS 1.2 版本为基础,域名为 redzone.com.cn 主机名称:mail.redzone.com.cn
-----------------------------------------------------------------------------------------------
(一)安装 dspam

# tar dspam-3.8.0.tar.gz
# cd dspam-3.8.0
# /usr/sbin/groupadd -g 2000 dspam
# /usr/sbin/useradd -g dspam -u 2000 dspam

# ./configure \
--enable-daemon \
--enable-clamav \
--enable-debug \
--enable-syslog \
--enable-preferences-extension \
--enable-long-usernames \
--enable-domain-scale \
--enable-virtual-users \
--with-dspam-home-owner=dspam \
--with-dspam-home-group=postfix \
--with-dspam-mode=2510 \
--with-dspam-owner=dspam \
--with-dspam-group=postfix \
--with-storage-driver=mysql_drv \
--with-mysql-includes=/usr/include/mysql \
--with-mysql-libraries=/usr/lib/mysql \
--with-logdir=/var/log/dspam \
--prefix=/usr/local/dspam \
--with-delivery-agent=/usr/sbin/sendmail

# make
# make install

# cd src/tools.mysql_drv
# mysql -u root -p -e "create database dspam"
# mysql -u root -p -e "grant all on dspam.* to dspam@localhost identified by '123456'"

# vi mysql_objects-4.1.sql
增加一行内容到最上面:
use dspam;

# vi virtual_users.sql
增加一行内容到最上面:
use dspam;

# mysql -u dspam -p < mysql_objects-4.1.sql
# mysql -u dspam -p < virtual_users.sql
# cp purge-4.1.sql /usr/local/dspam/var/dspam/purge.sql
# crontab -e

15 23 * * * /usr/bin/mysql -u dspam -p'123456' dspam < /usr/local/dspam/var/dspam/purge.sql
30 23 * * * dspam /usr/local/dspam/bin/dspam_logrotate -a 30 -d /usr/local/dspam/var/dspam/data

(二)配置 dspam

# vi /usr/local/dspam/etc/dspam.conf        (以下只写出修改或增加的部分)
-------------------------------------------------------------------------------------------------------------

Trust dspam
Trust postfix

Preference "spamAction=quarantine"
Preference "signatureLocation=headers"  # 'message' or 'headers'
Preference "showFactors=on"
Preference "spamAction=tag"
Preference "spamSubject=**SPAM**"

AllowOverride localStore

MySQLServer             /var/lib/mysql/mysql.sock
MySQLUser               dspam
MySQLPass               123456
MySQLDb                 dspam
MySQLCompress           true

MySQLUIDInSignature    on

#LocalMX 127.0.0.1

ParseToHeaders on
#ChangeModeOnParse on
#ChangeUserOnParse on
ChangeUserOnParse user

ClamAVPort      3310
ClamAVHost      127.0.0.1
ClamAVResponse         accept

(三) 配置 postfix

# vi /etc/postfix/master.cf        (以下只写出修改或增加的部分)
-------------------------------------------------------------------------------------------------------------

smtp      inet  n       -       n       -       -       smtpd
        -o content_filter=dspam:
dspam   unix    -       n       n       -       10      pipe
        flags=Rhqu user=dspam argv=/usr/local/dspam/bin/dspam --deliver=innocent --user $user -i -f $sender -- $recipient
spam   unix    -       n       n       -       10      pipe
        flags=Ru user=dspam argv=/usr/local/dspam/bin/dspam --class=spam --source=error --user dspam
notspam   unix    -       n       n       -       10      pipe
        flags=Ru user=dspam argv=/usr/local/dspam/bin/dspam --class=innocent --source=error --user dspam

# vi /etc/postfix/main.cf        (以下只写出修改或增加的部分)

transport_maps = hash:/etc/postfix/transport
smtpd_client_restrictions = check_client_access pcre:/etc/postfix/dspam_filter_access
local_recipient_maps = proxy:unix:passwd.byname $transport_maps $alias_maps
dspam_destination_recipient_limit = 1

# vi /etc/postfix/dspam_filter_access        (建立新的文件,空格用 tab 键)

/./     FILTER dspam:dspam

# vi /etc/postfix/transport        (建立新的文件,空格用 tab 键)

spam@redzone.com.cn           spam
notspam@redzone.com.cn        notspam

# postmap transport

重新启动 postfix 服务

/etc/rc.d/init.d/postfix restart

(四) 启动 dspam

编写一个 dspam 的启动脚本

# vi /usr/local/bin/dspam_startup

------------------内容如下-------------------------------------------

#!/bin/sh
#
# dspam: Starts dspam in daemon mode
#
# with minimal resources.
# processname: dspam
# pidfile: /var/run/dspam.pid
#
# Source function library.
PATH=/usr/local/sbin:/usr/local/bin:/usr/local/dspam/binPATH

start() {
echo -n $"Starting dspam: "
dspam --daemon 2>/dev/null &
}

stop() {
echo -n $"Stopping dspam: "
kill $(sudo cat /var/run/dspam.pid)
}

# See how we were called.
case "$1" in
  start)
  start
  ;;

  stop)
  stop
  ;;

  restart)
  stop
  start
  ;;

*)
  echo $"Usage: $0 {start|stop|restart}"
  ;;

esac

exit $RETVAL
-------------------------------------------------------------------

# chmod 0755 /usr/local/bin/dspam_startup
# dspam_startup start
# ps aux|grep dspam

root     23054  0.0  0.7  5332 1744 pts/0    S    16:35   0:00 dspam --daemon
root     23059  0.0  0.2  6136  660 pts/0    S+   16:36   0:00 grep dspam

能看到以上信息,说明 dspam 已经启动成功。

(五) 开始测试 dspam

之前我们在 postfix 目录下建立了个文件 transport,内容是:

spam@redzone.com.cn           spam
notspam@redzone.com.cn        notspam

因此,我们要在 extmail 中建立上面连个邮箱帐号。

用其他邮箱往 redzone.com.cn 发送一测试邮件,在 extmail 收到邮件后,查看邮件的原始信息,可以看到以下信息,则说明 dspam 已经
正常工作:

X-DSPAM-Result: Innocent
X-DSPAM-Processed: Mon Nov 12 16:49:17 2007
X-DSPAM-Confidence: 1.0000
X-DSPAM-Probability: 0.0023
X-DSPAM-Signature: 1,4738138d233081377414986
X-DSPAM-Factors: 27,
...

-------------------------- 第一部分全部结束 ------------------------------------


第二部分,正在整理 DSPAM  DSPAM Web Interface Control ,整理后,贴出。

如果有错误,请回复指正,不胜感激。

mail to:jack_lk@163.com

TOP

dspam_destination_recipient_limit = 1 这一条我还是不明白是什么意思望老头能点解一下

TOP

引用:
原帖由 疯狂老头 于 2007-11-12 16:59 发表
安装说明,以下安装是以 EMOS 1.2 版本为基础,域名为 redzone.com.cn 主机名称:mail.redzone.com.cn
-----------------------------------------------------------------------------------------------
(一)安装 dspam

...
狂顶,感谢老大就缺这样的文章了

TOP

狂顶,感谢老头的无私奉献精神。

TOP

感谢老头的奉献精神。
我已经安装成功了,但在接下来的安装 DSPAM Web Interface (WEBUI)部分,一直无法成功。

我的系统也是用 EMOS 1.2 光盘安装的。老头,什么时候贴出 安装 DSPAM Web Interface 呀。。

TOP

不能收信,日志报错!!!!

Dec 17 08:58:35 mail postfix/smtpd[3379]: connect from m5-86.163.com[202.108.5.86]
Dec 17 08:58:36 mail postfix/smtpd[3379]: NOQUEUE: filter: RCPT from m5-86.163.com[202.108.5.86]: <m5-86.163.com[202.108.5.86]>: Client host triggers FILTER dspam:dspam; from=<XXX@163.com> to=<spam@YYY.net> proto=SMTP helo=<m5-86.163.com>
Dec 17 08:58:36 mail postfix/smtpd[3379]: 89D955C3BD: client=m5-86.163.com[202.108.5.86]
Dec 17 08:58:36 mail postfix/cleanup[3389]: 89D955C3BD: message-id=<200712170122069214268@163.com>
Dec 17 08:58:36 mail postfix/qmgr[3363]: 89D955C3BD: from=<XXX@163.com>, size=2963, nrcpt=1 (queue active)
Dec 17 08:58:36 mail postfix/pipe[3390]: fatal: get_service_attr: unknown username: dspam
Dec 17 08:58:36 mail postfix/smtpd[3379]: disconnect from m5-86.163.com[202.108.5.86]
Dec 17 08:58:37 mail postfix/qmgr[3363]: warning: premature end-of-input on private/dspam socket while reading input attribute name
Dec 17 08:58:37 mail postfix/qmgr[3363]: warning: private/dspam socket: malformed response
Dec 17 08:58:37 mail postfix/qmgr[3363]: warning: transport dspam failure -- see a previous warning/fatal/panic logfile record for the problem description
Dec 17 08:58:37 mail postfix/master[3361]: warning: process /usr/libexec/postfix/pipe pid 3390 exit status 1
Dec 17 08:58:37 mail postfix/master[3361]: warning: /usr/libexec/postfix/pipe: bad command startup -- throttling
Dec 17 08:58:38 mail postfix/qmgr[3363]: 89D955C3BD: to=<spam@YYY.net>, relay=none, delay=2, delays=0.68/1.3/0/0, dsn=4.3.0, status=deferred (unknown mail transport error)

TOP

”疯狂老头“帮忙啊!!!!

TOP

期待WEB UI部分

dspam已工作,但webui还无从入手,大侠快点整理啊,

TOP

这样安装,原来的SA怎样?两个会一起工作吗?

TOP

疯狂老头:
你的启动代码存在转移字符,是否能发到我邮箱一份,谢谢你了
fzhy163@163.com
QQ:6562157
希望与你一同交流

编写一个 dspam 的启动脚本
# vi /usr/local/bin/dspam_startup

------------------内容如下-------------------------------------------

#!/bin/sh
#
# dspam: Starts dspam in daemon mode
#
# with minimal resources.
# processname: dspam
# pidfile: /var/run/dspam.pid
#
# Source function library.
PATH=/usr/local/sbin:/usr/local/bin:/usr/local/dspam/binPATH

start() {
echo -n $"Starting dspam: "
dspam --daemon 2>/dev/null &
}

stop() {
echo -n $"Stopping dspam: "
kill $(sudo cat /var/run/dspam.pid)
}

# See how we were called.
case "$1" in
  start)
  start
  ;;

  stop)
  stop
  ;;

  restart)
  stop
  start
  ;;

*)
  echo $"Usage: $0 {start|stop|restart}"
  ;;

esac

exit $RETVAL

TOP

我分析了一下转移字符        好像是:$

TOP

我的是 FreeBSD 系统,照着楼主的步骤做,不过用的是 ports 安装,当然相应的路径也做了修改,
dspam 3.8.0 安装成功了!webgui还没装。

运行了一整天,/var/db/dspam 有几百兆的文件,dspam mysql数据库中一条记录都没有,不知道是什么原因?

另外感觉收到的垃圾邮件比装之前更多了

如何训练?

[ 本帖最后由 lang3 于 2008-10-16 01:03 编辑 ]

TOP

发新话题