您的位置:首页 > 理论基础 > 计算机网络

交换网络安全防范系列

2010-07-03 00:12 337 查看
1 MAC/CAM攻击防范

1.1 MAC/CAM攻击的原理和危害

  交换机主动学习客户端的 MAC 地址,并建立和维护端口和 MAC 地址的对应表以此建立交换路径,这个表就是通常我们所说的 CAM 表。CAM 表的大小是固定的,不同的交换机的 CAM 表大小不同。MAC/CAM 攻击是指利用工具产生欺骗 MAC,快速填满 CAM 表,交换机 CAM 表被填满后,交换机以广播方式处理通过交换机的报文,这时攻击者可以利用各种嗅探攻击获取网络信息。CAM 表满了后,流量以洪泛方式发送到所有接口,会造成交换机负载过大,网络缓慢和丢包甚至瘫痪。

1.2 使用 Port Security feature 防范MAC/CAM攻击

  思科 Port Security feature 可以防止 MAC 和 MAC/CAM 攻击。通过配置 Port Security 可以控制:
  • 端口上最大可以通过的 MAC 地址数量
  • 端口上学习或通过哪些 MAC 地址
  • 对于超过规定数量的 MAC 处理进行违背处理

  端口上学习或通过哪些 MAC 地址,可以通过静态手工定义,也可以在交换机自动学习。交换机动态学习端口 MAC ,直到指定的 MAC 地址数量,交换机关机后重新学习。目前较新的技术是 Sticky Port Security,交换机将学到的 mac 地址写到端口配置中,交换机重启后配置仍然存在。

  对于超过规定数量的 MAC 处理进行处理一般有三种方式(针对交换机型号会有所不同):
  • Shutdown 。这种方式保护能力最强,但是对于一些情况可能会为管理带来麻烦,如某台设备中了病毒,病毒间断性伪造源 MAC 在网络中发送报文。
  • Protect 。丢弃非法流量,不报警。
  • Restrict 。丢弃非法流量,报警,对比上面会是交换机 CPU 利用率上升但是不影响交换机的正常使用。推荐使用这种方式。

1.3 配置

port-security 配置选项:
Switch(config-if)# switchport port-security ?
aging Port-security aging commands
mac-address Secure mac address
maximum Max secure addresses
violation Security violation mode
启用port-security,配置 port-security 静态mac地址、最大mac数目和违背处理方式,恢复方法
Cat4507(config)#int fastEthernet 3/48
Cat4507 (config-if)#switchport port-security
Cat4507 (config-if)#switchport port-security maximum 2
Cat4507 (config-if)#switchport port-security mac-address 0002.0002.0001 vlan 20
Cat4507 (config-if)#switchport port-security violation shutdown
Cat4507 (config)#errdisable recovery cause psecure-violation
Cat4507 (config)#errdisable recovery interval 30
通过配置 sticky port-security学得的MAC
interface FastEthernet3/29
switchport mode access
switchport port-security
switchport port-security maximum 5
switchport port-security violation shutdown
switchport port-security mac-address sticky

2 DHCP攻击的防范

2.1 采用DHCP管理的常见问题

  采用 DHCP server 可以自动为用户设置网络 IP 地址、掩码、网关、DNS、WINS 等网络参数,简化了用户网络设置,提高了管理效率。但在 DHCP 管理使用上也存在着一些另网管人员比较问题,常见的有:
  • DHCP server 的冒充。
  • DHCP server 的 Dos 攻击。
  • 有些用户随便指定地址,造成网络地址冲突。

  由于 DHCP 的运作机制,通常服务器和客户端没有认证机制,如果网络上存在多台 DHCP 服务器将会给网络照成混乱。由于用户不小心配置了 DHCP 服务器引起的网络混乱非常常见,足可见故意人为破坏的简单性。通常黑客攻击是首先将正常的 DHCP 服务器所能分配的 IP 地址耗尽,然后冒充合法的 DHCP 服务器。最为隐蔽和危险的方法是黑客利用冒充的 DHCP 服务器,为用户分配一个经过修改的 DNS server ,在用户毫无察觉的情况下被引导在预先配置好的假金融网站或电子商务网站,骗取用户帐户和密码,这种攻击是非常恶劣的。

  对于 DHCP server 的 Dos 攻击可以利用前面将的 Port Security 和后面提到的 DAI 技术,这部分着重介绍 DHCP 冒用的方法技术。

2.2 DHCP Snooping技术概况

  DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息,如下表所示:

MAC AddressIP AddressLeaseTypeVLANInterface
00:0D:60:2D:45:0D10.149.3.13600735dhcp-snooping100G1/0/7
  这张表不仅解决了 DHCP用户的IP和端口跟踪定位问题,为用户管理提供方便,而且还供给动态ARP检测DAI和IP Source Guard使用。

  Dhcp-snooping将交换机上的端口分为信任端口和不信任端口,对于不信任端口的 DHCP 报文进行截获和嗅探, DROP 掉来自这些端口的非正常 DHCP 报文,如下图所示:



