端口安全(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
来源: http://www.bubuko.com/infodetail-3453156.html