1.攻击原理
HSRP协议的路由器之间广播HSRP优先级,HSRP协议选出当前的主动路由器。当在预先设定的一段(Hold Time 缺省为10秒)时间内主动路由器不能发送hello消息,或者说HSRP检测不到主动路由器的hello消息时,将认为主动路由器有故障,这时HSRP会选择优先级最高的备用路由器变为主动路由器,同时将按HSRP优先级在旁隐配置了HSRP的路由器中再选择一台路由器作为新的备用路由器。HSRPv1的Hello消息是基于UDP端口为1985以及目的地址为224.0.0.2 的信息包,HSRPv2的Hello消息是基于UDP端口为1985以及目的地址为224.0.0.102 的信息包,配置了HSRP的路由器将会周期性的广播Hello消息包,并利用Hello消息包来选择主动路由器和备用路由器及判断路由器是否失效。用户与HSRP组是在同一局域网内,很容易截获HSRP组的信息,并通过此信息结合相关的攻击软件可以造成SR路由器上的HSRP组频繁切换。
2.攻击现象
被攻击路由器的对应HSRP组的active路由器会频繁切换,频繁切换HSRP组路由器的角色会占用一定cpu资源。
3.解决运茄厅方案
其实HSRP的hello报文信息带有认证密码,但默认Authentication Data是明文cisco,可以采用更改Authentication Data字段的认证密码,并且使用MD5加密,可以对用户采用HSRP协议自身的弱点进行攻击起到相应的纳键保护作用。由于目的地址为224.0.0.2和224.0.0.102,目的端口为UDP1985是HSRP特定的会话,可以采取在接入交换机通过ACL控制用户in方向的流量拒绝访问目的地址为224.0.0.2和224.0.0.102,目的端口为UDP1985的所有数据包。
相关命令:
Router(config)#key chain hsrp-key
Router(config-keychain)#key 1
Router(config-keychain-key)#key-string gzunicom
Router(config-if)#standby 1 authentication mode md5
Router(config-if)#standby 1 authentication hrsp-key
hsrp不是这么用的,是核心层或者说是路由器备份使用,他们两台彼此可用一条光纤连接,启HSRP后两台路由器会虚拟出一个IP地址,如有损坏,备用设备自动切换,下面二层交换机通常使用STP防环,如果二层是cisco的,使用PVST+
组建HSRP关键是汇聚层交换机要有两根线分别接入到两台路由器上,但在节点设置行指网关时,只设置他们两台路由器公用的那个IP地槐山址
配置如下
version 12.0
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname r1
!
enable password cisco
!
ip subnet-zero
!
!
!
!
interface Ethernet0
ip address 136.147.107.101 255.255.0.0
no ip redirects
no ip directed-broadcast
standby 150 timers 5 15 /* 定义150组5秒交换一次hello信息,15秒没收到
hello信息就开始切换铅带中 */
standby 150 priority 110 /* 定义150组的主路由器权值,值越大,为主路由
器希望越大 */
standby 150 preempt /* enable 150组的hsrp抢占功能 */
standby 150 authentication cisco /* 设置150组的router身份验证串 */
standby 150 ip 136.147.107.100 /* 定义150组的浮动地址,也是这台router
连接的网络的网关 */
standby 150 track Ethernet0 /* 定义监控的端口 */
!
interface Serial0
no ip address
no ip directed-broadcast
no ip mroute-cache
shutdown
no fair-queue
!
ip classless
!
!
line con 0
transport input none
line 1 16
line aux 0
line vty 0 4
password cisco
login
!
end
配置认证