2.3 配置

IOS 全局命令:
ip dhcp snooping vlan 100,200 /* 定义哪些 VLAN 启用 DHCP 嗅探
ip dhcp snooping /*启用DHCP-SNOOPING功能
ip dhcp snooping database tftp:// 10.1.1 .1/directory/file/*导出 DHCP 绑定表到 TFTP 服务器。
需要注意的是 DHCP 绑定表要存在本地存贮器 (Bootfalsh 、 slot0 、 ftp 、 tftp) 或导出到指定TFTP服务器上,否则交换机重启后DHCP绑定表丢失,对于已经申请到IP地址的设备在租用期内,不会再次发起DHCP请求,如果此时交换机己经配置了下面所讲到的DAI和IP Source Guard技术,这些用户将不能访问网络。

接口命令:
ip dhcp snooping trust /*定义该接口为信任端口
ip dhcp snooping limit rate 10 /* 定义DHCP报文的发送率,一定程度上防止 DHCP 拒绝服务攻击

2.4 高级防范

  通过交换机的端口安全性设置每个DHCP请求指定端口上使用唯一的MAC地址,通常DHCP服务器通过DHCP请求的报文中的CHADDR段判断客户端MAC地址,通常这个地址和客户端的真是IP相同,但是如果攻击者不修改客户端的MAC而修改DHCP报文中CHADDR,实施Dos攻击,Port Security就不起作用了,DHCP嗅探技术可以检查DHCP请求报文中的CHADDR字段,判断该字段是否和DHCP嗅探表相匹配。这项功能在有些交换机是缺省配置的,有些交换机需要配置,具体需要参考相关交换机的配置文档。

3 ARP欺骗攻击防范

3.1 MITM(Man-In-The-Middle)攻击原理

  按照ARP协议的设计,为了减少网络上过多的ARP数据通信,一个主机,即使收到的ARP应答并非自己请求得到的,它也会将其插入到自己的ARP缓存表中,这样,就造成了“ ARP 欺骗”的可能。如果黑客想探听同一网络中两台主机之间的通信(即使是通过交换机相连),他会分别给这两台主机发送一个 ARP 应答包,让两台主机都“误”认为第三方黑客的主机MAC地址是对方的MAC地址,这样,双方看似“直接”的通信连接,实际上都是通过黑客所在的主机间接进行的。黑客一方面得到了想要的通信内容,另一方面,只需要更改数据包中的一些信息,成功地做好转发工作即可。在这种嗅探方式中,黑客所在主机是不需要设置网卡的混杂模式的,因为通信双方的数据包在物理上都是发送给黑客所在的中转主机的。

  这里举个例子,假定同一个局域网内,有 3 台主机通过交换机相连:
  A 主机:IP 地址为 192.168.0.1,MAC 地址为 01:01:01:01:01:01;
  B 主机:IP 地址为 192.168.0.2,MAC 地址为 02:02:02:02:02:02;
  C 主机:IP 地址为 192.168.0.3,MAC 地址为 03:03:03:03:03:03。

  B 主机对 A 和 C 进行欺骗的前奏就是发送假的 ARP 应答包,如图所示:

  在收到 B 主机发来的ARP应答后,A 主机应知道: 到 192.168.0.3 的数据包应该发到 MAC 地址为 020202020202 的主机; C 主机也知道:到 192.168.0.1 的数据包应该发到 MAC 地址为 020202020202 的主机。这样, A 和 C 都认为对方的 MAC 地址是 020202020202 ,实际上这就是 B 主机所需得到的结果。当然,因为 ARP 缓存表项是动态更新的,其中动态生成的映射有个生命期,一般是两分钟,如果再没有新的信息更新, ARP 映射项会自动去除。所以, B 还有一个“任务”,那就是一直连续不断地向 A 和 C 发送这种虚假的 ARP 响应包,让其 ARP缓存中一直保持被毒害了的映射表项。



  现在,如果 A 和 C 要进行通信,实际上彼此发送的数据包都会先到达 B 主机,这时,如果 B 不做进一步处理, A 和 C 之间的通信就无法正常建立, B 也就达不到“嗅探”通信内容的目的,因此, B 要对“错误”收到的数据包进行一番修改,然后转发到正确的目的地,而修改的内容,无非是将目的 MAC 和源 MAC 地址进行替换。如此一来,在 A 和 C 看来,彼此发送的数据包都是直接到达对方的,但在 B 来看,自己担当的就是“第三者”的角色。这种嗅探方法,也被称作“ Man-In-The-Middle ”的方法。如图 所示。



3.2 防范方法

  思科 Dynamic ARP Inspection(DAI)在交换机上提供IP地址和MAC地址的绑定,并动态建立绑定关系。DAI 以 DHCP Snooping绑定表为基础,对于没有使用DHCP的服务器个别机器可以采用静态添加ARP access-list实现。DAI配置针对VLAN,对于同一VLAN内的接口可以开启DAI也可以关闭。通过DAI可以控制某个端口的ARP请求报文数量。通过这些技术可以防范“中间人”攻击。

3.3 配置示例

IOS 全局命令:
ip dhcp snooping vlan 100,200
no ip dhcp snooping information option
ip dhcp snooping
ip arp inspection vlan 100,200 /* 定义对哪些 VLAN 进行 ARP 报文检测
ip arp inspection log-buffer entries 1024
ip arp inspection log-buffer logs 1024 interval 10

IOS 接口命令:
ip arp inspection trust /* 定义哪些接口是信任接口,通常是网络设备接口
ip arp inspection limit rate 15 (pps) /* 定义接口每秒 ARP 报文数量
对于没有使用 DHCP 设备可以采用下面办法:
arp access-list static-arp
permit ip host 10.66.227.5 mac host 0009.6b88.d387
ip arp inspection filter static-arp vlan 201

3.4 配置DAI后的效果

  • 在配置 DAI技术的接口上,用户端只能采用指定地址接入网络。
  • 由于 DAI检查 DHCP snooping绑定表中的IP和MAC对应关系,无法实施中间人攻击,攻击工具失效。下表为实施中间人攻击是交换机的警告:
3w0d: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa5/16, vlan 1.([000b.db1d.6ccd/192.168.1.200/0000.0000.0000/192.168.1.2
  • 由于对 ARP请求报文做了速度限制,客户端无法进行认为或者病毒进行的IP扫描、探测等行为,如果发生这些行为,交换机马上报警或直接切断扫描机器。如下表所示:
3w0d: %SW_DAI-4-PACKET_RATE_EXCEEDED: 16 packets received in 184 milliseconds on Fa5/30. ******报警
3w0d: %PM-4-ERR_DISABLE: arp-inspection error detected on Fa5/30, putting Fa5/ 30 in err-disable state ******切断端口
I49-4500-1#.....sh int f.5/30
FastEthernet5/30 is down, line protocol is down (err-disabled)
Hardware is Fast Ethernet Port , address is 0002.b90e .3f 4d (bia 0002.b90e .3f 4d)
MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 1/255
I49-4500-1#......
  • 用户获取 IP地址后,用户不能修改IP或MAC,如果用户同时修改IP和MAC必须是网络内部合法的IP和MAC才可,对于这种修改可以使用下面讲到的 IP Source Guard技术来防范。下表为手动指定IP的报警:
3w0d: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa5/30, vlan 1.([000d.6078.2d95/192.168.1.100/0000.0000.0000/192.168.1.100/01:52:28 UTC Fri Dec 29 2000 ])

4 IP/MAC欺骗防范

4.1 常见的欺骗攻击的种类和目的

  常见的欺骗种类有 MAC欺骗、IP欺骗、IP/MAC欺骗,其目的一般为伪造身份或者获取针对IP/MAC的特权。当目前较多的是攻击行为:如Ping Of Death、syn flood、ICMP unreacheable Storm,另外病毒和木马的攻击也具有典型性,下面是木马攻击的一个例子。

4.2 IP/MAC欺骗的防范

  IP Source Guard 技术配置在交换机上仅支持在 2 层端口上的配置,通过下面机制可以防范 IP/MAC 欺骗:
  • IP Source Guard 使用 DHCP sooping 绑定表信息。
  • 配置在交换机端口上,并对该端口生效。
  • 运作机制类似 DAI,但是 IP Source Guard检查所有经过定义IP Source Guard检查的端口的报文。
  • IP Source Guard检查接口所通过的流量的IP地址和MAC地址是否在DHCP sooping绑定表,如果不在绑定表中则阻塞这些流量。
通过在交换机上配置 IP Source Guard:
  • 可以过滤掉非法的 IP地址,包含用户故意修改的和病毒、攻击等造成的。
  • 解决 IP地址冲突问题。
  • 提供了动态的建立 IP+MAC+PORT的对应表和绑定关系,对于不使用DHCP的服务器和一些特殊情况机器可以采用利用全局命令静态手工添加对应关系到绑定表中。
  • 配置 IP Source Guard的接口初始阻塞所有非DHCP流量。
  • 不能防止“中间人攻击”。

4.3 配置示例

IOS 全局配置命令:

ip dhcp snooping vlan 12,200
ip dhcp snooping information option
ip dhcp snooping
ip source binding 0009.6b88.d387 vlan 212 10.66.227.5 interface Gi4/5/*不使用 DHCP 的静态配置

接口配置命令:
ip verify source vlan dhcp-snooping
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: