两台路由器R1和R2各自连接着一台主机,并配置RIPv2协议学习路由条目。R3作为模拟攻击者,窃取R1/R2间的路由信息,并发布一些虚假路由,使R1/R2的相关路由的选路指向了R3,形成路由欺骗。为避免遭受攻击,提高安全性,配置RIPv2认证。 下面开始吧!
R1配置:
[R1]int g 0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.10.1 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]int g 0/0/1
[R1-GigabitEthernet0/0/1]ip add 10.0.12.1 24
[R1-GigabitEthernet0/0/1]undo shutdown
[R1]rip 1 //进入RIP进程
[R1-rip-1]version 2 //指定RIPv2版本
[R1-rip-1]network 192.168.10.0 //对指定网段接口使能RIP功能
[R1-rip-1]network 10.0.0.0
R2配置:
[R2]int g 0/0/1
[R2-GigabitEthernet0/0/1]ip add 10.0.12.2 24
[R2-GigabitEthernet0/0/1]int g 0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.20.1 24
[R2]rip 1
[R2-rip-1]version 2
[R2-rip-1]network 192.168.20.0
[R2-rip-1]network 10.0.0.0
display ip routing-table 查看R1/R2路由表
可以看到,双方已经正常获得了RIP路由条目。
路由器R3作为攻击者,接入公司网络。并将GE 0/0/0 地址配置为10.0.12.3,与该R1/R2在同一网段,并配置RIPv2,宣告该网段。
R3配置:
[R3]int g 0/0/0
[R3-GigabitEthernet0/0/0]ip add 10.0.12.3 24
[R3-GigabitEthernet0/0/0]undo shutdown
[R3]rip 1
[R3-rip-1]version 2
[R3-rip-1]network 10.0.0.0
查看R3路由表
观察发现R3已经非法获取了R1/R2终端所在的两个网段的路由信息,此时R3可以发送大量的ping包,导致网络链路拥塞,形成攻击。
R3模拟攻击演示,发送10万个ping包给PC-1,导致攻击发生。
在R3上分别配置两个用于欺骗的环回接口,地址分别为192.168.10.1和192.168.20.1,即与两台PC的地址相同,并在RIP协议中通告这两个欺骗的网段。
[R3]int loopback 0
[R3-loopback-0]ip add 192.168.10.1 24
[R3-loopback-0]int loopback 1
[R3-loopback-1]ip add 192.168.20.1 24
[R3]rip 1
[R3-rip-1]version 2
[R3-rip-1]network 192.168.10.0
[R3-rip-1]network 192.168.20.0
查看R1/R2上的路由表
可以看到R3发过来的路由更新。因为R2和R3发送RIP更新的cost都是1跳,所以在R1的路由表中,目的为192.168.20.0网段形成了两条等价负载均衡的路径,下一跳分别是R2/R3。这样会导致去往192.168.20.0网段的数据包有部分转发给欺骗路由R3。
为提升网络安全性,避免攻击和路由欺骗,可在R1和R2的GE 0/0/1 接口配置认证,密码为huawei,两端的密码必须保持一致,否则会导致认证失败,使得协议无法正常运行。
[R1]int g 0/0/1
[R1-GigabitEthernet0/0/1]rip authentication-mode simple huawei //配置RIP-2验证方式
[R2]int g 0/0/1
[R2-GigabitEthernet0/0/1]rip authentication-mode simple huawei
再次查看R1/R2上的路由表
可以看到R1/R2上的路由表恢复正常,R3发送的欺骗路由在路由表中消失。因在R1/R2上配置了RIP认证,这就要求在RIP更新报文中包含认证密码,如果密码错误或者不存在,将认为该路由非法丢弃。
总感觉差点什么…