目录
目的
理解URPF严格模式和松散模式区别,掌握路由器单播逆向路由转发配置过程。
器材
三层交换机(S5700):1台
路由器(AR2220):2台
主机:2台
服务器:1台
拓扑
步骤
一、基本配置
配置PC1、Client1和Server1的IP及网关
1、路由器接口IP配置
<Huawei>system-view
[Huawei]sysname R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip ad 116.64.64.1 24[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip ad 112.56.100.1 24
[R1]int s2/0/0
[R1-Serial2/0/0]ip ad 202.116.64.1 24
[R1-Serial2/0/0]quit
<Huawei>system-view
[Huawei]sysname R2
[R2]int s2/0/0
[R2-Serial2/0/0]ip ad 202.116.64.100 24
[R2-Serial2/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip ad 192.168.1.1 24
[R2-GigabitEthernet0/0/1]quit
2、路由器R2 Easy-IP配置
[R2]acl 2000
[R2-acl-basic-2000]rule 10 permit source 192.168.1.0 0.0.0.255 //访问控制列表,通配符掩码,0精确匹配,1不精确匹配
[R2-acl-basic-2000]quit
[R2]int s2/0/0
[R2-Serial2/0/0]nat outbound 2000
[R2-Serial2/0/0]quit
[R2]ip route-static 0.0.0.0 0 s2/0/0
3、路由器R2 静态PAT配置
[R2]int s2/0/0
[R2-Serial2/0/0]nat server protocol tcp global current-interface 80 inside 192.1
68.1.10 80 //建立全球IP地址(当前接口IP)<202.116.64.100:80>与内网<192.168.1.10:80>之间的TCP静态映射关系
Warning:The port 80 is well-known port. If you continue it may cause function fa
ilure.
Are you sure to continue?[Y/N]:y
[R2-Serial2/0/0]quit[R2-Serial2/0/0]nat ?
outbound Specify net address translation
server Specify NAT server //指定NAT服务器
static Specify static NAT
测试
D盘下新建一个文件夹web,web下新建一个文本文档【设置网页】,如图:
访问:
二、入侵实战(略)
三、防范策略
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]urpf ?
loose Loose check //严格模式
strict Strict check //松散模式 eg: 一堵城墙只有一个入口,,那这个入口肯定很重要,要检查的话就属于严格模式
[R1-GigabitEthernet0/0/0]urpf strict
[R1-GigabitEthernet0/0/0]quit
四、任务验证
总结
1、URPF
【Unicast Reverse Path Forwarding,单播逆向路径转发】用于防范基于源地址欺骗的攻击行为。通常情况下,路由器接收到数据包后,根据目的IP地址查询路由表转发至下一跳(如能找到匹配的路由项,则转发至下一跳,否则直接丢弃),并不关心数据包源IP地址,黑客利用这一漏洞可以发动源地址欺骗攻击并隐藏踪迹。
URPF将数据包源IP地址与路由表进行匹配,以此判断数据包源地址的真实性,对于防范伪造IP源地址的Dos攻击非常有效。URPF对数据包源IP地址合法性检查分为严格模式(strict)和松散模式(loose)两种。
1)严格模式:设备不仅要求数据包源IP地址在路由表中存在相应表项,还要求入栈接口与路由条目出接口匹配才能通过URPF检查。建议在路由对称环境(来跟回走同一条路)下使用URPF严格模式。例如两个网络边界设备之间仅存在一条路径,使用严格模式能够最大限度保证网络安全性。
2)松散模式:设备不检查接口是否匹配,只要路由表中存在该数据包源IP地址路由,则根据目的IP转发至下一跳。建议在不保证路由对称(来跟回走不同路)环境下使用URPF的松散模式。例如两个网络边界设备之间存在多条路径,路由对称性不能保证,在这种情况下,URPF松散模式既可以较好地阻止源地址欺骗攻击,又可以避免错误拦截合法用户流量。
2、拒绝服务攻击
指攻击者故意不完成TCP三次握手全过程,让服务器维持大量半连接状态以消耗系统资源和连接数量,影响正常用户的访问。拒绝服务攻击一般采取源地址欺骗方式发动攻击,原因如下:
1)采用虚假IP发动攻击可以有效隐藏踪迹,增加溯源成本和难度。
2)采用虚假IP与服务器建立TCP三次握手连接,服务器回应报文因找不到源IP地址而无法投递,直到超时,却误以为自己发送的报文丢失而重发,服务器会为维持这种半连接状态而消耗系统资源。
3、Easy-IP
利用出接口的公网Ip地址作为NAT转换后的地址转换方式。
实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
4、静态PAT【就是静态NAT+PAT】
PAT【端口地址转换,Port Address Translations)】,也称为端口复用技术,又称为NAPT(Network Address Port Translation),它实现一个公网地址和多个私网地址之间的映射,因此可以节约公网地址。PAT的基本原理是将不同私网地址的报文的源IP地址转换为同一公网地址,但他们被转换为该地址的不同端口号,因而仍然能够共享同一地址。
PAT的类型有以下:
1、动态PAT,包括NAPT和Easy IP
2、静态PAT,包括NAT Server
5、深入理解URPF处理流程
URPF分为两种模式,此外也支持ACL与默认路由检查。
1)如果数据包源IP地址存在于路由表中。
strict模式:至少有一个出接口和数据包入栈接口匹配(去往源地址肯有多条路径),则通过检查,根据数据包目的IP转发至下一跳;否则直接拒绝。
loose模式:直接转发,不予检查
2)如果数据包源IP地址在路由表中没有匹配项(路由表没有源IP地址的路由条目),则检查默认路由出接口及URPF的allow-default-route参数。
配置了默认路由但没有配置allow-default-route命令,不管是strict模式还是loose模式,直接拒绝。
对于配置了缺省路由,同时配置了allow-default-route命令。如果是strict模式,只要默认路由出接口与数据包入栈接口一致,则通过URPF检查;如果默认路由出接口与数据包入栈接口不一致,则直接拒绝。如果是loose模式,直接转发,不予检查。
当且仅当数据包被URPF拒绝后,再匹配ACL。如果ACL允许通过,则数据包继续按正常流程投递;如果还是被ACL拒绝,路由器则丢弃该数据包。