Assp 全称 anti-spam smtp proxy (反垃圾邮件 smtp 代理),是用 perl 语言开发的一款发垃圾邮件的 smtp 网关,并可结合开源的 clamav( 邮件防病毒软件 ) 使用。目前其开源项目都存放在开源平台 sourceforge 上面,并持续更新。 Assp 目前主要分 1.x 和 2.x 版本。使用较多的是 1.x 版本, 2.x 是作者推荐的,目前使用教程比较少,不过如果熟悉了 1.x 版本那么对 2.x 也会很容易上手的, 1.x 和 2.x 的区别主要是参数配置上的调整,但核心功能区别不大。
Assp 是支持 window 和 Linux 跨平台的。本文主要讲述的 linux 下的安装使用。相信不会有几个人将其部署到 window 上做服务器使用的。
SPF 是为了防范垃圾邮件而提出来的一种 DNS 记录类型,它是一种 TXT 类型的记录,它用于登记某个域名拥有的用来外发邮件的所有 IP 地址。 SPF 的作用主要是 反垃圾邮件 ,主要针对那些发信人伪造域名的垃圾邮件。
SRS ( Sender Rewriting Scheme 维基可查)是发件人重写方案, SRS 是转发 MTA 以重写发件人地址的简单方法。
非垃圾邮件 或 垃圾邮件
电子邮件验证标准 —— 域名密钥识别邮件标准 , 发送方会在电子邮件的标头插入 DKIM-Signature 及 电子签名 资讯。而接收方则透过 DNS 查询得到公开金钥後进行验证。
[DMARC] 协议基于现有的 [DKIM] 和 [SPF] 两大主流电子邮件安全协议,由 Mail Sender 方(域名拥有者 Domain Owner )在 [DNS] 里声明自己采用该协议。当 Mail Receiver 方(其 MTA 需支持 DMARC 协议)收到该域发送过来的邮件时,则进行 DMARC 校验,若校验失败还需发送一封 report 到指定 [URI] (常是一个邮箱地址)。
perl 版本: >=5.2.0 版本 ( 建议 )
安装步骤:略 .....
Assp 使用了 Perl 的几个特殊的库,在安装 perl 后还需安装其一些依赖库,总之在运行 assp 时提示缺什么你就下什么即可, assp 运行起来后,在其最后一个配置项“ perl model setup ”中列出了那些功能使用了那些模块,如果要开启 assp 对应的功能,一定要看下该配置项的说明是否提示需要提前安装对应的 perl 模块,目前我的 lfs 系统缺失的库如下所示:
libnet-dns-perl
libhtml-parser-perl
Perl 库的安装方法:(区分大小写)
tar -zxvf XXX.tar.gz ; 解压下载的库
cd ./xxx ; 进入目录
perl MakeFile.PL ; 文件夹下一定有这个文件,如果没有说明库安装包类型不同, ; 请自行查找其安装方式
make && make install; 编译安装
1. 去 sourceforge 官网搜索 anti-spam smtp proxy 可直接下载源程序
略 ...
2. 解压源程序并进入 assp 文件下
3. 找到 assp.pl 文件
注意: assp.cfg 文件是没有的此时,这时 assp 的配置文件
4. 执行 perl assp.pl ,等待几秒钟后直接 ctrl+c 停止(第一次执行会可能会提示你却对应的 perl 模块,下载安装
即可)。
该步骤执行后会产生 assp.cfg 文件
5. 打开 assp.cfg 文件 进行简单的配置。
allowAdminConnectionsFrom 配置:
找到 allowAdminConnectionsFrom 配置项,这个配置项是 assp 后台管理界面的 IP 访问控制,将自己主机的 IP 地址配置进去,本机就可以通过浏览器访问到 assp 的后台管理页面。可进行多 IP 项配置,不配置则全部允许。
多项配置示例: 127.0.0.1|192.168.X.X|X.X.X.X
webAdminPort 配置:
webAdminPort 参数是后台管理界面的服务端口。默认是 55555, 可自行修改。
4. 打开浏览器输入 http: assp 服务 IP :55555
第一次登陆会提示输入用户名密码:
用户名: root
密码: nospam4me
上面的是初始账户密码,进入系统后可自行修改。
下图是成功进入到系统后的界面,参数非常之多,功能非常之强。
a) 第一种是 checkbox 型,勾选则激活,取消则 disable ;
b) 第二种是设置 、 1 开关型; 表示 disable , 1 则 enable ;
c) 第三种是列表型,在一个输入框内输入匹配规则,规则遵循 perl 的正则表达式,如以 "|" 表示 " 逻辑或 " ;
d) 第四种为带 "*" 的选项,除了支持第二种配置方法外,还可以以 "file:FILENAME" 的方式指 定配置文件,文件内每行一个规则,同样支持 perl 正则表达式。定义为 file:FILENAME 形式的输入框后面会有一个 "Edit File" 按钮,单击可以编辑指定的文件;
为独立于黑白名单而命名,内容为 IP 地址,这类名单不一定就是垃圾邮件的发送者,但服务器在第一次接受到从该 IP 发送过来的邮件时,会产生一个 451 错误: Resources_temporarily_unavailable._Please_try_again_later ,一般的垃圾邮件发送软件就会放弃重试,但正常的邮件服务器却因为队列时间的原因,会在一定的时间内重试,这在一定程度上可以减少垃圾邮件进入服务器的几率。
Redlist 是针对某些特殊帐号而引入的,可能也是 ASSP 特有的吧;因为 ASSP 可以让用户参与添加、删除黑白名单,但不可避免的也存在部分帐号,管理员不允许(或不希望)对黑白名单有添加删除权限;将这类帐号添加到 Redlist 中后,他们对黑白名单的添加删除操作将会被忽略。
通过查询发件 IP 是否存在于 rbl 服务商提供的列表,以确定邮件是否是垃圾邮件;国外最知名的是 spamhaus.org ,还有 njabl.org , dsbl.org , sorbs.net 等。都提供免费的 RBL 服务。
通过查询发件人 IP 、域、 email 地址是否存在于自定义的白 / 黑名单,来确定该邮件是否为垃圾邮件。
基于 Thomas Bayes 的伟大理论: " 某件事情发生的概率大致可以由它过去发生的频率近似地估计出来 " ,(他的另外一个理论也同样让人震撼: " 上帝的存在可以通过方程式证明 " )通过对已经存在的垃圾邮件 (./spam) 和非垃圾邮件 (./notspam) 进行统计分析,可以推断新收到的这封邮件是否是垃圾邮件的概率; ASSP 通过对邮件中的现有词汇进行分析并给出一个评分值保存在一个库中,在收到一封新邮件时通过对现有库中词汇的匹配程度进行相应的评分,超过某个分值则认为是垃圾邮件。所以进行 Bayes 分析需要大量的已知条件 --ASSP 要求超过 400 封垃圾邮件和非垃圾邮件 -- 条件满足时,你就可以通过重建 spamdb ,让 ASSP 学习你所处的环境中那些是垃圾邮件,那些不是垃圾邮件了。
进来的邮件 Internet==== 〉 ASSP===== 〉 Mailserver====== 〉 Local user ;
出去的邮件: Local user===== 〉 ASSP====== 〉 Mailserver==== 〉 Internet ;
这也是 ASSP 推荐的架构方法;而且 ASSP 可以识别 User 到 Mailserver 之间认证成功与否的状态。这样认证成功的用户也拥有和 localuser 同样的权限。
进来的邮件: Inernet==== 〉 ASSP===== 〉 Mailserver====== 〉 Local user ;
出去的邮件: Local user===== 〉 Mailserver======= 〉 Internet ;
报告垃圾邮件和添加黑白名单: Local user=== 〉 Mailserver===== 〉 ASSP ;
以上就是开源的反垃圾邮件软件ASSP的简单介绍,其实现在“ 邮件内容安全” 已经是邮件安全的重心了,反垃圾、反病毒已经是很成熟了,目前对用户邮件内容信息的保护很多邮件厂商只能提供基础的安全手段,要不然各种邮件泄密事件也不会频频发生。针对这一块,国内的" 隐秘邮 ”就是以 邮件加密网关 的形式处理加解密邮件的,而且是“ 邮件透明加密 ”处理,是以单纯的 MTA 形式转发处理的,既不在客户端也不在服务器,是实时传输加解密的,这样邮件就不会被其落地 ( 反垃圾防病毒都需要先全部收取邮件后再处理转发的 ) ,安全性上也很好,加密后的邮件会在邮件服务器上以密文形式存在,这样就算服务器被攻破也不用怕,现在也有免费的试用平台可以测试试用,关键是不像ASSP这样拥有复杂的配置手段,下一篇我将讲解下关于 隐秘邮 的文章。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69910739/viewspace-2637057/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69910739/viewspace-2637057/