25 12
发新话题
打印

Spam Locker安装与配置文档

Spam Locker安装与配置文档

本文档主要是根据slockd-0.08.tar.gz 中INSTALL所编写的。

安装需求
=====
引用:
支持Linux / BSD或Solaris,HP-UX等操作系统
Perl 5.6+,建议Perl 5.8.0以上
系统带有gcc/make等工具
开发工具(ssl及crypt等包)
相关的perl模块
引用:
Net:NS
POSIX
Fcntl
Digest::MD5
Digest::SHA1
Digest::HMAC
Net::IP
具体安装步骤

1)下载

下载地址:http://www.extmail.org/download/

填写好表单后,选择最新的slockd软件包(目前最新是0.08),点下载并将下载的软件源码包保存好,解包:

2)解包
引用:
$ tar xfz slockd-{version}.tar.gz
$ mv slockd-{version} slockd
将{version}代替成最新的版本号(目前是0.08),然后将slockd-xxxx 改名并移动到:

/usr/local/slockd目录下,注意,必须使用root身份进行移动和改名。

3)安装perl模块

由于slockd是以smtp特征检测为主的软件,因此很大程度依赖dns库,必须安装Net:NS库才能正常工作,请到http://search.cpan.org下载最新版Net:NS (目前最新0.57)。

此外还需要下载如下模块:
引用:
Digest-HMAC
Digest-MD5
Digest-SHA1
Net-IP
注:对于BSD用户,可以到/usr/ports里寻找相应的ports进行安装,就不必麻烦到cpan上下载。

以Digest-MD为例:
引用:
$ cd Digest-MD5-xxx
$ perl MakeFile.PL
$ make
$ make test
$ su
# make install
安装好MD5后,顺次安装SHA1和HMAC,还有Net-IP模块(方法都是一样)

4)安装Net::DNS模块

安装前必须确定Net-IP模块是否已经安装好了,方法很简单:
引用:
$ perl -e 'use Net::IP'
如果没有错误返回则表示安装已经好了。开始解包并开始安装Net-DNS:
引用:
$ tar xfz Net-DNS-0.5x.tar.gz
$ cd Net-DNS-0.5x
$ perl MakeFile.PL
$ make
$ make install
如无意外,Net-DNS模块就安装好了。检查方法同上。

5)配置slockd

进入/usr/local/slockd目录,编辑config/main.cf 配置文件,每个配置参数都有简短的注释,如果要修改的话,请仔细阅读注释后方可修改。

默认情况下,slockd将只监听127.0.0.1(localhost)的10030端口,公网是无法访问这一服务的,这样做是为了安全起见,防止被其他有心人利用来做坏事。默认的日志将在标准的输出和标准错误输出(STDERR)显示。

接下来,可以配置slockd的日志路径和pid文件路径,默认配置为:
引用:
pid_file   /var/run/slockd.pid
log_file   /var/log/slockd.log
一旦log_file被定义(去掉注释),则调试信息被写入文件,而不是标准错误输出(STDERR)了。

6)配置resolv.conf

请确认/etc/resolv.conf里的dns服务器是离你的邮件服务器最近,速度最快的dns server,slockd很依赖dns的好坏,因此给系统配置一个快速的dns能大幅度提高处理速度。

如果可能的话,请配置一个简单的bind9,成为本地的dns cache server,可以获得最高性能!

7)启动/测试

在/usr/local/slockd目录下,执行:
引用:
./slockd
此时slockd将启动,并进入监听模式,接受来自10030端口的请求,要注意的是,如果刚才配置了log_file路径,则调试信息必须通过如下命令获得:
引用:
tail -f /var/log/slockd.log
打开另一个ssh/终端窗口,进入/usr/local/slockd/tools 目录,输入:
引用:
perl policy_sig -h localhost -p 10030 --helo FOOBAR \
--ip 192.168.0.1 --from test@foo.com --to test@bar.com
此时,程序应该返回如下错误信息:
引用:
action=504 <FOOBAR>: rejected, see http://bl.extmail.org/cgi/why?fqdn
这表示slockd初步的正常工作了。

8)配置MTA

目前slockd可以直接支持postfix,通过apf-qmail和apf-sendmail也可以支持qmail和sendmail,本文档目前只覆盖有关Postfix的配置和使用,其他的mta支持文档将在以后发布。

