登录站点

用户名

密码

培训笔记3:交换机安全

已有 1754 次阅读  2013-05-13 13:54   标签交换机  安全 

MAC Flooding Attack

向交换机发送大量无效的MAC地址,占满其CAM表,致使正常的MAC无法学习而导致流量泛洪。

防护:设置MAC地址数限制、指定允许的MAC地址、定义违规行为(protect/restrict/shutdown

 

Switchport port-security 启用端口安全,缺省这个端口只支持一个MAC地址(可以静态指定,可以动态学习)

Switchport port-security maximum 指定端口最多可以学习的MAC地址个数(VoIP端口至少要把这个值设为2,以支持一个IP电话和一台PC

Switchport port-security aging 学到的地址缺省不过期,这命令指定地址过期时间

Switchport port-security violation {shutdown|protect|restrict}

三种方式下,当违规时端口都将变为err-disable状态,LED灯灭。Protectrestrict方式下当违规消除后端口又变为可用状态,而shutdown方式需管理员手工no shutProtect方式不会记录违规行为,restrictshutdown会发送SNMP TrapsyslogLOG服务器,并把违规计数器加1.

 

端口安全不能配置在trunk端口,因为地址会频繁变化

 

802.1x:基于端口的认证

IEEE 802.1X认证成功之前,交换机端口为桔色指示灯,客户连接的端口LAN上只允许传递可扩展的认证协议(EAPOLEAP over LAN),CDP和生成树的STP。只有认证成功后才可以传递正常的流量。

 

基于EAP-MD5802.1x认证流程:

(1)  客户端向接入设备发送一个EAPoL-Start报文,开始802.1x认证接入;

(2)  接入设备向客户端发送EAP-Request/Identity报文,要求客户端将用户名送上来;

(3)  客户端回应一个EAP-Response/Identity给接入设备的请求,其中包括用户名;

(4)  接入设备将EAP-Response/Identity报文封装到RADIUS Access-Request报文中,发送给认证服务器;

(5)  认证服务器产生一个Challenge,通过接入设备将RADIUS Access-Challenge报文发送给客户端,其中包含有EAP-Request/MD5-Challenge

(6)  接入设备通过EAP-Request/MD5-Challenge发送给客户端,要求客户端进行认证;

(7)  客户端收到EAP-Request/MD5-Challenge报文后,将密码和ChallengeMD5算法后的Challenged-Pass-word,在EAP-Response/MD5-Challenge回应给接入设备;

(8)  接入设备将ChallengeChallenged Password和用户名一起送到RADIUS服务器,由RADIUS服务器进行认证;

(9)  RADIUS服务器根据用户信息,做MD5算法,判断用户是否合法,然后回应认证成功/失败报文到接入设备。如果成功,携带协商参数,以及用户的相关业务属性给用户授权。如果认证失败,则流程到此结束;

(10)  如果认证通过,用户通过标准的DHCP协议(可以是DHCP Relay),通过接入设备获取规划的IP地址;

(11)  如果认证通过,接入设备发起计费开始请求给RADIUS用户认证服务器;

(12)  RADIUS用户认证服务器回应计费开始请求报文。用户上线完毕。

 

在接口下,通过命令dot1x port-control来指定端口的授权状态,参数意义如下:

dot1x port-control force-authorized: Disables 802.1x port-based authentication and causes the port to transition to the authorized state without any authentication exchange required. The port transmits and receives normal traffic without 802.1x-based authentication of the client. This is the default setting.

dot1x port-control force-unauthorized: Causes the port to remain in the unauthorized state, ignoring all attempts by the client to authenticate. The switch cannot provide authentication services to the client through the interface.

dot1x port-control auto: Enables 802.1x port-based authentication and causes the port to begin in the unauthorized state, allowing only EAPOL frames to be sent and received through the port.

 

VLAN Attack

攻击者接入交换机后先设法将链路协商为trunk,继而对其它VLAN实施攻击

解决方法:PVLANprivate VLAN):Primary VLANsecondary VLANisolated vlan and community vlan

VLAN分两种,隔离VLAN和团体VLAN,属于隔离VLAN的端口称隔离端口,属于团体VLAN的端口称团体端口,属于主VLAN的端口称混杂端口。

混杂端口可跟所有端口通信,隔离端口只能跟混杂端口通信,团体端口可以跟混杂端口通信,还可以跟相同VLAN的团体端口通信。

 

DHCP spoof attack

欺骗者响应DHCP客户机的请求,并给其分配一虚假IP。—“man in the middle

解决方法:交换机启用DHCP Snooping,所有端口都变成非信任状态,收到的DHCP响应包都丢弃。把接入层交换机的上行端口设置为信任状态。

 

ARP Spoofing

同样是“man in the middle”,欺骗者冒充网关,主机会将ARP表项中网关的MAC改为欺骗者的MAC,导致无法正常上网。

解决方法:动态ARP检查(DAI),需要与DHCP Snooping配合

 

STP攻击:

攻击主机向所连接的交换机发送BPDU导致生成树重新计算

解决方法:将接主机的端口上启用BPDU Guard

另外为避免接入层设备成为根,可在相应接口上启用根防护,spanning-tree guard root,意为这个端口不可能成为根口,因而与这个端口相连的设备不可能成为根。

还有一种情况,就是物理链路单向失效,导致单方向上BPDU传递失败,就会导致环路。解决方法是UDLD:单向失效链路检测。为了确保blocking端口收到BPDU,如果blocking端口收不到BPDU就会变成转发状态。早期使用loop guard,配置在所有非指定接口上,现在已经淘汰不用。

全局下启用UDLD enable,对所有光口生效。可以在非光口接口模式下启用UDLD

 

不同类型的端口收到BPDU时:

1.         Portfast端口:取消Portfast,正常处理BPDU

2.         BPDU guard端口:转入err-disable状态;

3.         BPDU filter端口:全局配置情况下,端口取消portfastBPDU filter,同正常端口一样收发BPDU;在接口配置情况下,会忽略收到的BPDU,而且从不发送BPDU

4.         Root guard端口:转入root-inconsistent状态,忽略收到的BPDU

另外: Loop guard端口如果没有收到BPDU,则进入loop-inconsistent状态,在此状态下如果收到BPDU则会转入正常状态,无需人为干预。

分享 举报