为什么需要关注交换机安全 ???
- 纵轴:网络设备(防火墙、路由器、交换机)
- 横轴:网络模型(边界和DMZ、核心和分布层、接入层)
这个图主要是说,防火墙、路由器、交换机一般分别放在边界或者DMZ、核心和分布层、接入层;
这些设备里面,为什么交换机最缺乏安全性呢?
- 首先,防火墙或者路由器一般都是放在核心机房,核心机房物理安全得到最大的保障(非管理人员一般无法进出核心机房)
- 其次,接入交换机一般零散分布,提供终端用户的接入(非管理人员都能比较轻易接触到接入层交换机)
交换机层面可能涉及的攻击形式以及防御措施:
针对这么多的攻击形式,我们大致可以分为四类:
- MAC Layer Attacks
- VLAN Attacks
- Spoofing Attacks
- Switch Device Attacks
一、VLAN跳跃攻击
利用Trunk或Double Tag(native)实现从对其他VLAN的信息嗅探或攻击
应对措施:
- 将空闲端口置为access模式(trunk off),甚至shutdown;
- 修改Native VLAN,避免与在用VLAN相同。
二、STP欺骗攻击
通过伪造错误的BPDU消息影响生成树拓扑
应对措施:
(1) 在接主机或路由器的接口(access)配置bpdu guard,这类接口不应收到BPDU,如果收到则将接口置为error disable状态。
接口下spanning-tree bpduguard enable
(2) 或在上述接口配置Root Guard,这类接口可以收到BPDU,但若是更优的BPDU,则接口置为error disable 状态,避免根桥改变。
接口下spanning-tree guard root
三、MAC欺骗攻击
盗用他人MAC地址伪造攻击,或非法接入网络窃取信息
应对措施:
- 端口安全,设置某物理端口可以允许的合法MAC地址,将非法MAC地址发送的流量丢弃,甚至将接口err-disable
- 静态添加CAM表项(MAC和端口、VLAN的绑定关系)
四、CAM/MAC泛洪攻击
通过不断伪造MAC地址并发送报文,促使交换机CAM表短时间内被垃圾MAC地址充斥,真实MAC被挤出,已知单播变未知单播,被迫泛洪,导致数据被嗅探。
应对措施:
端口安全,限制端口可允许学习的最大MAC地址个数
五、DHCP服务器欺骗攻击
通过非法DHCP服务器抢先为客户分配地址,通过下发伪造的gateway地址,将客户流量引导到“中间人”从而实现信息嗅探。
应对措施:
在三层交换机上配置DHCP Snooping,监听DHCP消息,拦截非法DHCP服务器的地址分配报文。
六、DHCP饥饿(地址池耗尽)
不断变换MAC地址,伪造DHCP请求消息,短时间内将DHCP服务器地址池中的地址消耗殆尽,导致合法用户无法获取IP地址。
应对措施:
- 同样使用端口安全技术,限制端口可允许学习的最大MAC地址个数,阻止攻击者通过变换MAC地址的方式伪造DHCP请求报文。
- 针对不变换MAC,仅变换CHADDR的情况下,在启用了DHCP Snooping技术的交换机配置DHCP限速,设定满足常规地址获取需求频率的阀值,超出的情况下阻塞、隔离试图异常获取地址的端口。
七、ARP欺骗
发布虚假的ARP reply消息,将客户消息引导至“中间人”,从而实现数据嗅探。
应对措施:
- 结合DHCP Snooping技术所记录的合法地址绑定表(正常通过DHCP获取的地址都在表中),利用Dynamic ARP inspection(DAI)技术,判断ARP reply内容是否合法,检验并丢弃非法ARP reply报文。
- 静态添加ARP与IP的关联表项(无需ARP request)
八、IP地址欺骗
盗用IP地址,非法访问网络或冒充他人发送攻击流量
应对措施:
- 结合DHCP Snooping记录的合法地址绑定表,利用IP Source Guard技术,判断IP地址是否合法,检验并丢弃非法IP流量。
- 使用基于接口的ACL,在相关接口只仅允许合法IP地址流量(deny非法IP)
九、针对交换机设备本身的攻击
截获CDP(明文)报文,获取交换机管理地址,后续进行密码暴力破解;截获Telnet报文(明文),嗅探口令。获取交换机管理权限后为所欲为。
应对措施:
- 在不必要的接口关闭CDP消息
- 重要设备尽可能不使用Telnet协议,转而使用加密传输的SSH协议登陆管理设备。由于SSH v1有众所周知的安全漏洞,建议采用v2。