雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7486|回复: 14

[讨论/求助] 关于HSRP与VRRP协议之间的安全问题

  [复制链接]
发表于 2010-10-7 17:45:01 | 显示全部楼层 |阅读模式
看书上写着HSRP与VRRP协议之间的区别之一就是VRRP有安全认证机制,然后就没有后话了。
我找了找资料说VRRP的认证方式三种,一种是不认证,一种是简单明文认证,还有一种MD5 HMAC ip认证的强认证。
另外,VRRP包括一个保护vrrp分组不会被另外一个远程网络添加内容的机制,即:设置TTL值为255,并在接受时检查,并且说这样限制了可以进行本地攻击的大部分缺陷,而HSRP在它的消息中使用的TTL是1。
这个我不是太明白,为什么设为255就安全了
还有就是HSRP也有认证机制,分别为明文认证和MD5认证,为什么就说不安全了。
它的认证方式和VRRP的认证方式貌似没有多大区别啊。
小弟一直很困惑,求哪位大大解惑,不胜感谢。
发表于 2010-10-9 09:23:06 | 显示全部楼层
楼主研究得很详细,HSRP作为cisco私有的协议,这是和VRRP最大的差别。
具体两者间的TTL及安全性问题,还需要查阅下文档,请静候佳音。
查阅了相关文档,得出的结论如下:
1.VRRP TTL=255 HSRP TTL=1 如何理解255更安全:
远程网络如果要进行HSRP/VRRP攻击,从远程传递过来的数据包,会发生TTL改变,
TTL范围为1-255,每经过1台路由器就会自动减1,
如果远程网络要攻击,到达本地网络后,TTL不可能等于255.但有可能减少到TTL=1,
所以如果要求本地的VRRP设备发出的包TTL值直接等于255,那么就不会受到远程网络的攻击。
2.关于认证方面的区别。
VRRP支持的强认证,和HSRP的MD5认证有所不同。
强认证方法使用IP认证头(AH)协议.AH是与用在IPSEC中相同的协议,AH为认证VRRP分组中的内容和分组头提供了一个方法. MD5 HMAC 的使用表明使用一个共享的密钥用于产生hash值.路由器发送一个VRRP分组产生MD5 hash值,并将它置于要发送的通告中,在接收时,接受方使用相同的密钥和MD5值,重新计算分组内容和分组头的hash值,如果结果相同,这个消息就是真正来自于一个可信赖的主机,如果不相同,它必须丢弃,这可以防止攻击者通过访问LAN而发出能影响选择过程的通告消息或者其他一些方法中断网络.
因此,VRRP的强认证的安全性高于HSRP的MD5认证。
贴上一些HSRP和VRRP对比的总体参数:
HSRP ------ Hot Standby Redundancy Protocol
VRRP ------ Virtual Router Redundancy Protocol
下面总结一下HSRP和VRRP的区别
1.认证 HSRP支持明文认证,IOS12.3以上支持MD5认证。 
           VRRP允许参与VRRP组的设备之间建立认证机制,有3种认证机制 无认证 简单的明文密码 md5 HMAC
2.IP地址 HSRP不允许虚拟IP地址使用参与HSRP组的设备的真实IP地址 VRRP允许使用
            因此假如采用两台设备作冗余备份,HSRP需要3个IP地址,而VRRP只需要2个IP地址,VRRP组中拥有该虚拟地址的设备,成为Master,该设备为地址拥有者
3.报文 HSRP有3种报文:呼叫(Hello)报文     告辞(Resign)报文     突变(Coup)报文
          VRRP有1种报文:由主路由器定时发出来通告它的存在,使用这些报文可以检测虚拟路由器各种参数,还可以用于主路由器的选举。发送间隔默认1s
4.状态 HSRP有6种状态:初始(Initial)状态,学习(Learn)状态,监听(Listen)状态,对话(Speak)状态,备份(Standby)状态,活动(Active)状态
          VRRP有3种状态:初始状态(Initialize)、主状态(Master)、备份状态(Backup)
5.事件 HSRP有8个事件
          VRRP有5个事件
6.报文承载 HSRP:UDP1985 向组播地址224.0.0.2发送
               VRRP:既没用TCP,也没用到UDP,自己独立占用ip protocol number 112,利用多播进行通讯,所使用的多播地址为224.0.0.18
7.TTL  HSRP TTL=1
           VRRP TTL=255 并在接受时检查,保证了不会被远程网络添加内容
8.端口track HSRP支持
                VRRP不支持,需要配置track对象集合
9.所属  HSRP私有 VRRP共有
10.mac地址 HSRP:00-00-0c-07-ac-VRID
                 VRRP:00-00-5e-00-01-VRID
发表于 2010-10-9 10:17:10 | 显示全部楼层
一、首先说下这两种协议的认证方式:
    1、HSRP的认证方式有两种:
       a、明文认证
       b、MD5认证

    2、VRRP的认证方式有三种:
       a、不认证
       b、明文认证
       c、MD5认证
二、然后说下关于这两种协议所设置的TTL:
       1、HSRP设置TTL为1
           2、VRRP设置为255,并且必须设置为255(RFC3768有明确规定),如果一个VRRP路由器接收到一个包,如果它的TTL值不等于255的话,那么这个包就会被丢弃,也就是你说,它这个字段需要被检查,当然在有些厂商的设备上可以关闭这个TTL字段的检查!

三、关于你说的HSRP认证不安全,安全不是绝对的安全,这个你必须明白!
 楼主| 发表于 2010-10-9 20:25:00 | 显示全部楼层
非常感谢2楼 和3楼忙里抽出时间来给小弟解惑,辛苦二位了 哈哈  那个TTL等于255的后来在吃饭的时候想啊想啊,叮!   突然想明白了呵呵,远端的网络到该网络过程中TTL在不停的减啊减,到达该网络时候不定是多少了。该网络受到后查看TTL,发现不对就丢弃了,这样子在一定程度上是可以减少远程网络对该网络的危害。呵呵  再次感谢大大andersen  和大大jeff对此问题做出如此详细的解释
发表于 2010-10-10 18:50:15 | 显示全部楼层
学习了。转走
感谢LZ的问题 和 强哥 JEFF的解答。
发表于 2010-10-10 19:07:41 | 显示全部楼层
获益匪浅,两位大大的解释,非常棒!
发表于 2010-10-10 21:30:15 | 显示全部楼层
学习了 非常棒
发表于 2010-10-10 21:34:34 | 显示全部楼层
学习了 最近正好要用
发表于 2010-10-16 22:04:16 | 显示全部楼层
“设置TTL值为255,并在接受时检查,并且说这样限制了可以进行本地攻击的大部分缺陷”

关于TTL值为什么设置为255,我觉得可以也参考一下《TCP/IP路由技术卷2》P467上关于IPv6安全的描述,这可以防止某种恶意地对流量进行重定向。

原文摘要:IPv6用于验证某数据包没有被发送到链路之外的节点(可能是某种恶意地对流量进行重定向)的技术要求将该字段设置为255(是跳数限制的最大值)。这是因为数据包穿越了路由器并由该链路外的节点发送进来,那么接收到的该数据包的跳数限制字段值必将小于255,这样一来,接收到该数据包的IPv6节点就知道该数据包无效并予以丢弃。
发表于 2011-11-16 15:27:53 | 显示全部楼层
来学习了~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-11-26 07:56 , Processed in 0.090624 second(s), 18 queries , Gzip On.

快速回复 返回顶部 返回列表