Techyou labs
真正的爱应该超越生命的长度、心灵的宽度、 灵魂的深度
常用标签
您正在查看:标签 lvs 下的文章

今天遇到一个问题,同事问怎么来防止LVS环境下的arp欺骗,对于LVS不是太熟悉,于是到whitehat群中请教,然后自己又看了下关于 LVS的资料,做了个简单的分析,记录下。

首先了解下LVS,LVS是Linux服务器集群系统(Linux Virtual Server)的简称,其官方网址为: http://www.linuxvirtualserver.org/zh/lvs3.html,其中LVS主要采用了三种IP负载均衡技术,即:

VS/NAT 通过NAT实现虚拟服务器(Virtual Server via Network Address Translation);
VS/TUN 通过IP隧道实现虚拟服务器(Virtual Server via IP Tunneling);
VS/DR 通过直接路由实现虚拟服务器(Virtual Server via Direct Routing

具体的介绍可以到官网查看,我们这里只分析下它们的架构:

1.VS/NAT
vs-nat.jpg
上图是官网给出的架构图,VS/NAT主要有一台调度服务器和下面的一个内网组成,中间通过交换机连接。

其数据流为:用户->调度服务器->Switch/Hub->到达real服务器->Switch /Hub-->调度服务器->用户。

a.调度服务器同一交换环境下的服务器来ARP欺骗调度服务器VIP。如果ARP欺骗的话,通过调度服务器同一交换机下的服务器来欺骗调度服务器这个IP,是可以完成的,它们在同一交换环境下的。

b.如果采用调度服务器IP来欺骗同一交换环境下的其他IP,因为入侵进去的话,实际登陆的可能是调度服务器后面的内网里的某一台服务器,如果这个 session断开的话,可能就无法找到是哪一台服务器了,这是其一;当然了,由于是负载均衡吗,我们可以把内网所有的主机都控制了,然后再来实施ARP 欺骗,很显然,由于此IP在内网,我们很难欺骗调度服务器VIP相同网段的其他IP。

预防:那么直接在交换机上设置VIP和mac的绑定理论上应该就可以防止对VIP的ARP欺骗了。

2.VS/TUN
vs-tun.jpg
通过上图,可以看出,VS/TUN的架构为一台调度服务器,下面是目标服务器。

数据流为:用户->调度服务器->目标服务器->直接返回给用户.

ARP欺骗攻击

a.通过了解TUN方式的VS 可以知道调度服务器实际上和后台的目标服务器是同处一个交换环境下面的,那么我们就可以使用VIP同一交换环境下的 IP对调度服务器VIP进行攻击,由于VS的real服务器和调度服务器一个交换环境下,那么也可以对任一台进行ARP欺骗攻击,前提是得知道他们的真实 IP地址,而不是VIP地址。

b.通过VS来ARP欺骗VIP同一交换环境下的其他IP,调度服务器给我们随机分配一台目标服务器,由于目标服务器和调度服务器是在一个交换环境下,那么就可以成功的对其实施ARP欺骗攻击,当然了,也要知道调度服务器分配的真实IP地址了。

预防:理论上可以通过在交换机上设置IP地址和MAC绑定的方法来防止ARP欺骗。

3.VS/DR
vs-dr.jpg
上图为DR方式的VS,调度器和服务器组都必须在物理上有一个网卡通过不分断的局域网相连,如通过高速的交换机或者HUB相连。VIP地址为调度器和服务器组共享,调度器配置的VIP地址是对外可见的,用于接收虚拟服务的请求报文;所有的服务器把VIP地址配置在各自的Non-ARP网络设备上,它对外面是不可见的,只是用于处理目标地址为VIP的网络请求。