论文部分内容阅读
摘要:在互联网垃圾邮件日益泛滥的今天,作者以一个网络日常管理者的视角,从垃圾邮件防范的一个侧面对SPF这种框架技术作一简单介绍。
关键词:SPF;电子邮件;垃圾邮件;互联网;信息过滤
中图分类号:TP393.098文献标识码:A文章编号:1007-9599 (2013) 05-0000-02
笔者收到单位用户反馈,称一位韩国客商发给他的电子邮件总是无法收到,而他给对方发送却没有问题。经过核查邮件服务器日志,发现对方发来的电子邮件均被我方邮件服务器的SPF检查过滤了。那么,什么是SPF检查呢?
1SPF的运行原理
SPF是英文Sender Policy Framework的缩写,中文译作“发送方策略框架”,是一种简单而有效防范垃圾电子邮件和仿冒电子郵件的解决办法。
SPF首次于2003年被提出,其原理是将邮件头中的发件人地址(Reply Address,也即Return-Path)与该地址域名的TXT解析记录进行比对,以判断该邮件是否为仿冒的电子邮件。下面就以一个user1@sohu.com发给user2@hotmail.com的实例来说明SPF的运行过程:
步骤一,sohu.com的域名管理员为域名sohu.com设置TXT类型解析记录(即SPF记录),此记录注明了sohu.com邮箱合法的邮件发出地址;
步骤二,用户以账号user1@sohu.com发出一封电子邮件,发送服务器的IP地址已被自动包含在邮件头中;
步骤三,邮件到达hotmail后,邮件服务器检查邮件头中的发件人IP地址,同时查询sohu.com的TXT解析记录地址,将两个地址进行比对。如果二者匹配,那么邮件来自合法的邮件服务器;如果不匹配则说明来自仿冒的发送者,Hotmail邮件服务器可根据此判断结果,结合相关的反垃圾邮件策略进行下一步的处理,如进行邮件回退或者丢弃等。
根据以上的例子不难看出,SPF简单来说,就是通过预先声明合法邮件发出地址的方法来区分仿冒者。这对目前互联网上充斥着的随意冒用某个邮件地址大肆发送垃圾邮件的行为而言,无疑是个简单而有效的打击手段。
2SPF字符串的组成
域名DNS记录中的TXT类型记录是通过一条字符串来定义SPF信息的,当然这个字符串要遵循一定的格式。下面就是SPF字符串的参数格式:
“v=Spf1 [A | MX | PTR | IP4 | IP6 | Include | Exists | Redirect | Exp | All]”
可以看到,SPF字符串是以引号作为起止,其中可以包含很多参数,不同参数设定了不同的信息。下表是常用的SPF参数含义:
参数 例子 含义
v=spf1 v=spf1 Spf的版本号,目前除了spf2为特殊用途使用外,大部分情况下均使用spf1
A a
a:host.com 检测域名的所有A记录,如果未注明域名则检测当前域名的A记录
MX mx
mx:host.com 检测域名的所有MX记录,如果未注明域名则检测当前域名的MX记录
PTR ptr
ptr:host.com 匹配域名名称信息,如果未注明域名则匹配当前域名的名称
IP4 ip4:61.135.130.0
ip4:61.135.130.0/16 匹配IP地址,其中IP地址可以是单个IP或者是一个子网(标注子网掩码位数)
Include include:other-host.com 如果邮件是通过其他邮件服务器转发出去的,可以设置其他邮件服务器的地址
All -all
~all All参数位于字符串最后,用来匹配前面所有参数都未命中的其他情形。
除了这些参数以外,还有一组运算符,用来和参数配合使用,以达到不同的逻辑结果,它们是:
运算符 含义 说明
- 拒绝 将邮件标记为“匹配失败”,开启SPF检查的邮件处理程序会拒收该邮件
~ 弱拒绝 将当前邮件标记为“不鼓励”的情形并继续投递,邮件处理程序有可能根据此结果对邮件做出特定标示
+ 通过 邮件匹配成功
? 中立 中立
下面的例子假设为sohu.com域名的SPF字符串:
“v=spf1 mx ip4:61.135.130.0/16 –all”
它的准确含义是:本语句遵循spf1标准;允许sohu.com域名mx记录下的全部IP地址;允许ipv4协议子网61.135.130.0(255.255.0.0)内的全部IP地址;拒绝任何其它IP地址。
地址匹配时从前向后进行,如果某个参数实现匹配,则会忽略后面的参数,直到由最后的all参数来匹配全部。
3SPF的配置
SPF字符串定义好之后,要配置到域名的DNS设置中使之生效。如果您的域名解析服务是注册商提供的,则需要登录注册商的域名管理页面后进行修改。下文简要介绍一下在Windows Server 2003中的DNS配置。
首先,打开管理工具中的DNS管理器,展开“正向查找域”目录树并选中您要解析的域名;
下一步,在右侧窗格的空白处单击右键,选择“其他新记录”,如图:
在弹出的窗口中选择:“文本(TXT)”,点击“创建记录”按钮;
最后,在输入框中的“文本”栏内填入您的SPF字符串,注意必须以半角引号作为起止。如图:
需要注意的是,这里添加TXT记录的域名应是邮箱的后缀域名,如果邮箱后缀是@mail.xx.com的二级域名,则应当在mail.xx.com的二级域名处添加此TXT记录。
4结束语
SPF是一个构造简单而行之有效的反垃圾邮件工具,而且是完全免费的。它将电子邮件安全设置的主动权交给了域名的持有者,改变以往只能被动接受检查的状况;同时,邮件接收方也可以选择是否开启这项检查(目前主流邮件系统均已支持SPF)。从笔者的实际使用经验来看,SPF的过滤效果明显。
最后需要提醒广大用户,一些邮件客户端软件提供了邮件直接投递功能,发送邮件时未经过邮件发送服务器,如Fox mail的“邮件特快专递”功能,这样发出的邮件将难以通过SPF及其它一些反垃圾邮件措施的检查,请谨慎使用。
参考文献:
[1]陈志贤.垃圾邮件过滤技术研究综述[J].财政研究,2009,5.
[2]无名.SPF技术:垃圾邮件的克星[J].计算机安全,2008,5.
[3]Roger Howorth. SPF让垃圾邮件制造者头疼[J].每周电脑报,2007,29.
关键词:SPF;电子邮件;垃圾邮件;互联网;信息过滤
中图分类号:TP393.098文献标识码:A文章编号:1007-9599 (2013) 05-0000-02
笔者收到单位用户反馈,称一位韩国客商发给他的电子邮件总是无法收到,而他给对方发送却没有问题。经过核查邮件服务器日志,发现对方发来的电子邮件均被我方邮件服务器的SPF检查过滤了。那么,什么是SPF检查呢?
1SPF的运行原理
SPF是英文Sender Policy Framework的缩写,中文译作“发送方策略框架”,是一种简单而有效防范垃圾电子邮件和仿冒电子郵件的解决办法。
SPF首次于2003年被提出,其原理是将邮件头中的发件人地址(Reply Address,也即Return-Path)与该地址域名的TXT解析记录进行比对,以判断该邮件是否为仿冒的电子邮件。下面就以一个user1@sohu.com发给user2@hotmail.com的实例来说明SPF的运行过程:
步骤一,sohu.com的域名管理员为域名sohu.com设置TXT类型解析记录(即SPF记录),此记录注明了sohu.com邮箱合法的邮件发出地址;
步骤二,用户以账号user1@sohu.com发出一封电子邮件,发送服务器的IP地址已被自动包含在邮件头中;
步骤三,邮件到达hotmail后,邮件服务器检查邮件头中的发件人IP地址,同时查询sohu.com的TXT解析记录地址,将两个地址进行比对。如果二者匹配,那么邮件来自合法的邮件服务器;如果不匹配则说明来自仿冒的发送者,Hotmail邮件服务器可根据此判断结果,结合相关的反垃圾邮件策略进行下一步的处理,如进行邮件回退或者丢弃等。
根据以上的例子不难看出,SPF简单来说,就是通过预先声明合法邮件发出地址的方法来区分仿冒者。这对目前互联网上充斥着的随意冒用某个邮件地址大肆发送垃圾邮件的行为而言,无疑是个简单而有效的打击手段。
2SPF字符串的组成
域名DNS记录中的TXT类型记录是通过一条字符串来定义SPF信息的,当然这个字符串要遵循一定的格式。下面就是SPF字符串的参数格式:
“v=Spf1 [A | MX | PTR | IP4 | IP6 | Include | Exists | Redirect | Exp | All]”
可以看到,SPF字符串是以引号作为起止,其中可以包含很多参数,不同参数设定了不同的信息。下表是常用的SPF参数含义:
参数 例子 含义
v=spf1 v=spf1 Spf的版本号,目前除了spf2为特殊用途使用外,大部分情况下均使用spf1
A a
a:host.com 检测域名的所有A记录,如果未注明域名则检测当前域名的A记录
MX mx
mx:host.com 检测域名的所有MX记录,如果未注明域名则检测当前域名的MX记录
PTR ptr
ptr:host.com 匹配域名名称信息,如果未注明域名则匹配当前域名的名称
IP4 ip4:61.135.130.0
ip4:61.135.130.0/16 匹配IP地址,其中IP地址可以是单个IP或者是一个子网(标注子网掩码位数)
Include include:other-host.com 如果邮件是通过其他邮件服务器转发出去的,可以设置其他邮件服务器的地址
All -all
~all All参数位于字符串最后,用来匹配前面所有参数都未命中的其他情形。
除了这些参数以外,还有一组运算符,用来和参数配合使用,以达到不同的逻辑结果,它们是:
运算符 含义 说明
- 拒绝 将邮件标记为“匹配失败”,开启SPF检查的邮件处理程序会拒收该邮件
~ 弱拒绝 将当前邮件标记为“不鼓励”的情形并继续投递,邮件处理程序有可能根据此结果对邮件做出特定标示
+ 通过 邮件匹配成功
? 中立 中立
下面的例子假设为sohu.com域名的SPF字符串:
“v=spf1 mx ip4:61.135.130.0/16 –all”
它的准确含义是:本语句遵循spf1标准;允许sohu.com域名mx记录下的全部IP地址;允许ipv4协议子网61.135.130.0(255.255.0.0)内的全部IP地址;拒绝任何其它IP地址。
地址匹配时从前向后进行,如果某个参数实现匹配,则会忽略后面的参数,直到由最后的all参数来匹配全部。
3SPF的配置
SPF字符串定义好之后,要配置到域名的DNS设置中使之生效。如果您的域名解析服务是注册商提供的,则需要登录注册商的域名管理页面后进行修改。下文简要介绍一下在Windows Server 2003中的DNS配置。
首先,打开管理工具中的DNS管理器,展开“正向查找域”目录树并选中您要解析的域名;
下一步,在右侧窗格的空白处单击右键,选择“其他新记录”,如图:
在弹出的窗口中选择:“文本(TXT)”,点击“创建记录”按钮;
最后,在输入框中的“文本”栏内填入您的SPF字符串,注意必须以半角引号作为起止。如图:
需要注意的是,这里添加TXT记录的域名应是邮箱的后缀域名,如果邮箱后缀是@mail.xx.com的二级域名,则应当在mail.xx.com的二级域名处添加此TXT记录。
4结束语
SPF是一个构造简单而行之有效的反垃圾邮件工具,而且是完全免费的。它将电子邮件安全设置的主动权交给了域名的持有者,改变以往只能被动接受检查的状况;同时,邮件接收方也可以选择是否开启这项检查(目前主流邮件系统均已支持SPF)。从笔者的实际使用经验来看,SPF的过滤效果明显。
最后需要提醒广大用户,一些邮件客户端软件提供了邮件直接投递功能,发送邮件时未经过邮件发送服务器,如Fox mail的“邮件特快专递”功能,这样发出的邮件将难以通过SPF及其它一些反垃圾邮件措施的检查,请谨慎使用。
参考文献:
[1]陈志贤.垃圾邮件过滤技术研究综述[J].财政研究,2009,5.
[2]无名.SPF技术:垃圾邮件的克星[J].计算机安全,2008,5.
[3]Roger Howorth. SPF让垃圾邮件制造者头疼[J].每周电脑报,2007,29.