5.3 局域网安全

在讨论完边界安全和传输安全之后,下面介绍局域网安全。本节将关注三层路由安全和二层交换安全的相关内容。

5.3.1 三层路由安全

在互联网环境中,就像大家不愿意将自己的住址和电话让无关的人员掌握一样,路由的隐藏往往也作为网络建设的基础要求。除此之外,包括OSPF的邻居认证,OSPF TTL检查和TCP拦截(TCP Intercept)等内容都将在本节与大家进行讨论。

1. OSPF安全

OSPF协议作为被广泛使用的动态路由协议也同样需要考虑安全性问题,主要关注如下内容。

(1)邻居认证:为了保护OSPF进程,防止未授权的连接,建议为OSPF各个区域开启认证。

(2)域间路由过滤:如果在网络边界开启OSPF协议,那么一定要注意类型3的域间路由过滤问题,从而防止内部路由泄露到外部,使未授权用户获得内部网络路由信息。

(3)OSPF TTL检查:OSPF TTL安全检查是一种保护OSPF免受远程攻击的安全机制。在启用此功能后,OSPF将发送TTL为255的数据包,并拒绝TTL小于配置阈值的任何数据包。在默认情况下,一旦启用此功能,它将只接收TTL为255的包。由于路由每过一跳TTL会减1,因此这意味着只接收来自直接连接设备的OSPF包。

2. TCP拦截

TCP拦截(TCP Intercept)相关技术描述如下。

(1)TCP拦截是基于软件的用于缓解基于TCP半开连接泛洪DoS攻击的技术。

(2)TCP拦截有两种工作模式,分别是观察模式和拦截模式。

① 观察模式:当设备工作在观察模式时,拦截设备并不干预客户端与服务器的通信,只做监视。当半开连接数超过阈值时,会自动切换到拦截模式。观察模式如图5-10所示。

图5-10 观察模式

② 拦截模式:当设备工作在拦截模式时,设备会主动干预客户端与服务器的通信。也就是说,当客户端向服务器发送TCP SYN时,拦截设备会冒充服务器回应客户端,直到三次握手建立完成以后,拦截设备再冒充客户端向服务器发起连接,等到与服务器的连接建立完成后,拦截设备会退出会话,让客户端与服务器直接进行通信。拦截模式如图5-11所示。

图5-11 拦截模式

5.3.2 二层交换安全

在网络建设过程中,除了要考虑来自组织外部的攻击,还要考虑来自组织内部的攻击,本节将和大家讨论二层交换安全。

1. 关于CAM表溢出攻击

攻击原理:攻击者发送大量源自不同MAC地址的垃圾包,将交换机的CAM表堵满,迫使交换机像HUB一样进行泛洪(交换机的特性是未知单播泛洪,每台交换机的CAM表占用的空间都是有限的,如果满了,交换机会自动清空)。

缓解方法:使用端口安全技术(Port Security)严格控制接口接入的具体MAC地址和数量。

2. 关于VLAN跳跃攻击

VLAN跳跃攻击有如下几种手段。

1)利用DTP实施VLAN跳跃攻击

攻击方法:很多交换机都开启了动态Trunk(DTP)的主动协商,如某厂商的SW3550,大家会发现,如果用一根网线将两台3550交换机连接起来,它们会自动协商为Trunk,原因就是它们默认开启了DTP的主动协商。如果一位攻击者使用一台PC安装一块服务器网卡,就可以轻松地与交换机协商Trunk。一旦协商完成,就可以随意访问任何VLAN(某些品牌交换机的Trunk默认允许所有VLAN流量通过,而某些品牌交换机的Trunk默认只允许默认VLAN,即VLAN1的流量通过)。

解决方法:可以通过关闭交换机的DTP主动协商来缓解此类攻击。

2)利用双层TAG实施VLAN跳跃攻击

攻击方法:攻击者要想实施双层TAG攻击的前提是接入Native VLAN,然后在封装帧时前面打两层TAG,最外面一层是Native VLAN ID,第二层是要攻击的VLAN ID。当这个帧进入第一台交换机时,第一层标签被摘掉,并送入Native VLAN,如VLAN 1。当这个帧进入sw1和sw2之间的Trunk时,由于它处于Native VLAN,因此不再封装新的TAG,这样它原本的第二层TAG就显露出来了。当进入sw2时,再摘掉第二个TAG,也就是想要攻击的VLAN,这样就成功地实施了VLAN跳跃攻击,但此类攻击为单向攻击(关于Native VLAN的作用,如果交换机二层出现故障,Native VLAN可以保证交换机的正常工作。Native VLAN的特点是穿越Trunk时不打TAG)。

关于双层TAG实现的VLAN跳跃攻击的缓解方式:更改默认的Native VLAN ID,使用一个不常用的VLAN作为Native VLAN,如767,并且Trunk的交换机Native VLAN ID要保持一致。

将所有不使用的接口shutdown划入这个新创建的Native VLAN。

3)多域VLAN跳跃攻击

当数据流量和语音流量共同接入一个交换机接口时,有可能发生PC攻击语音VLAN的情况,攻击方法就是PC封装语音VLAN TAG发送到交换机。

关于缓解此类攻击,一般来说,如果是高级IP Phone,那么在“选项”菜单中可以设置语音安全,这样IP Phone会自动阻碍PC发来的攻击流量。如果IP Phone型号比较低,没有这个功能,就需要在交换机上做相应设置,来进行语音VLAN保护。

3. DHCP攻击

DHCP攻击主要分为DHCP枯竭攻击和非法DHCP攻击两种,并且这两种攻击方式往往是并存且存在协作关系的。

攻击方法:通常来说,攻击者首先在网络内实施DHCP枯竭攻击,大量占用合法DHCP-Server的地址池。然后再实施非法DHCP攻击,向内网用户发送IP地址,这样可以实现中间人攻击。

1)DHCP枯竭攻击

源自不同MAC的攻击者向DHCP-Server申请大量IP地址,占用IP地址空间,这时的防范手段就是端口安全,使用Port-Security设置接口最大MAC接入数量可以有效缓解此类攻击。

如果攻击者使用攻击工具,可以不更改MAC地址,向DHCP-Server申请大量IP地址,这时使用端口安全来进行缓解是无法解决问题的,应该使用DHCP Snooping进行缓解。

2)非法DHCP攻击

攻击者首先实施了DHCP枯竭攻击,然后再架设一个非法的DHCP服务器向没能从合法DHCP Server获得IP地址的用户提供DHCP服务。不但可以发送IP地址,还可以发送网关及DNS地址,从而实现中间人攻击。

缓解方法是配置DHCP Snooping,DHCP Snooping技术可以检查DHCP包内容,以及限制DHCP包的发送速率。