URPF技术白皮书
URPF技术白皮书
摘 要:本文介绍了URPF的应用背景,URPF主要用于防止基于源地址欺骗的网络攻击行为,例如基于源地址欺骗的DoS攻击和DDoS攻击;随后介绍了URPF的技术原理以及URPF的几种灵活定制方案(NULL0口,缺省路由,ACL等);最后简要介绍了URPF的典型组网案例。
缩略语清单:
缩略语
英文全名
中文解释
URPF
Unicast Reverse Path Forwarding
单播反向路径转发
FIB
Forwarding Information Base
转发信息库
DoS
Denial of Service
拒绝服务
DDoS
Distributed Denial of Service
分布式拒绝服务
ACL
Access Control List
访问控制列表
ICMP
Internet Control Message Protocol
因特网控制报文协议
1 背景
单播反向路径转发(Unicast Reverse Path Forwarding),是网络设备检查数据包源地址合法性的一种方法。其在FIB表中查找该源地址是否与数据包的来源接口相匹配,如果没有匹配表项将丢弃该数据包,从而起到预防IP欺骗,特别是针对伪造IP源地址的拒绝服务(DoS)攻击非常有效。
2 URPF应用环境简介
DoS(Denial of Service)攻击是一种阻止连接服务的网络攻击。DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。
2.1 TCP泛洪
图1 TCP泛洪攻击案例
攻击的原理是向目标设备发送大量伪装连接的请求包,这些请求包的发起地址设置为目标不可到达的地址,这样对被攻击对象的第二次握手没有主机响应,造成被攻击对象主机内部存在大量的半开连接,以至于新的正常连接不能进入从而造成服务的停顿甚至死机。
2.2 SMURF攻击
SMURF攻击是一种源地址欺骗攻击,攻击者假冒被攻击对象的IP地址向设备发送大量的广播ICMP echo请求报文。因为每个包的目标IP地址都是网络的广播地址,所以设备会把ICMP echo请求报文以广播形式发给网络上的所有主机。如果有大量主机,那么这种广播就会产生大量的ICMP echo请求及响应流量。而且在发送ICMP echo请求数据包时,使用了假冒的源IP地址,所以攻击造成的ICMP流量不仅会阻塞网络,而且会产生攻击流量。
图2 SMURF攻击案例图
如图2,Attacker仿冒Router B的地址对Router C进行攻击,如果Router C上的网络管理员检测到攻击,将会配置防火墙规则,将所有来自Router B的报文过滤,导致无辜的Router B无法访问Router C。此时,被攻击系统的管理员反而成为黑客的帮凶,使一些合法用户失去合法访问的权限。
从 上面两个例子可以看出,黑客利用源地址欺骗,一是可以隐匿身份,让人难以发现攻击的源头,二是通过被攻击目标,发起对其他合法用户的攻击,造成一箭双雕的 效果。而这些攻击,仅仅依靠被攻击系统加强防范是无法预防的。必须通过所有接入端设备,对用户的源地址进行反查,并依据其合法性对报文进行过滤,这样才能 从源头抑制攻击,保护合法用户享受服务的权利。
3 魔高一尺、道高一丈——URPF的发展 3.1 DoS攻击的发展
从上世纪90年代到现在,DoS技术主要经历如下几个阶段:
(1) 技术发展时期。90年代,Internet开始普及,很多新的DoS技术涌现。90年代末发明和研究过许多新的技术,其中大多数技术至今仍然有效,且应用频度相当高。
(2) 从实验室向“产业化”转换。2000年前后,DDoS(Distributed Denial of Service)出现,Yahoo和Amazon等多个著名网站受到攻击并瘫痪。
(3) “商业时代”。最近一两年,宽带的发展使得接入带宽增加,个人电脑性能大幅提高,使DDoS攻击越来越频繁,可以说随处可见,而且也出现了更专业的“DDoS攻击经济”,DDoS攻击已经成为网络黑客们敲诈勒索的工具。
3.2 URPF的水土不服——严格URPF的局限
从Dos攻击发展为DDoS攻击,黑客从一台Host,单机作战改为了集团作战,操纵成百上千的傀儡机,发起分布式攻击。在2000年yahoo等知名网站被攻击后,美国的网络安全研究机构提出了骨干运营商联手来解决DDoS攻击的方案。其方法就是每家运营商在自己的出口设备上进行源IP地址的验证,如果某个数据包源IP地址对应的路由与入接口不一致,就丢掉这个包。这种方法可以阻止黑客利用伪造的源IP地址来进行DDoS攻击。
而随着防范措施从在ISP的用户端提升到ISP-ISP端布置URPF技术,网络的复杂性也相应增加。在不对称路由存在的情况下,URPF会错误的丢弃非攻击报文。
图3 非对称路由图
动态路由协议学到的路由都是对称的,为什么会有不对称路由呢?其实URPF不是根据路由表,而是根据FIB(Forwarding Information Base)表来检查报文合法性的。FIB表是路由表中最优表项的精简,仅仅挑选路由表中的最优路径,因此,两台设备会产生不对称的报文转发路径。如图3,当Router A上记录的到Router B的路径为1,Router B上记录的到Router A的路径为2,如果在Router A上配置了URPF,则会将Router B从路径2到来的报文丢弃。
3.3 退一步海阔天空——松散URPF的改进
为了在ISP-ISP端应用URPF,以防范DDoS攻击,URPF从原有的“严格”模式,发展为“松散”模式,松散模式仅检查报文的源地址是否在FIB表中存在,而不再检查报文的入接口与FIB表是否匹配。这种更为“友好开放”的算法,使得部署在ISP-ISP端的URPF既可以有效地阻止DDoS攻击,又可以避免错误的拦截合法用户的报文。
4 NULL0口——URPF的烽火台
DDoS攻击发起点比较分散,网络管理员发现后,虽然可以在自己管辖的设备上配置规则,对于发起攻击设备的报文进行抑制,但是攻击报文还可能从其他路径到达其他目标设备,针对这种情况,手工在所有设备上配置规则用以抑制攻击是不现实的。而URPF可以结合NULL0口与BGP协议,向全网通告非法地址,网络中其他设备自动更新非法报文的下一跳,起到在整个网络中及时抑制攻击报文的作用。
NULL0口是网络设备的一个逻辑口,所有发送到该接口的报文都被丢弃。当网络管理员发现攻击者的源地址,可以通过配置静态路由到NULL0口,并且结合BGP路由协议迅速扩散到网络中的所有路由器。收到信息的路由器学习了这条路由后,更新FIB表。当攻击报文到达时,URPF查询FIB后,发现源地址对应出接口为NULL0,立即将非法报文丢弃。
5 缺省路由和ACL,灵活定制你的URPF 5.1 缺省路由
当设备上配置了缺省路由后,会导致URPF根据FIB表检查源地址时,所有源地址都能查到下一跳。针对这种情况,H3C的Comware平台支持用户配置URPF是否允许引入缺省路由。默认情况下,如果URPF查询FIB得到结果是缺省路由,则按没有查到表项处理,丢弃报文。
5.2 ACL规则
通过ACL规则的引入,URPF给用户提供了一种更加灵活的定制方案。当网络管理员确认具有某一些特征的报文是合法报文,则可以通过配置ACL规则,在源路由不存在(或者源路由是缺省路由,但是URPF没有使能缺省路由)的情况下,不做丢弃处理,按正常报文进行转发。
6 URPF处理流程
图4 URPF流程图
(1) 首先检查源地址合法性:
l 对于广播地址,直接予以丢弃。
l 对于全零地址,如果目的地址不是广播,则丢弃。(源地址为0.0.0.0,目的地址为255.255.255.255的报文,可能是DHCP或者BOOTP报文。)
(2) 然后检查报文源地址是否匹配FIB表,如果在FIB表中查找失败,则进入步骤5(ACL检查),否则进入步骤3;
(3) 如果FIB表中匹配的是缺省路由,则检查用户是否配置了允许缺省路由,如果没有配置,则进入步骤5(ACL检查),否则进入步骤4;如果FIB表中匹配的不是缺省路由,进入步骤4;
(4) 检查报文入接口与FIB查询结果是否相符(对于等价路由,只要一条匹配就表示相符),如果相符,则通过检查;如果不符,则查看是否是松散URPF,如果是,则通过,否则说明是严格URPF,进入步骤5(ACL检查);
(5) ACL检查流程,检查用户是否配置了ACL规则,如果报文符合ACL规则,则通过检查,否则丢弃。
7 典型组网应用
图5 URPF组网图
在ISP与用户端,配置严格URPF,在ISP与ISP端,配置松散URPF。如果有特殊用户,或者具有一定特征,需要特殊处理的报文,可以配置ACL规则。如果已经发现了某个源地址的攻击报文,配置这个地址的下一跳为一个事先约定的特殊地址(每个ISP上,此特殊地址配置的出接口为NULL0口),并利用BGP协议发布到邻居网络。
URPF技术白皮书的更多相关文章
- [华三] IPv6技术白皮书(V1.00)
IPv6技术白皮书(V1.00) http://www.h3c.com/cn/d_200802/605649_30003_0.htm H3C S7500E IPv6技术白皮书 关键词:IPv6,隧道 ...
- SSL技术白皮书
首页产品技术操作系统ComwareV5安全和VPN SSL技术白皮书 下载 收藏 打印 推荐 摘自:http://www.h3c.com/cn/d_200812/622834_30003_0.htm# ...
- Isolate-user-vlan技术白皮书
http://www.h3c.com.cn/Products___Technology/Technology/LAN/Other_technology/Technology_book/200804/6 ...
- DMR技术白皮书
DMR技术白皮书 主页(http://pttcn.net):DMR技术白皮书 关于DMR 1.模拟技术的局限性 虽然模拟技术仍具有不少优势,如低廉的成本.可自定的功能以及简便的搭建方式等.但模拟技术已 ...
- JAP 1.0.1 以及 《JAP产品技术白皮书》正式发布
快讯 JAP 1.0.1 正式发布 <JAP产品技术白皮书>正式发布.立即获取:白皮书 JAP 1.0.1 版本内容 新增功能/支持 添加 com.fujieid.jap.core.uti ...
- PPPoE技术白皮书(H3C)
PPPoE技术白皮书 关键词:PPP,Ethernet,PPPoE 摘要:PPPoE是一种通过一个远端接入设备为以太网上的主机提供接入服务,并可以对接入的每个主机实现控制和计费的技术.本文介绍了PPP ...
- H3C数据中心虚拟化解决方案技术白皮书
缩略语清单: 缩略语 英文全名 中文解释 IDC Internet Data Center 互联网数据中心 VRF Virtual Router Forwarding 虚拟路由器转发 SMP Symm ...
- 【翻译】WhatsApp 加密概述(技术白皮书)
目录 简介 术语 客户端注册 会话初始化设置 接收会话设置 交换信息 传输媒体和附件 群组消息 通话设置 ...
- OpenFlow技术白皮书-V1.0
1. 概述 OpenFlow是由斯坦福大学的Nick McKeown教授在2008年4月ACM Communications Review上发表的一篇论文OpenFlow: enabling inn ...
随机推荐
- C#微信公众号开发 -- (七)自定义菜单事件之VIEW及网页(OAuth2.0)授权
通俗来讲VIEW其实就是我们在C#中常用的a标签,可以直接在自定义菜单URL的属性里面写上需要跳转的链接,也即为单纯的跳转. 但更多的情况下,我们是想通过VIEW来进入指定的页面并进行操作. 举一个简 ...
- Android数据存储技术
Android提供了4种数据存储技术,分别是SharedPreferences.Files.SQLite数据库和网络存储数据.(有的开发者认为使用ContentProvider也可以算是一种,但我觉得 ...
- swift-06-字符串,字符以及元组类型
1.字符串和字符类型 //在swift中,字符串使用一对双引号括起来 var str = "hello M.SD-DJ" print(str) //字符也要用双引号括起来,用cha ...
- 初次使用JFinal
刚进公司的时候是经过了学员期培训,不断的学习. 终于有机会可以进入了项目组,一个给予.NET开发的项目,框架是MVC,三个多月的项目在一个团队的合作下完成了一个正式成为程序员后参与的第一个大型项目. ...
- bzoj1901:Zju2112 Dynamic Rankings
思路:树套树,我写了两种,一种是线段树套splay,线段树维护区间信息,splay维护第k大,一种是树状数组套权值线段树(并不是什么可持久化线段树,只不过是动态开点罢了,为什么网上一大堆题解都是可持久 ...
- (LightOJ 1004) Monkey Banana Problem 简单dp
You are in the world of mathematics to solve the great "Monkey Banana Problem". It states ...
- 使用 Virtual Box 安装 android x86
1.安装 跟随别人的教程:http://www.maketecheasier.com/run-android-4-3-in-virtualbox/ 2.问题 安装过程出现以下问题:Kernel pan ...
- java.util.Map源码分析
/** * An object that maps keys to values. A map cannot contain duplicate keys; * each key can map to ...
- linux - 创建用户
apt-get update apt-get upgrade root@iZ28t2p7lz9Z:~# adduser cuiAdding user `cui' ...Adding new group ...
- 切割TOMCAT日志
tomcat的catalina.out日志如果不做操作的话,日志就会日积月累的不断增加.我刚入职的时候发现某台服务器的硬盘报警,排查之后我慌了,一个tomcat的日志居然有100G,这怎么可以,在网上 ...