zoukankan      html  css  js  c++  java
  • 交换式攻击类型及防范

    交换式攻击类型及防范

    作者:Danbo 2015-9-28

    常见的交换式数据攻击有一下几类:

    1.VLAN跳跃攻击(VLAN Hopping Attack)
    2.CAM泛洪攻击(CAM Flooding Attack)
    3.MAC地址欺骗(MAC Address Spoofing)
    4.STP欺骗攻击(STP Spoofing Attack)
    5.DHCP耗竭攻击(DHCP Starvation Attack)
    6.DHCP服务器欺骗(DHCP Server Spoofing)
    7.ARP欺骗(ARP Spoofing)
    8.IP欺骗(IP Spoofing)

    VLAN跳跃攻击

    在二层安全概念中,如果流量不经路由(即不采用三层设备)就从一个VLAN被转发到另一个VLAN,则数据存在被链接的风险。

    VLAN跳跃攻击可以分为两种:
    1.交换机欺骗(Switch Spoofing):攻击者向目标交换机发送DTP协商消息,诱使目标交换机端口成为中继端口。进入中继模式之后,攻击者就能够获取所有VLAN的流量。
    2.双层标记(double tagging):利用802.1Q双层标记。攻击者向第一台交换机发送一个带有双层标记的帧,其中外部标记指向本征VLAN,内部标记指向目标VLAN。第一台交换机在收到该帧之后将外层标记剥离,并将其从Trunk端口发出去,然后第二台交换机收到后剥离内层标记转发给目标VLAN。

    CAM泛洪攻击

    交换机的CAM表存储了MAC地址交换机端口相关联的VLAN参数等信息,其容量是固定的。当交换机收到一个未知单播帧的时候,会把该帧从除源端口之外的所有端口转发出去。由于CAM表的容量有限,因此处于非活动状态的地址条目将在一段时间后消失。在现有的地址条目失效前,如果大量地址被填充到CAM表中,则CAM表将无法继续学习心得条目,交换机将把之后收到的流量从除源端口之外的所有端口转发出去,这种现象称为CAM表溢出(CAM Table Overflow)或CAM泛洪(CAM Flooding)。

    广播域泛洪的区别:广播向包括源端口在内的所有端口发送流量,而泛洪向除源端口之外的所有端口发送流量;广播发送的是真正的广播流量,而泛洪发送的是普通的数据流量。

    MAC地址欺骗

    攻击者将自己的MAC地址伪装成合法主机的MAC地址,则可以实施MAC地址欺骗,诱使交换机将本应传输给合法主机的流量转发给攻击者。

    STP欺骗攻击

    攻击者为控制的交换机设置一个比现有根桥更低的优先级,并向网路中广播配置BPDU,强迫所有交换机重新选举根桥。而后攻击者将获得所有通过根桥转发的流量。

    DHCP耗竭攻击

    在DHCP耗竭攻击中,攻击者通过大量伪造的MAC地址广播DHCP请求。由于DHCP服务器无法判断MAC地址的真实性,它将把IP地址分配给这些虚假的MAC地址。这会造成可用的IP地址耗竭,导致合法用户无法获得IP地址并访问网络资源。

    DHCP服务器欺骗

    在合法的DHCP服务器瘫痪之后,攻击者可以伪造一台DHCP服务器来响应网络中其他主机的DHCP请求。为了增强攻击效果,DHCP服务器欺骗经常与DHCP耗竭攻击配合使用,非法DHCP服务器将所有流量发送给一个伪造的网关,以便攻击者拦截与分析。

    ARP欺骗

    ARP是一种将局域网内的IP地址解析为MAC地址的协议,攻击者也可以利用ARP实施MAC地址欺骗。如果源主机希望获得另一个主机的MAC地址,它将在本地网络中广播ARP请求。收到ARP请求的目标主机向源主机返回一个包含自己MAC地址的ARP响应,源主机根据该ARP相应更新其ARP缓存。但是,攻击者可以伪装成源主机,诱使受害者将原本发给源主机的流量发给自己。

    无故ARP用于向本地网络通报某个IP地址关联的MAC地址,以避免IP地址冲突。主机在本网络中广播一个目标IP地址为自己IP地址的GARP请求,如果有设备相应该请求,则说明网络中存在IP地址冲突。另一方面,攻击者也可以利用GARP改变IP地址与MAC地址之间的映射,从而发动中间人攻击。

    IP欺骗

    在IP欺骗中,攻击者冒用可信主机或已知网络的IP地址收发流量,进而访问只对该地址开放的网络资源。

    交换机数据面安全技术

    端口配置

    中继端口的本征VLAN用于承载非标记流量。也就是说,在链路中传输的本征VLAN流量是没有标签的。如果到达交换机的流量需要从中继链路转发,且该流量的VLAN标记指向本征VLAN,则交换机首先将该流量的标记剥离,然后再从中继链路转发出去。攻击者可以利用这一点发动双层标记VLAN跳跃攻击。

    采取以下措施能组织这种攻击:

    1.将本征VLAN设置一个不使用的VLAN;
    2.在中继链路中对本征VLAN进行修剪;
    3.强制交换机为所有本征VLAN流量打上标记;

    我们通常采用一下做法:
    switchport trunk native vlan 555
    switchport trunk allow vlan remove 555
    switchport trunk vlan native tag

    注意:如果本征VLAN为VLAN1,则无法被修剪;如果本征VLAN改为其他VLAN,则可以被修剪,也不会影响CDP、DTP、PAgP等协议的传输。

    管理员在配置交换机时应准遵循以下原则:
    1.禁用所有不使用的端口,并将他们划分到一个不适用的VLAN中;
    2.将所有用户端口配置为访问模式并禁用DTP协商;
    3.将交换机之间的链路配置为中继模式并禁用DTP协商;
    4.不要使用VLAN1作为交换机的管理VLAN1。

    端口安全

    采用端口安全机制可以有助于降低CAM防洪攻击、MAC地址欺骗以及DHCP消耗攻击造成的危害。
    1.静态(static)安全MAC地址:为交换机端口手动配置的MAC地址,储存在CAM表与运行配置中;
    2.动态(dynamic)安全MAC地址:交换机端口动态学习到的MAC地址,仅存储在CAM表中。交换机在重启后必须重新学习;
    3.粘滞(sticky)安全MAC地址:交换机端口动态学习到的MAC地址,存储在CAM表与运行配置中。交换机在重启后不会被移除,无需重新学习;(注意与Dynamic的区别)

    当端口安全违规后,端口可以采取以下三种行为之一:
    1.保护(protect):当端口配置的安全MAC地址熟练达到上限之后,除非移除部分现有地址或增加端口允许学习地址的上限数量,否则源端口将丢弃收到的任何源MAC地址未知的帧。交换机不会向管理员发送违规通知
    2.限制(restrict):------,端口将丢弃之后收到的任何源MAC地址未知的帧。交换机向管理员发送SNMP自陷消息、将违规事件计入系统日志并递增违规计时器;
    3.关闭(shutdown):违规事件发生后,端口将进入错误禁用(err-disabled)状态并熄灭端口指示灯。交换机向管理员发送SNMP自陷消息、将违规事件记入系统日志并递增违规计时器。这种行为是端口的默认行为。

    端口安全配置命令:
    1.switchport port-security
    2.switchport port-security maximum *  #指定MAC地址上限
    3.switchport port-security violation protect | restrict | shutdown
    4.switchport port-security mac-address  #设置安全MAC地址,如果未达到安全上限,则可以通过动态学习。
    5.switchport port-security mac-address sticky   #通过粘滞学习MAC地址。
    6.show port-security

  • 相关阅读:
    几个影响sql性能语句的例子
    orderby工作原理 + 最小代价取随机数
    count(*)实现原理+两阶段提交总结
    脏页flush和收缩表空间
    mysql本身用错索引+给字符串字段加索引
    Java概念辨析:equals和== equals和hashCode
    abstract方法必须在abstract类中 这句话是对的还是错的?
    java实际项目中interface和abstract interface 区别
    【timeisprecious】【JavaScript 】JavaScript String 对象
    Linux学习(三)putty,xshell使用以及密匙登陆
  • 原文地址:https://www.cnblogs.com/danbo/p/4843961.html
Copyright © 2011-2022 走看看