最近,要求做端口安全的case越来越多。这里指的端口安全主要是通过绑定客户端MAC来限制端口接入的访问,vlan间的ACL不在今天的范围。
通过几天的实际调试,借鉴了前辈的经验,同时总结自己的调试心得,总结如下:
1、Cisco29系列交换机可以做基于2层的端口安全,即mac地址与端口进行绑定。
2、Cisco3550以上交换机均可做基于2层和3层的端口安全,即mac地址与端口绑定以及mac地址与ip地址绑定。
3、以cisco3550交换机为例
做mac地址与端口绑定的可以实现两种应用:
a、设定一端口只接受第一次连接该端口的计算机mac地址,当该端口第一次获得某计算机mac地址后,其他计算机接入到此端口所发送的数据包则认为非法,做丢弃处理。
b、设定一端口只接受某一特定计算机mac地址,其他计算机均无法接入到此端口。
4、破解方法:网上前辈所讲的破解方法有很多,主要是通过更改新接入计算机网卡的mac地址来实现,但本人认为,此方法实际应用中基本没有什么作用,原因很简单,如果不是网管,其他一般人员平时根本不可能去注意合法计算机的mac地址,一般情况也无法进入合法计算机去获得mac地址,除非其本身就是该局域网的用户。
5、实现方法:
针对第3条的两种应用,分别不同的实现方法
a、接受第一次接入该端口计算机的mac地址:
Switch#config terminal
Switch(config)#interface interface-id 进入需要配置的端口
Switch(config-if)#switchport mode access 设置为交换模式
Switch(config-if)#switchport port-security 打开端口安全模式
Switch(config-if)#switchport port-security violation {protect | restrict | shutdown } //针对非法接入计算机,端口处理模式{丢弃数据包,不发警告 | 丢弃数据包,在console发警告 | 关闭端口为err-disable状态,除非管理员手工激活,否则该端口失效。
b、接受某特定计算机mac地址:
Switch#config terminal
Switch(config)#interface interface-id
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security violation {protect | restrict | shutdown }//以上步骤与a同
Switch(config-if)#switchport port-security mac-address sticky
Switch(config-if)#switchport port-security aging static //打开静态映射
Switch(config-if)#switchport port-security mac-address sticky XXXX.XXXX.XXXX //为端口输入特定的允许通过的mac地址
mac地址与ip地址绑定基本原理:
在交换机内建立mac地址和ip地址对应的映射表。端口获得的ip和mac地址将匹配该表,不符合则丢弃该端口发送的数据包。
实现方法:
Switch#config terminal
Switch(config)#arp 1.1.1.1 0001.0001.1111 arpa
该配置的主要注意事项:需要将网段内所有IP都建立MAC地址映射,没有使用的IP地址可以与0000.0000.0000建立映射。否则该绑定对于网段内没有建立映射的IP地址无效。