端口安全(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