编辑/etc/postfix/main.cf (如果是bsd系统,main.cf应该在/usr/local/etc/postfix下)

将“check_policy_service inet:127.0.0.1:10030”记录增加到smtpd_recipient_restrictions 里,一个建议的配置如下:
引用:
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,
   check_policy_service inet:127.0.0.1:10030
9)重载postfix

配置完毕后,重新启动postfix,注意的是,9)的配置是将slockd的查询放到最后,这也是进一步提高资源利用律的办法,因为有部分功能postfix已实现了,所以就先由postfix检测,如果检测不到再由slockd完成。

10)以后台的方式执行slockd

刚才是以前台的形式运行,现在要将其设置为守护进程(daemonize)的形式运行,与终端完全分离,编辑config/main.cf ,将如下行去掉注释:
引用:
setsid  1
然后关闭刚才运行的slockd,可以用如下命令关闭或直接按ctrl+c:
引用:
killall slockd
然后执行:
引用:
/usr/local/slockd/slockd-init start
将上面这个命令放入系统的rc.local里,可以在开机时自动执行。

相关的slockd-init命令:
引用:
/usr/local/slockd/slockd-init start
/usr/local/slockd/slockd-init stop
/usr/local/slockd/slockd-init restart
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

下周要研究一下,感谢版主!

TOP

感谢版主,太牛了,支持并开始试用

TOP

引用:
下面是引用chinaglwo于2006-04-18 23:32发表的:
感谢版主,太牛了,支持并开始试用
感谢楼上的支持,如果遇到问题,请不吝指教。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

嗯不错,反垃圾网关可以和postfix分离,这才是最重要的,我之前就一直担心这个冬冬和postfix必须在一台机器上~

TOP

引用:
下面是引用ken于2006-04-19 11:27发表的:
嗯不错,反垃圾网关可以和postfix分离,这才是最重要的,我之前就一直担心这个冬冬和postfix必须在一台机器上~
不需要的。与过去apf的插件结合,还可以将几乎同样的反垃圾邮件能力带到sendmail何qmail

并且,也都是基于network而不需要本地执行。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

可以裝到exim里去嗎

TOP

引用:
下面是引用yep0213于2006-04-21 13:20发表的:
可以裝到exim里去嗎
暂时不支持。除非有人给exim打补丁使之支持吧,象qmail就可以。因为我和一个哥们合作

做了一个简单的补丁。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

BBC 在BSD 下面为什么不写一个脚本控制,在/etc/rc.conf 加入 slockd_enable="YES" 就可以用了.
开源易有
http://www.yiyou.org/

TOP

引用:
下面是引用fengyong于2006-04-22 09:58发表的:
BBC 在BSD 下面为什么不写一个脚本控制,在/etc/rc.conf 加入 slockd_enable="YES" 就可以用了.
现在版本里有一个slockd-init的文件,bsd用户可以复制到rc.d里,改为slockd.sh即可。

然后在rc.conf里增加相应的设置,应该就可以的了。键盘你可以测试一下嘛。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

能不能说一下qmail的?

TOP

引用:
下面是引用booker2688于2006-05-15 19:45发表的:
能不能说一下qmail的?
qmail的必须先打上apf-qmail的补丁和插件,然后再安装spam locker。

apf-* 这几个软件/插件相当于一个客户端,spam locker daemon 是服务端。
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

引用:
下面是引用extmail于2006-04-22 10:35发表的:


现在版本里有一个slockd-init的文件,bsd用户可以复制到rc.d里,改为slockd.sh即可。

然后在rc.conf里增加相应的设置,应该就可以的了。键盘你可以测试一下嘛。
经过测试: freebsd 6.1

#cp /usr/local/slockd/slockd-init  /usr/local/etc/rc.d/slockd-init
#cp /usr/local/slockd/slockd-init  /usr/local/etc/rc.d/slockd-init.sh

在rc.conf里增加相应的设置
slockd_enable="YES"

重新启动计算机即可。

TOP

引用:
下面是引用bsdunix于2006-05-18 11:15发表的:



经过测试: freebsd 6.1

.......
到底是slockd.sh 其作用,还是slockd-init.sh 起作用?
欢迎使用下列开源软件: 高性能邮件系统- ExtMail Spam Locker反垃圾邮件系统

TOP

 25 12
发新话题