当前位置: 主页 > 服务器技术 > Mail服务器 > Postfix安装SPF功能

Postfix安装SPF功能

时间:2013-10-29来源:互联网 点击:

spf 一种邮件反垃圾技术,本文内容为如何在postfix服务器中安装配置这个功能,并进行测试。

一、SPF 原理

让自己验证别人:可以配置电子邮件系统( qmail, sendmail )支持 SPF,对服务器上每封进入的邮件进行验证.
二、SPF 实例
三、目的
四、Postfix 安装 SPF 功能
1. 在mail.exam1.com邮件服务器上安装SPF模块,使其支持SPF检查

  • 第一种:在线安装,需要网络
1
2
perl -MCPAN -e shell
install Mail::SPF
  • 第二种:离线安装,到 search.cpan.org 网站下载 Mail::SPF 模块安装
1
2
3
4
5
tar zxf Mail-SPF-v2.007.tar.gz
cd Mail-SPF-v2.007
perl Makefile.pl
make
make install
2. 安装 postfix-policyd-spf-perl
1
2
3
tar zxf postfix-policyd-spf-perl-2.007.tar.gz
cd postfix-policyd-spf-perl-2.007
cp postfix-policyd-spf-perl /usr/local/postfix/libexec/
1
2
policy  unix  -       n       n       -       0       spawn
user=nobody argv=/usr/local/postfix/libexec/postfix-policyd-spf-perl
1
2
3
smtpd_recipient_restrictions =
reject_unauth_destination,
check_policy_service unix:private/policy
1
postfix reload
3. 在mail.exam2.com所在的DNS服务器上添加SPF记录
  • Sender ID Framework SPF Record Wizard
  • SPF Record Creator
利用向导生成记录如下:
1
"v=spf1 ip4:192.168.152.0/24 a mx ~all"
1
exam2.com.    IN TXT          "v=spf1 ip4:192.168.1.0/24 a mx ~all"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
System Requirements
-------------------
 
The following Perl version and packages are required for running
postfix-policyd-spf-perl:
 
  Perl 5.6
  version
  NetAddr-IP 4
  , Mail-SPF (not Mail-SPF-Query)
 
Installing
----------
 
 1. Copy postfix-policyd-spf-perl to /usr/local/lib/policyd-spf-perl
 
 2. Add the following to /etc/postfix/master.cf:
 
        policy  unix  -       n       n       -       0       spawn
            user=nobody argv=/usr/local/lib/policyd-spf-perl
 
 3. Configure the Postfix policy service in /etc/postfix/main.cf:
 
        smtpd_recipient_restrictions =
            ...
            reject_unauth_destination
            check_policy_service unix:private/policy
            ...
 
    NOTES: 
        Specify check_policy_service AFTER reject_unauth_destination or
        else your system can become an open relay.
 
        The user ‘nobody‘ is used in this example. This is appropriate if you
        do not have any other services running as nobody. If you do, create a
        dedicated user for this service and use it instead.
 
 4. Add "policy_time_limit = 3600" to main.cf
 
 5. Restart Postfix.

SPF 全称为 Sender Policy Framework,可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。当你定义了你的domain name的SPF记录之后,接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。

让别人验证自己:配置自己所在域的 DNS,添加 TXT 记录,用于向支持 SPF 功能的邮件服务器提供验证信息.

假设有两个邮件系统,分别位于两个网络,IP地址和主机名分别为:192.168.254.2(mail.exam1.com)和192.168.1.2(mail.exam2.com),同时配置一主机包含两块网卡,IP地址分别为192.168.1.1和192.168.254.1,并在上面配置DNS,对邮件系统域名进行解析,因此该主机同时充当了防火墙,路由器和 DNS 服务器的功能.

在mail.exam1.com邮件服务器上对从mail.exam2.com上用户test@exam2.com发往mail.exam1.com邮件服务器上test@exam1.com的邮件进行SPF验证.

以下步骤在 mail.exam1.com 邮件服务器上进行, 前提是 postfix 已安装。

安装 Mail::SPF Perl 模块,可以采用以下两种方式安装:

过程可能很长,需要安装很多依赖组件

安装过程可能提示缺少依赖的组件,下载安装即可,第一次安装比较繁琐

在 postfix 上安装组件 postfix-policyd-spf-perl,使用这个组成来进行 spf 的验证。

到 http://www.openspf.org/blobs/ 下载这个组件,再进行以下步骤。

注意, /usr/local/postfix/libexec/ 依 postfix 安装位置而定

在postfix配置文件master.cf中添加以下内容:

在 postfix 配置文件 main.cf 中添加以下内容:

重新载入 postfix 服务:

现在已经可以进行 SPF 验证了。

有一些网站可以利用向导生成 SPF 记录,如下网站:

前面一个要好一些, 它可以检测已有的 SPF ,并在此基础上进行修改。

在此我们假设只有 192.168.1.0/24 网段的人才能利用 mail.exam2.com 提供的邮箱发送邮件

在DNS服务器上添加以下记录:

含义:*@exam2.com账户只能在192.168.1.0/24网络内发送邮件,否则SPF验证不通过。

至此其它邮件服务器可以对 mail.exam2.com 所提供邮件账户进行验证。

五、 附录 – postfix-policy-spf-perl 安装说明

下面是 postfix-policy-spf-perl 的安装说明,作为参考。

站长资讯网
. TAG: postfix SPF
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言