一、邮件欺诈:

  众所周知,现在邮件的发件人是自己生成的,其实发件域名也是可以自己生成的。例如,A得知B组织的邮箱域(前提是B组织邮箱域没有配置SPF),那么A可以自己起一个邮箱服务器,配置相同的域名。配置一个账号,例如招聘或者高层管理人员的账户。从而可以进行钓鱼、欺诈等活动。测试可以使用winmail,配置快捷、使用方便。

二、防御措施:

  发件原理:SMTP(鸣谢)http://blog.csdn.net/kerry0071/article/details/28604267

 """
C: telent SMTP.xxx.com 25 //以telenet方式连接xxx邮件服务器
S: 220 xxx.com Anti-spam GT for Coremail System //220为响应数字,其后的为欢迎信息
C: HELO SMTP.xxx.com //除了HELO所具有的功能外,EHLO主要用来查询服务器支持的扩充功能
S: 250-mail
S: 250-AUTH LOGIN PLAIN
S: 250-AUTH=LOGIN PLAIN
S: 250 8BITMIME //最后一个响应数字应答码之后跟的是一个空格,而不是'-'
C: AUTH LOGIN //请求认证
S: 334 dxNlcm5hbWU6 //服务器的响应——经过base64编码了的“Username”=
C: Y29zdGFAYW1heGl0Lm5ldA== //发送经过BASE64编码了的用户名
S: 334 UGFzc3dvcmQ6 //经过BASE64编码了的"Password:"=
C: MTk4MjIxNA== //客户端发送的经过BASE64编码了的密码
S: 235 auth successfully //认证成功
C: MAIL FROM: bripengandre@163.com //发送者邮箱
S: 250 … . //“…”代表省略了一些可读信息
C: RCPT TO: bripengandre@smail.hust.edu.cn //接收者邮箱
S: 250 … . // “…”代表省略了一些可读信息
C: DATA //请求发送数据
S: 354 Enter mail, end with "." on a line by itself
C: Enjoy Protocol Studing
C: .
S: 250 Message sent
C: QUIT //退出连接
S: 221 Bye
"""

其实这个smtp服务器可以自己搭建,配置域名和账户,从而伪造email的from字段。于是诞生了一中的问题:

防御方式来自于接受你邮件的服务器,根据的域名和IP要进行SPF查询,看是否是在DNS服务器中配置的合法的IP,是则放行,不是则认定为垃圾邮件会退信。

三、SPF的配置:

客户端查看dns上是否有关于该域名的SPF配置

 nslookup -type=txt xxx.xxx.xxx

(注:除了公网出口IP要配置在公网DNS的SPF上之外,公司内网客户端需要在自己的内部DNS上同样配置SPF)

#SPF 有点类似路由交换中的ACL
#一条 SPF 记录定义了一个或者多个 mechanism,而 mechanism 则定义了哪些 IP 是允许的,哪些 IP 是拒绝的。 举个例子:
"v=spf1 -all" #拒绝所有(表示这个域名不会发出邮件)
"v=spf1 +all"#接受所有(域名所有者认为 SPF 是没有用的,或者根本不在乎它) +接受-拒绝~软拒绝(中立,有邮件服务器自己判断)
v=spf1 a mx ip4:173.194.72.103 -all a和mx记录代表dns记录类型
ipv4(也可以是ipv6)最后 -all表示其他都拒绝

四、SPF更多选择:

include

格式为include:<domain>,表示引入<domain>域名下的 SPF 记录。注意,如果该域名下不存在 SPF 记录,则会导致一个PermError结果。例如:

"v=spf1 include:example.com -all" 即采用和 example.com 完全一样的 SPF 记录

exists

格式为exists:<domain>。将对<domain>执行一个 A 查询,如果有返回结果(无论结果是什么),都会看作命中。

ptr

格式为ptr或者ptr:<domain>。使用ptr机制会带来大量很大开销的 DNS 查询,所以连官方都不推荐使用它。

关于v=spf1

这是必须的,这个表示采用 SPF 1 版本,现在它的最新版本就是第 1 版。

Modifiers

SPF 记录中还可以包括两种可选的 modifier;一个 modifier 只能出现一次。

redirect

格式为redirect=<domain>

将用给定域名的 SPF 记录替换当前记录。

exp

格式为exp=<domain>,目的是如果邮件被拒绝,可以给出一个消息。而消息的具体内容会首先对<domain>执行 TXT 查询,然后执行宏扩展得到。

最新文章

  1. zabbix监控Java 8080端口
  2. Tomcat 内存溢出对应解决方式
  3. spark基础练习(未完)
  4. SGU 488 Dales and Hills
  5. Speak softly love
  6. FileSaver.js 文件下载
  7. Caffe:如何将图片数据转换成lmdb文件
  8. ToolBar+Drawable实现一个好用的侧滑栏(侧边栏)和工具栏
  9. 使用google guava做内存缓存
  10. this上下文一致
  11. MATLAB检查指定路径中的子文件夹中的文件名中是否带有空格
  12. Spring bean注解配置(1)
  13. Sql优化-必劳记!
  14. AOP编程的学习总结
  15. Java中的多线程科普
  16. OA项目Ioc DI(二)
  17. iOS用户体验之-导航之道
  18. 获取当前的window 以及设置其rootViewController
  19. Python阶段复习 - part 3 - Python函数
  20. 运行python程序不显示cmd的方法

热门文章

  1. CentOS安装redmine 2后的简单配置
  2. Ajax-jQuery_Ajax_实例 ($.ajax、$.post、$.get)
  3. Hbase导入MapReduce数据的时候提示Running Job XXXX后就一直卡着不动
  4. android 虚拟键盘控制
  5. 关于Cocos2d-x项目运行的过程和场景切换步骤
  6. 控制反转是Spring框架的核心。
  7. e662. 取的图像的色彩模型
  8. e673. Getting Amount of Free Accelerated Image Memory
  9. Altera特殊管脚的使用(适用全系列Altera FPGA,MSEL区别除外)-来自altera论坛
  10. VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通