校园网真实源地址验证管理系统域内SAVA技.docx
- 文档编号:10817378
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:16
- 大小:321.88KB
校园网真实源地址验证管理系统域内SAVA技.docx
《校园网真实源地址验证管理系统域内SAVA技.docx》由会员分享,可在线阅读,更多相关《校园网真实源地址验证管理系统域内SAVA技.docx(16页珍藏版)》请在冰豆网上搜索。
校园网真实源地址验证管理系统域内SAVA技
校园网真实源地址验证管理系统
(域内SAVA)技术白皮书
CERNET网络中心
2011年8月
目录
一、校园网真实源地址验证管理系统技术简介1
1.概述1
2.功能介绍2
3.运行环境3
3.1硬件设备3
3.2支持软件3
二、CPF方法简介4
1.CPF的基本原理4
2.CPF体系结构的设计4
3.CPF核心模块及数据流6
4.成果创新性7
三、CPF设计8
1.CPF主要的功能8
2.CPF系统总体结构分析与设计8
3.网络动态问题应对方法10
4.过滤表的下发10
四、XFLOW12
1.NetFlow12
2.sFlow12
3.XFLOW在系统中的应用12
五、关联SAVI网管系统14
1.SAVI网管系统和五元组14
2.关联SAVI网管系统的设计方案14
六、文档编者和参考文献16
1.文档编者16
2.参考文献16
一、校园网真实源地址验证管理系统技术简介
1.概述
校园网真实源地址验证管理系统是源地址验证新体系结构中域内部分的产品实现,将实际应用到校园网中,主要用于实现校园网内的假冒包的验证和过滤,为网管人员提供网络基本信息的管理和监控功能,如图1.1所示。
图1.1校园网真实地址验证管理系统应用环境
真实源地址验证管理系统主要分为三个部分:
系统的web展示层(用户界面)、业务控制层(信息储存和转发)、底层实现(假冒包验证过滤),如下图1.2所示。
图1.2校园网真实地址验证管理系统结构
管理员通过浏览器登录到web上,管理数据库中的信息。
数据库中的信息包括从前台输入的系统初始化信息、路由器配置信息;以及后台计算出来的并写入到数据库中的信息,包括拓扑链路、过滤表、告警报文日志等;
2.功能介绍
功能名称
子功能名称
功能简述
用户登录
用户名密码登录
主界面
主监控页面
设备管理
输入修改设备配置信息
设备管理
运行配置信息
设置系统运行配置信息
设备管理
域内前缀信息
设置系统管理的域内IPv6前缀范围
设备管理
路由器信息
设置管理路由器信息
设备管理
链路信息
设置管理链路信息
设备管理
部署脚本信息
查看修改准备下发到路由器的ACL脚本
设备管理
Flow部署点信息
为路由器设置Flow部署点
设备管理
系统初始化
进行系统初始化
日志管理
查看日志信息
日志管理
事件日志管理
查看告警追溯事件日志
日志管理
系统日志管理
查看系统日志
系统管理
系统相关的管理功能
系统管理
设备厂商管理
设备厂商管理
系统管理
设备型号管理
设备型号管理
系统管理
脚本模板管理
脚本模板修改删除
系统管理
网管系统URL管理
网管系统SSO登录信息管理
系统管理
用户管理
管理员用户管理
系统管理
修改个人信息
登录用户修改个人信息
接入SAVI地址管理系统
进入SAVI网管系统页面(单点登录进入)
表1功能介绍
3.运行环境
3.1硬件设备
主机型号:
DELLR710
内存:
36G
硬盘:
500G*4RAID5
CPU:
IntelXeonE5645(6核12线程)*2
3.2支持软件
本软件运行在CentOS5.5操作系统下。
系统须加载PAE包。
WEB系统运行环境:
JDK1.5.0+Tomcat6.0
数据库:
MySQL5.1.55
二、CPF方法简介
提出自治域内的IPv6源地址验证技术CPF(CalculatedPathForwarding)。
CPF方案是一种基于计算路径过滤的域内源地址验证方法。
1.CPF的基本原理
采取类似网络管理的体系结构,在域内所有路由器上开启SNMP代理服务,中心网管服务器通过SNMP协议获得各路由器路由表,然后根据所有的路由表计算域内以任一节点为源到其他节点的路由路径,记下每个路由器的接口的所有可能出现的源地址前缀或者(源,目的)前缀对作为过滤表条目,并以此作为依据用SSH将这些过滤条目配置到部署点路由器的ACL中,部署点路由器根据ACL中接口与源地址前缀或者(源,目的)前缀对的对应关系,对报文的源地址的真实性进行验证。
2.CPF体系结构的设计
本方案的基本原理是:
如下图,采取类似网络管理的体系结构,在域内所有路由器上开启SNMP代理服务,中心网管服务器通过SNMP协议获得各路由器路由表,然后根据所有的路由表计算域内以任一节点为源到其他节点的路由路径,并记下进入每个下一跳路由器的接口。
再将每条转发路径结合进入每个下一跳的接口ip组织成形如:
Src-->(inIf)nextHop……-->(inIf)nextHop-->(inIf)Dest形式的过滤条目,并以此作为依据用SSH将这些过滤条目配置到相关部署点路由器的ACL中。
ACL的格式是(Src,Dest,inIf),其中inIf是部署点路由器的一个接口地址。
部署点路由器根据ACL对报文的源地址的真实性进行验证。
图2.1方案体系结构
在具体网络环境中,为了使得管理器对于所有路由器实施快速而有效管理,应尽量避免使得管理器处于靠近域边界路由器的位置,而应使之处于靠近网络中心的位置。
其次,为了增强方法的实时性和可扩展性。
对于较大的域,可以考虑在域内安装多台协同工作的管理器,共同完成对同一域内的路由器的计算和监控任务。
如下图示:
图2.2域内多管理器协同管理体系结构
将域内所有路由器按照地理分布划分为若干区,每个区由若干路由器组成,且每个区由一个管理器管理,其中处于偏中心区的管理器被设置为主管理器,其余均为从管理器。
每个管理器获得各自区内的所有路由表,主管理器除了获得自己区内的路由表,还要从其他从管理器获得路由表,即就是主管理器掌握域内所有路由器的路由表。
各管理器(包括主管理器)主要负责其内部路由器之间两两可达路径的计算,且途径的路由器都在各自的区内(叫做区内聚路径)的源目地址对过滤路径的计算,并且计算各区内路由器在区内已计算的过滤路径中途出现的次数(叫做区节点频率);对于途径路由器在其他区的源目地址对(叫做区耦合路径)则通告给主管理器。
主管理器不仅计算自己所在区的区内聚路径,还要计算来自各从管理器未能计算的区耦合路径。
另外取得各从管理器的区节点频率结合自己的区节点频率计算出域内所有路由器的域内节点频率,作为确定部署点的依据。
3.CPF核心模块及数据流
整个系统的基本工作步骤如下:
A.使用SNMP获取各个路由器路由表(中断或者轮询的方式处理路由变动);
B.计算域内任意两前缀间的转发路径;
C.管理服务器通过SSH将转发路径中包含部署点前缀地址的过滤表项配置到相应的部署点路由器的ACL上。
初步设计出系统的数据流图(工作流程图)如下图示:
图2.3系统数据流图(/工作流程图)
系统在一个主循环中运行。
在主循环中维持几个进程。
其中Trap模块,用于发现路由器更新的情况;计时保持是用于控制系统时间的模块。
基于安全可靠、方便的考虑,拟使用SSH将过滤条目配置到相关部署点路由器ACL中。
关于SSH的配置、使用以及路由器上的ACL格式的设计是这部分工作的重点。
同时考虑SSH配置路由器的同步机制(同步建立同步更新),做到迅速全部建立及迅速全部更新,以防部署点此时受到攻击。
4.成果创新性
uRPF
CPF
多路径、非对称路由下的假阳性
根据FIB局部信息产生过滤表,存在假阳性。
基于更全面的信息产生过滤表,在上述情况下不出现假阳性。
在路由动态下的假阳性
路由变化时,路由器立即产生过滤表变化,路由收敛前有假阳性。
路由器取消过滤表,等待管理器指令后再应用新的过滤表,消除假阳性。
增量部署
部分部署时,由于对网络状况不了解,只有Stub边缘全局部署才能保证不出假阳性。
可以根据对部署点路由的了解做到逐渐部署下不出假阳性。
激励性
不区分目的地址的过滤属于自律性。
是根据源和目的地址对过滤,可根据策略区分对待,可对假冒进行选择性过滤达到只对部署者有收益。
假阴性
只能给予路径进行过滤。
可结合TTL进行路径+跳数的过滤或告警,以减少假阴性。
表2CPF方案创新性分析
三、CPF设计
1.CPF主要的功能
(1)获取路由器或交换机的路由信息:
根据不同类型的MIB使用不同的方法获取网络设备的路由表和接口表等信息;
(2)计算出网络中IP流的实际转发路径:
根据已经获取的域内各个设备的路由表和接口表信息来计算各个前缀之间的报文实际的转发路径;
(3)计算各个设备上的过滤表项:
在计算网络中IP流的实际路径的同时计算设备上对应的Permit型过滤表项,但是考虑到不完全拓扑下Permit型的过滤表项会造成假阳性,还需要根据实际的路由和报文转发多径的情形来计算全局路由流表;
(4)使用XFlow方法的被动式下发过滤表策略:
管理服务器解析从支持XFlow的节点上重定向过来的报文拷贝,解析出四元组(r,i,s,d),以做报文验证;
(5)计算最优部署点:
考虑到增量部署策略,因此优先在哪些设备上部署能以最小的部署取得全网的最优部署效果就显得尤为重要,该功能主要根据各个设备实际的网络覆盖情况及其转发能力等因素来确定一个关于各个节点按优先级依次降低排列的一个部署序列供网管人员参考。
(6)ACL下发:
根据不同型号的设备在数据库中选取不同的路由器配置模板组合成Expect[36]脚本,将实际的过滤表自动配置到相应设备的ACL上。
2.CPF系统总体结构分析与设计
CPF主要用来验证运行现网的源地址的真实性,因此要作为管理服务器的一个后台守护系统运行在管理服务器上。
主要用于完成设备路由信息的获取、转发路径的计算及过滤表的生产、抓XFlow重定向过来的报文并解析出用于源地址验证的四元组,然后使用报文源地址验证模块决定放过报文还是告警,如果告警,则组织出一个相应的流的Deny型的过滤表然后通过SSH路由器ACL配置模块将该过滤表项配置到路由器中去。
同时系统可以计算出最优部署点,但一般上仅供网络管理人员的参考。
支持人工干预来决定最终选取的部署节点,人工决定是否要下发过滤表项到相应的路由器上去。
据此,可以设计出如下图的系统总体结构图:
图3.1CPF系统总体
在CPF主循环进程中有三大主要线程:
(1)XFlow抓包解析包线程;
(2)CPF循环计算主线程;(3)报文验证线程;还有其他的用于系统同步的计时保持等。
其中
(1)和
(2)是两个独立运行的线程,但是报文验证线程和
(1)、
(2)两个线程之间都有数据共享和计算流程之间的依赖性问题。
报文验证线程要等XFlow抓包解析包线程解析到四元组才能取数据;报文验证线程要等CPF循环计算线程计算完毕才能开始报文验证,因此在数据共享时务必考虑对线程加锁,即在CPF循环计算时对数据加锁,报文验证线程此时不允许访问CPF循环计算线程的数据区;同理在XFlow抓包解析包线程没有解析出来四元组的时候,其数据区也要对报文验证线程加锁。
3.网络动态问题应对方法
由于路由器的加入和撤出、路由策略的改变等等原因,网络中时刻会发生路由更新,且实际的网络环境复杂而多变。
如果管理器不随着路由的更新过滤表项进而更新路由器ACL配置,那么使用CPF将会比不使用还糟糕。
若发生路由器路由表更新,通常意味着全局的路由都可能会更新,如果此路由器可以给管理服务器发送一个Trap消息告诉它网络中已经有了路由变化,此时管理服务器应该立即配置已经下发过过滤表项的路由器的ACL,使之前配置的表项全部失效(为了不引入假阳性);同时管理服务器重新获取域内全部能拿到的路由器的MIB信息并重新计算过滤表项,计算好以后,如果这期间路由再没有发生变化,则开始使用新计算的过滤表项验证报文,重新配置路由器的ACL。
然而不幸的是,目前的SNMP协议的Trap机制并没有能够支持到这么细粒度的告警给管理服务器,我们就采用了一种退而求其次的方式:
以一定的周期(可以调整)主动重新获取一次域内全部能拿到的路由器的MIB信息,重新完整计算一次,并重复之前的过程。
然而这也不是一个很好的办法。
因为CPF是独立于网络中的设备而独立存在的,不像uRPF是直接依赖于各设备系统的FIB,因此无法在CPF和路由设备之间建立一种合理的同步机制,这就造成了网络动态下的这种无法同步更新的困难,这也是CPF不如uRPF的少数几个重要缺点之一,好在实际运行中的网络中路由器的加入和撤离并没有那么频繁,而路由器的加入和撤出才是引起路由发生变化的最大因素。
一般情况下,网络比较稳定,只要周期性的重新计算基本能够满足要求。
4.过滤表的下发
计算出来的过滤表项要配置到路由器的ACL上才能防止源地址伪造。
通常,配置路由器是按照该路由器特有的一套指令集来配置,且配置是一个交互式通信过程,这里配置ACL的实现使用交互式脚本语言Expect。
每个厂商每个型号的配置指令都可能不同。
这里的做法是,事先根据每个路由器配置命令的不同组织一个下发配置的Expect[36]语言脚本模板,使用时直接将要下发的过滤表项的数据填充进去,然后直接下发到对应的路由器上去。
可见配置路由器的ACL实际上是一个效率比较低下的做法,受到路由器相应时间、网络通信时间等的影响,将会导致计算和配置的不同步,这也是CPF不如uRPF的少数几个重要缺点之一。
四、XFLOW
XFLOW指的是sFlow或netFlow或IPFix或PSAMP等,因为不同厂商使用了不同的Flow,例如思科,锐捷使用的是NetFlow,华三,神码使用的是sFlow,华为使用的是Netstream。
本系统对这两者进行了兼容。
1.NetFlow
NetFlow是一种数据交换方式,其工作原理是:
NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。
一个NetFlow流定义为在一个源IP地址和目的IP地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号。
2.sFlow
sFlow(sampledflow采样流)是一种基于报文采样的网络流量监控技术,主要用于对网络流量进行统计分析。
sFlow格式
图4.1sFlowUDP包格式
3.XFLOW在系统中的应用
本系统主要收集从路由器/交换机发送过来的sFlow/netFlow报文,然后对sFlow/netFlow按照相应格式进行报文解析,得到采样报文的相关信息如源地址、目的地址、协议等。
然后将解析出的报文信息上交到判断模块进行源地址真实性判断。
判断模块已经计算好了用来验证源地址真实性的匹配规则,该模块会通过报文源地址、目的地址、入接口等信息来对报文进行判断,若发现为伪造源地址报文,则报警。
图4.2
五、关联SAVI网管系统
1.SAVI网管系统和五元组
IPv4/IPv6一体化综合网管系统是赛尔网络携手清华大学根据网络建设和发展的需要,考虑到IPv4/IPv6网络的长期共存与互通这一基本情况,将近年积累的IPv6网络运行经验、与最新的IPv6网络管理研究成果结合起来,研究并开发的具有完全自主知识产权的新一代网管系统。
提供IPv4/IPv6双栈管理,采用可定制的开放式架构,支持园区网、城域网、大型主干网管理,可根据用户需求进行灵活定制和部署。
产品模块除包含常用的配置管理、性能管理、故障监控、拓扑发现、事件处理、晴雨表等模块外,还提供综合信息搜索与显示,事务流程处理、IPv6网关、用户权限认证机制等功能。
用户五元组信息包括在线用户的账号、IP地址、MAC地址、所属交换机、上网时间等信息。
通过五元组的展示,可以及时准确的对在线用户进行管理。
2.关联SAVI网管系统的设计方案
为了给网络管理员用户提供提供更准确实用的信息,我们在校园网真实源地址验证管理系统中,提供了快速访问SAVI网管系统在线用户五元组信息的方法。
当系统超级管理员(admin)在“系统管理”“网管系统URL管理”功能中,设置好本地部署的SAVI网管系统URL后。
用户可以点击菜单“接入网SAVI管理系统”,通过单点登录的方式,进入SAVI网管系统的五元组页面进行操作。
用户第一次使用此功能时,需要设置“个人信息”中的“网管系统”用户名和密码。
设置成功后,再次点击“接入网SAVI管理系统”连接,系统会自动使用您设置的SAVI网管系统用户名密码进行登录。
进入SAVI网管系统后,点击菜单“SAVI管理”功能,在交换机列表中选择您关注的交换机图标,在交换机详情页面右侧,可以看到当前交换机所属用户的五元组列表,点击列表表头右侧“>>”链接,进入五元组详情页面。
图5.1
六、文档编者和参考文献
1.文档编者
毕军、孙雅媛、郭强、何旭、肖佩瑶、姚广
2.参考文献
[1]JianpingWu,JunBi,XingLi,GangRen,KeXu,et.al, RFC5210:
ASourceAddressValidationArchitecture(SAVA)TestbedandDeploymentExperience,2008
[2]GuangYao,JunBi, PeiyaoXiao,JuntaoWang,VASE:
anElasticIPSpoofingFilteringSolution,papersubmittedtoIEEEINFOCOM2012.
[3]P.FergusonandD.Senie,RFC2827:
NetworkIngressFiltering:
DefeatingDenialofServiceAttackswhichemployIPSourceAddressSpoofing,,2000.
[4]姚广、毕军,互联网中IP源地址伪造及其防护技术,电信科学,Vol.24,No.1,pp26-32,2008.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园网 真实 源地 验证 管理 系统 域内 SAVA