[摘要]目前这类攻击和欺骗工具已经非常成熟和易用,而目前企业在部署这方面的防范还存在很多不足,有很多工作要做。思科针对这类攻击已有较为成熟的解决方案,主要基于下面的几个关键的技术: Port Securit...
目前这类攻击和欺骗工具已经非常成熟和易用,而目前企业在部署这方面的防范还存在很多不足,有很多工作要做。思科针对这类攻击已有较为成熟的解决方案,主要基于下面的几个关键的技术: Port Security feature DHCP Snooping Dynamic ARP Inspection (DAI) IP Source Guard
下面部分主要针对目前非常典型的二层攻击和欺骗说明如何在思科交换机上组合运用和部署上述技术,从而实现防止在交换环境中实施“中间人”攻击、 MAC/CAM 攻击、 DHCP 攻击、地址欺骗等,更具意义的是通过上面技术的部署可以简化地址管理,直接跟踪用户 IP 和对应的交换机端口;防止 IP 地址冲突。同时对于大多数对二层网络造成很大危害的具有地址扫描、欺骗等特征的病毒可以有效的报警和隔离。
1 MAC/CAM攻击的防范
1.1MAC/CAM攻击的原理和危害
交换机主动学习客户端的 MAC 地址,并建立和维护端口和 MAC 地址的对应表以此建立交换路径,这个表就是通常我们所说的 CAM 表。 CAM 表的大小是固定的,不同的交换机的 CAM 表大小不同。 MAC/CAM 攻击是指利用工具产生欺骗 MAC ,快速填满 CAM 表,交换机 CAM 表被填满后,交换机以广播方式处理通过交换机的报文,这时攻击者可以利用各种嗅探攻击获取网络信息。 CAM 表满了后,流量以洪泛方式发送到所有接口,也就代表 TRUNK 接口上的流量也会发给所有接口和邻接交换机,会造成交换机负载过大,网络缓慢和丢包甚至瘫痪。
1.2典型的病毒利用MAC/CAM攻击案例
曾经对网络照成非常大威胁的 SQL 蠕虫病毒就利用组播目标地址,构造假目标 MAC 来填满交换机 CAM 表。
1.3使用 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.4配置
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 最大 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 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 mac-address sticky switchport port-security mac-address sticky 000b.db1d.6ccd switchport port-security mac-address sticky 000b.db1d.6cce switchport port-security mac-address sticky 000d.6078.2d95 switchport port-security mac-address sticky 000e.848e.ea01
1.5使用 其它技术 防范MAC/CAM攻击
除了 Port Security 采用 DAI 技术也可以防范 MAC 地址欺骗。
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 技术,对于有些用户随便指定地址,造成网络地址冲突也可以利用后面提到的 DAI 和 IP Source Guard 技术。这部分着重介绍 DHCP 冒用的方法技术。
2.2DHCP Snooping技术概况
DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息,如下表所示: cat4507#sh ip dhcp snooping binding MacAddress IpAddress Lease(sec) Type VLAN Interface ------------------ --------------- ---------- ------- ---- ----------------- 00:0D:60:2D:45:0D 10.149.3.13 600735 dhcp-snooping 100 GigabitEthernet1/0/7
这张表不仅解决了 DHCP用户的IP和端口跟踪定位问题,为用户管理提供方便,而且还供给动态ARP检测DA)和IP Source Guard使用
2.3基本防范
首先定义交换机上的信任端口和不信任端口,对于不信任端口的 DHCP 报文进行截获和嗅探, DROP 掉来自这些端口的非正常 DHCP 报文,如下图所示:
基本配置示例如下表:
IOS 全局命令: ip dhcp snooping vlan 100,200 /* 定义哪些 VLAN 启用 DHCP 嗅探 ip dhcp snooping 接口命令 ip dhcp snooping trust no ip dhcp snooping trust (Default) ip dhcp snooping limit rate 10 (pps) /* 一定程度上防止 DHCP 拒绝服 /* 务攻击 手工添加 DHCP 绑定表 ip dhcp snooping binding 1.1.1 vlan 1 1.1.1.1 interface gi1/1 expiry 1000 导出 DHCP 绑定表到 TFTP 服务器 ip dhcp snooping database tftp:// 10.1.1 .1/directory/file
需要注意的是 DHCP 绑定表要存在本地存贮器 (Bootfalsh 、 slot0 、 ftp 、 tftp) 或导出到指定 TFTP 服务器上,否则交换机重启后 DHCP 绑定表丢失,对于已经申请到 IP 地址的设备在租用期内,不会再次发起 DHCP 请求,如果此时交换机己经配置了下面所讲到的 DAI 和 IP Source Guard 技术,这些用户将不能访问网络。
2.3高级防范
通过交换机的端口安全性设置每个 DHCP 请求指定端口上使用唯一的 MAC 地址,通常 DHCP 服务器通过 DHCP 请求的报文中的 CHADDR 段判断客户端 MAC 地址,通常这个地址和客户端的真是 IP 相同,但是如果攻击者不修改客户端的 MAC 而修改 DHCP 报文中 CHADDR ,实施 Dos 攻击, Port Security 就不起作用了, DHCP 嗅探技术可以检查 DHCP 请求报文中的 CHADDR 字段,判断该字段是否和 DHCP 嗅探表相匹配。这项功能在有些交换机是缺省配置的,有些交换机需要配置,具体需要参考相关交换机的配置文档。
3 ARP欺骗/ MITM(Man-In-The-Middle)攻击原理和防范
3.1 MITM(Man-In-The-Middle) 攻击原理
按照 ARP 协议的设计,为了减少网络上过多的 ARP 数据通信,一个主机,即使收到的 ARP 应答并非自己请求得到的,它也会将其插入到自己的 ARP 缓存表中,这样,就造成了“ ARP 欺骗”的可能。如果黑客想探听同一网络中两台主机之间的通信(即使是通过交换机相连),他会分别给这两台主机发送一个 ARP 应答包,让两台主机都“误”认为对方的 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 应答包,如图 所示
上面是电脑上网安全的一些基础常识,学习了安全知识,几乎可以让你免费电脑中毒的烦扰。
关键词:Cisco交换机防范ARP欺骗与二层攻击