端口安全(Port Security),从基本原理上讲,Port Security特性会通过MAC地址表记录连接到交换机端口的以太网MAC地址(即网卡号),并只允许某个MAC地址通过本端口通信。其他MAC地址发送的数据包通过此端口时,端口安全特性会阻止它。使用端口安全特性可以防止未经允许的设备访问网络,并增强安全性。另外,端口安全特性也可用于防止MAC地址泛洪造成MAC地址表填满。
要实现端口安全,可以用地址绑定的方式来实现。即在某一端口绑定一台设备的网卡MAC地址,绑定后仅允许这台设备来进行访问。若存其他设备进行访问,便会触发惩罚机制(如限制,关闭端口等),从而拒绝未经允许的设备的访问请求。
GW
GW(config)#interface g0/0
GW(config-if)#ip address 192.168.1.1 255.255.255.0
GW(config-if)#no shutdown
GW(config-if)#exit
SW
SW(config)#interface g0/1
SW(config-if)#switchport mode access
SW(config-if)#exit
SER
SER(config)#interface g0/0
SER(config-if)#ip address 192.168.1.10 255.255.255.0
SER(config-if)#no shutdown
SER(config-if)#exit
测试连通性,得出结论:连通性良好,各设备可以进行通信。
动态绑定
最简单的形式,就是Port Security需要指向一个已经启用的端口并输入Port Security接口模式命令。这种配置下第一台接入此端口的设备为默认安全设备。 SW
SW(config-if)#switchport port-security //只答应一个MAC地址的默认设置
//Command rejected: GigabitEthernet0/1 is a dynamic port.
//若有多台接入设备需要做端口安全策略,可使用如下命令
SW(config-if)#switchport port-security maximum +设备数量
查看SER的信息,可从中查询到相应的MAC地址
查看相关的安全策略
SW#show port-security interface g0/1
Port Security : Disabled
Port Status : Secure-down
Violation Mode : Shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 1
Total MAC Addresses : 0
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : 0000.0000.0000:0
Security Violation Count : 0
SW#show mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 5000.0002.0000 DYNAMIC Gi0/1
1 5000.0003.0000 DYNAMIC Gi0/2
Total Mac Addresses for this criterion: 2
可验证:当接入的设备为非法设备时,该端口将down掉,从而阻止非法设备的访问。
缺点:1.动态绑定默认第一台接入的设备为安全设备,容易发生错误的绑定等情况。 2.交换机重启后MAC表中的MAC地址会丢失,需要重新学习MAC地址。若一台非法设备接入后将交换机断电重启,此时交换机会认为该设备为安全设备,从而产生安全隐患。
静态绑定
在动态绑定的时候我们发现有一个缺点就是,第一个接入交换机的MAC地址会被绑定动态绑定到设备里。
为了保障万无一失,需要用到静态绑定来指定客户端的MAC,即手动输入MAC地址,确保接入设备为允许的设备。当接入的设备MAC地址不存在与MAC地址表时,端口将down掉从而阻止非法设备的访问。
缺点:如果需要允许的设备过多,采用静态绑定的方式工作量太大,效率太低。且人为手动输入MAC地址容易产生输入上的失误。
//将目的设备的MAC地址静态绑定到该接口上
SW(config)# mac-address-table static 0001.4246.a36c vlan 1 interface f0/2
基于粘滞的端口安全
启用了粘滞的端口安全特性后,即使交换机断电重启后也不会出现如同动态绑定方式的问题。
//开启基于粘滞的端口安全特性
SW(config)#switchport port-security mac-address sticky
粘滞安全MAC地址有以下优点:
(1)当使用 switchport port-security mac-address sticky 接口配置命令启用粘滞获取时,接口将所有动态安全MAC地址(包括那些在启用粘滞获取之前动态获得的MAC地址)转换为粘滞安全MAC地址,并将所有粘滞安全MAC地址添加到运行配置。
(2)当使用no switchport port-security mac-address sticky 接口配置命令禁用粘滞获取时,粘滞安全MAC地址仍作为地址表的一部分,但是已从运行配置中移除。 已经被删除的地址可以作为动态地址被重新配置和添加到地址表。
(3)当使用 switchport port-security mac-address sticky mac-address接口配置命令配置粘滞安全MAC地址时,这些地址将添加到地址表 和运行配置 中。如果禁用端口安全性,则粘滞安全MAC地址仍保留在运行配置中。
(4)如果将粘滞安全MAC地址保存在启动配置文件中,则当交换机重新启动或者接口关闭时,接口不需要重新获取这些地址。 如果不保存粘滞安全地址,则它们将丢失。
如果粘滞获取被禁用,粘滞安全MAC地址则被转换为动态安全地址,并被从运行配置中删除。
(5)如果禁用粘滞获取并输入switchport port-security mac-address sticky mac-address接口配置命令,则会出现错误消息,并且粘滞安全MAC地址不会添加到运行配置。
违规操作
当端口接收到未经允许的MAC地址流量时,交换机会执行违规动作。
保护(Protecct):丢弃未允许的MAC地址流量,但不会创建日志消息。
限制(Restrict):丢弃未允许的MAC地址流量,创建日志消息并发送SNMP Trap消息
关闭(Shutdown):默认选项,将端口置于err-disabled状态,创建日志消息并发送SNMP Trap消息,需要手动恢复或者使用errdisable recovery特性重新开启该端口。
端口恢复
端口触发了惩罚机制后,将会自动关闭端口拒绝访问。当所允许的安全设备需要对它进行访问时,该端口应当开启自动恢复功能:当有设备进行访问时,配置了端口安全的端口将学习来访设备的MAC地址并与MAC地址表进行核对。若是安全设备,则自动恢复该端口的数据访问功能;若是非法设备,则该端口继续关闭,拒绝非法设备的访问。
相关配置命令:
//开启自动恢复功能(默认恢复时间为300s)
SW(config)#errdisable recovery cause psecure-violation
//修改恢复时间,设置为30s
SW(config)#errdisable recovery interval 30
//查看安全策略
SW(config)#do show errdisable recovery