BGP路径次序原则及ARP欺骗

i 如果下一跳不可达,不考虑下一跳。
ii 优先选取有最大权重的路径。 WEIGHT
iii如果多余路由有同样的权重,优先选取具有最高本地优先级的路由。 LOCALPREF
iv如果有多条路由有相同的本地优先级,优先选取源自于本路由器上的BGP路由。
v 如果没有路由是源,优先选取具有最短 AS路径的路由。
vi如果所有路径具有同样的AS长度,优先选取有最低源编码(IGP〈EGP〈INCOMPLETE)
vii如果源编码相同,优先选取具有最低多出口区分( MED)的路径。
viii如果MED相同,外部路径比内部路径优先选取。
xi如果MED相同,优先选取通过最近IGP邻居的路径。
xii 如果MED仍都相同,优先选取一具有最低BGP路由器ID的路径。
 
ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是――截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是――伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。
一般来说,ARP欺骗攻击的后果非常严重,大多数情况下会造成大面积掉线。
有经验的网关会利用arp命令来查找发出arp欺骗包的主机,然后采取相应的措施。但这些都是亡羊补牢的办法,能不能把防范做在前面,让那些中毒的主机无所作为呢?
其实,cisco也有类似的命令,能够在有arp欺骗的情况下保护网关和其它主机,使网络得以畅通。
命令格式:
arp IP add mac arpa intID,比如:
arp 10.1.1.222 0000.ac01.2ca9 arpa fastethernet 3/19
它的作用相当于:在快速以太3/19口上,能与它连接的只能是1001.1.222,mac地址只能是0000.ac01.2ca9 ,其它一律拒绝。
在汇聚和接入交换机之间,通过这第条命令两端互相绑定对端的ip和mac地址,这样可以防止接入交换机下的pc中毒后发出虚假的arp信息,导致汇聚和接入交换机之间的通信异常。比如汇聚在请求对端接入交换机的mac地址时,pc首先发出了回应也就是以接入交换机的管理ip和自己的(或者伪装的)mac封装了arp reply那么汇聚的arp表就会出现错误,导致整个接入交换机下的用户无法上网,这也是一种arp欺骗。利用了上面的命令就可以将汇聚和接入交换机的 arp条目固化,防止出现上述情况。
同理,在接入层交换机上做出绑定,那么当接入交换机请求目的主机的mac时,会直接从自己的固化arp表中去查找,而不会再向整个网络发布arp广播,这样即使有arp欺骗的主机存在,它也不会有向整个网络发难的机会。
一、ARP协议工作原理
在TCP/IP协议中,每一个网络结点是用IP地址标识的,IP地址是一个逻辑地址。而在以太网中数据包是靠48位MAC地址(物理地址)寻址的。因此,必须建立IP地址与MAC地址之间的对应(映射)关系,ARP协议就是为完成这个工作而设计的。
TCP/IP协议栈维护着一个ARP cache表,在构造网络数据包时,首先从ARP表中找目标IP对应的MAC地址,如果找不到,就发一个ARP request广播包,请求具有该IP地址的主机报告它的MAC地址,当收到目标IP所有者的ARP reply后,更新ARP cache.ARP cache有老化机制。
二、ARP协议的缺陷
ARP协议是建立在信任局域网内所有结点的基础上的,它很高效,但却不安全。它是无状态的协议,不会检查自己是否发过请求包,也不管(其实也不知道)是否是合法的应答,只要收到目标MAC是自己的ARP reply包或arp广播包(包括ARP request和ARP reply),都会接受并缓存。这就为ARP欺骗提供了可能,恶意节点可以发布虚假的ARP报文从而影响网内结点的通信,甚至可以做“中间人”。
三、常见ARP欺骗形式
1、假冒ARP reply包(单播)
XXX,I have IP YYY and my MAC is ZZZ!
2、假冒ARP reply包(广播)
Hello everyone! I have IP YYY and my MAC is ZZZ!
向所有人散布虚假的IP/MAC
3、假冒ARP request(广播)
I  have IP XXX and my MAC is YYY.
Who has IP ZZZ? tell me please!
表面为找IP ZZZ的MAC,实际是广播虚假的IP、MAC映射(XXX,YYY)
4、假冒ARP request(单播)
已知IP ZZZ的MAC
Hello IP ZZZ! I have IP  XXX and my MAC is YYY.
5、假冒中间人
欺骗主机(MAC为MMM)上启用包转发
向主机AAA发假冒ARP Reply:
AAA,I have IP BBB and my MAC is MMM,
向主机BBB发假冒ARP Reply:
BBB,I have IP AAA and my MAC is MMM
由于ARP Cache的老化机制,有时还需要做周期性连续欺骗。
四、ARP欺骗的防范
1、运营商可采用Super VLAN或PVLAN技术
所谓Super VLAN也叫VLAN聚合,这种技术在同一个子网中化出多个Sub VLAN,而将整个IP子网指定为一个VLAN聚合(Super VLAN),所有的Sub VLAN都使用Super VLAN的默认网关IP地址,不同的Sub VLAN仍保留各自独立的广播域。子网中的所有主机只能与自己的默认网关通信。如果将交换机或IP DSLAM设备的每个端口化为一个Sub VLAN,则实现了所有端口的隔离,也就避免了ARP欺骗。
PVLAN即私有VLAN(Private VLAN) ,PVLAN采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN相互隔离。如果将交换机或IP DSLAM设备的每个端口化为一个(下层)VLAN,则实现了所有端口的隔离。
PVLAN和SuperVLAN技术都可以实现端口隔离,但实现方式、出发点不同。PVLAN是为了节省VLAN,而SuperVlan的初衷是节省IP地址。
2、单位局域网可采用IP与MAC绑定
在PC上IP+MAC绑,网络设备上IP+MAC+端口绑。但不幸的是Win 98/me、未打arp补丁的win 2000/xp sp1(现在大多都已经打过了)等系统 使用arp -s所设置的静态ARP项还是会被ARP欺骗所改变。
如果网络设备上只做IP+MAC绑定,其实也是不安全的,假如同一二层下的某台机器发伪造的arp reply(源ip和源mac都填欲攻击的那台机子的)给网关,还是会造成网关把流量送到欺骗者所连的那个(物理)端口从而造成网络不通。
对于采用了大量傻瓜交换机的局域网,用户自己可以采取支持arp过滤的防火墙等方法。推荐Look ‘n’Stop防火墙,支持arp协议规则自定义。
最后就是使用ARPGuard啦(才拉到正题上),但它只是保护主机和网关间的通讯。
五、ARPGuard的原理
ARPGuard可以保护主机和网关的通讯不受ARP欺骗的影响。
1、第一次运行(或检测到网关IP改变)时获取网关对应的MAC地址,将网卡信息、网关IP、网关MAC等信息保存到配置文件中,其他时候直接使用配置文件。
2、移去原默认路由(当前网卡的)
3、产生一个随机IP,将它添加成默认网关。
4、默认网关IP 和网关的MAC绑定(使用DeleteIpNetEntry和CreateIpNetEntry修改ARP Cache表项)
5、周期性检测ARP Cache中原默认网关(不是随机IP那个) 网关的MAC在ARP Cache的值是否被改写,若被改写就报警。
6、针对有些攻击程序只给网关设备(如路由器或三层交换机)发欺骗包的情况。由于此时本机ARP Cache中网关MAC并未被改变,因此只有主动防护,即默认每秒发10个ARP reply包来维持网关设备的ARP Cache(可选)
7、程序结束时恢复默认网关和路由。
值得说明的是程序中限定了发包间隔不低于100ms,主要是怕过量的包对网络设备造成负担。如果你遭受的攻击太猛烈,你也可以去掉这个限制,设定一个更小的数值,保证你的通讯正常。
  本文为菜鸟longsion原创,读完保你万事如意一年一切顺利!!!转载时注明出处。谢谢合作!!!!!

你可能感兴趣的:(休闲,router,Technology,BGP,arp欺骗)