【交换安全】交换机端口安全Port-Security超级详解
来源:互联网 发布:mastercam编程步骤 编辑:程序博客网 时间:2024/05/02 17:07
一、Port-Security概述
在部署园区网的时候,对于交换机,我们往往有如下几种特殊的需求:
- 限制交换机每个端口下接入主机的数量(MAC地址数量)
- 限定交换机端口下所连接的主机(根据IP或MAC地址进行过滤)
- 当出现违例时间的时候能够检测到,并可采取惩罚措施
上述需求,可通过交换机的Port-Security功能来实现:
二、理解Port-Security
1.Port-Security安全地址:secure MAC address
2.当以下情况发生时,激活惩罚(violation):
- 在接口下使用switchport port-security mac-address 来配置静态安全地址表项
- 使用接口动态学习到的MAC来构成安全地址表项
- 一部分静态配置,一部分动态学习
当接口出现up/down,则所有动态学习的MAC安全地址表项将清空。而静态配置的安全地址表项依然保留。
3.Port-Security与Sticky MAC地址
三、默认的Port-Security配置
- Port-Security
默认关闭 - 默认最大允许的安全MAC地址数量
1 - 惩罚模式
shutdown(进入err-disable状态),同时发送一个SNMP trap
四、Port-Security的部署注意事项
1.Port-Security配置步骤
a) 在接口上激活Port-Security
b) 配置每个接口的安全地址(Secure MAC Address)
c) 配置Port-Security惩罚机制
d) (可选)配置安全地址老化时间
2.关于被惩罚后进入err-disable的恢复:
如果一个psec端口由于被惩罚进入了err-disable,可以使用如下方法来恢复接口的状态:
- 使用全局配置命令:err-disable recovery psecure-violation
- 手工将特定的端口shutdown再noshutdown
3.清除接口上动态学习到的安全地址表项
- 使用clear port-security dynamic命令,将清除所有port-security接口上通过动态学习到的安全地址表项
- 使用clear port-security sticky 命令,将清除所有sticky安全地址表项
- 使用clear port-security configured命令,将清除所有手工配置的安全地址表项
- 使用clear port-security all命令,将清除所有安全地址表项
- 使用show port-security address来查看每个port-security接口下的安全地址表项
4.关于sticky安全地址
5.port-security支持private vlan
6.port-security支持802.1Q tunnel接口
7.port-security不支持SPAN的目的接口
8.port-security不支持etherchannel的port-channel接口
9.在CISCO IOS 12.2(33)SXH 以及后续的版本,我们可以将port-security及802.1X部署在同一个接口上。而在此之前的软件版本:
- 如果你试图在一个port-security接口上激活8021.X则会报错,并且802.1X功能无法开启
- 如果你试图在一个802.1X接口上激活port-security则也会报错,并且port-security特性无法开启
10.Port-Security支持nonegotiating trunk 接口
Port-Security 支持在如下配置的trunk上激活
switchport
switchport trunk encapsulation ?
switchport mode trukn
switchport nonegotiate
- If you reconfigure a secure access port as a trunk, port security converts all the sticky and static secure addresses on that port that were dynamically learned in the access VLAN to sticky or static secure addresses on the native VLAN of the trunk. Port security removes all secure addresses on the voice VLAN of the access port.
- If you reconfigure a secure trunk as an access port, port security converts all sticky and static addresses learned on the native VLAN to addresses learned on the access VLAN of the access port. Port security removes all addresses learned on VLANs other than the native VLAN.
11.Flex links和Port-Security互不兼容
五、Port-security的配置
1.激活Port-Security(在access接口上)
Switch(config)# interface fast0/1
Switch(config-if)# switchport
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# switchport port-security
SW1#show port-security interface f0/1
Port Security : Enabled
Port Status : Secure-up !!接口目前的状态是up的
Violation Mode : Shutdown !!违例后的惩罚措施,默认为shutdown
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 1 !!最大安全地址个数,默认为1
Total MAC Addresses : 0
Configured MAC Addresses : 0 !!手工静态配置的安全MAC地址,这里没配
Sticky MAC Addresses : 0 !!sticky的安全地址,这里没有
Last Source Address:Vlan : 00b0.1111.2222:10 !!最近的一个安全地址+vlan
Security Violation Count : 0 !!该接口历史上出现过的违例次数
2.激活Port-Security(在trunk接口上)
3. Port-Security violation惩罚措施
4. 配置Port Security Rate Limiter
(注意,在6509交换机,truncated switching模式下不支持该功能)
在交换机接口上开启Port-Security是会耗费资源的,Port-Security会检测每一个进入接口的数据帧,以判断流量是否合法,或者是否存在违例行为。当一个安全接口设置的violation为shutdown的时候,该接口在违例后触发惩罚机制,进入err-diasble状态,这样可以有效的方式有效的防止交换机由于处理违例事件导致交换机的CPU利用率过高。然而protect和restict的惩罚措施,则不会将端口关闭,端口依然可用,那么这就可能导致在违例事件发生的情况下交换机的CPU利用率飙高(例如大量的非法数据涌入)。因此当使用protect和restrict这两种违例惩罚措施事,可以通过Port-Secuirty rate limiter来防止CPU飙高。
Switch(config)# mls rate-limite layer2 port-security rate_in_pps [burst_size]
关于rate_in_pps参数:
- 范围是10- 1000000
- 没有默认值
- 值设置的越低,对CPU的保护程度就越高,这个值对惩罚措施发生前、后都生效,当然这个值也不能设置的过低,至少要保障合法流量被处理吧。一般低于1000就差不多。
关于burst-size参数:
- 范围是1-255
- 默认是10,这个默认值一般就够用了。
5. 配置Port-Security 最大允许的安全地址数量
最大安全地址数量,不同的软件平台允许的上限值有所不同,但是默认都是1。
在trunk口上,前面说了,也是可以激活port-security的,而在trunk口上配置最大安全地址数量,可以基于接口配置(对所有VLAN生效),也可以基于VLAN进行配置。如下:
switchport port-security maximum 1
switchport port-security maximum 1 vlan 10,20,30 !!可以关联多个VLAN
6. 在port-security接口上手工配置安全地址
上述配置中,最大安全地址数设置为3,然后使用手工配置了一个安全地址,那么剩下2个,交换机可以通过动态学习的方式来构建安全地址。
在trunk接口上手工配置安全地址,可关联vlan关键字。如果在trunk接口上手工配置安全地址,没有关联vlan关键字,那么该安全地址将被关联到trunk的native vlan上
7. 在port-security接口上使用sticky MAC地址
interface FastEthernet0/1
这样形成的安全地址表项(是SecureSticky的),即使在接口翻动,也不会丢失。在者如果wr保存配置,命令写入config.text,那么设备即使重启,安全地址也不会丢失。
当在接口上激活了port-security mac-address sticky,那么:
- 该接口上所有通过动态学习到的MAC,将被转成sticky mac address从而形成安全地址
- 接口上的静态手工配置的安全地址不会被转成sticky mac address
- 通过voice vlan动态学习到的安全地址不会被转成sticky mac address
- 命令配置后,新学习到的MAC地址,也是sticky的
当此时又敲入no port-secuirty mac-address sticiky ,则所有的sticky安全地址条目都变成动态的安全地址条目(SecureDynamic)
8. 配置安全地址老化时间
配置的命令比较简单:
Switch(config-if)# switchport port-security aging type {absolute | inactivity}
配置老化时间的类型,如果选择absolute,也就是绝对时间,需要搭配aging time命令设定老化时间的具体值,命令一旦敲下去后,所有的通过动态学习的MAC构建的安全地址表项将开始以aging time倒计时。如果是inactivity关键字,则只在该动态安全地址表项不活跃的时候(譬如主机离线了或者挂掉了)才开始倒计时。
Switch(config-if)# switchport port-security aging time ?
设定老化时间
Switch(config-if)# switchport port-security aging static
使用前面两条命令,老化时间是不会影响那些使用静态手工配置的安全地址表项的,当然sticky表项也不会受影响,这些表项都是永不老化的,但是如果搭配上上面这条命令,则手工配置的安全地址表项也受限于老化时间了。
不过对于sticky表项,则始终不会激活aging time,它是不会老化的。
- 示例1:
将安全地址老化时间设置为50min。针对动态学习到的MAC构成的安全地址有效
50min是一个绝对时间,配置完成后开始倒计时,无论该MAC是否依然活跃,都始终进行倒计时
- 示例2:
针对动态学习到的MAC构成的安全地址有效,如果该MAC在50min内一直处于失效状态(例如主机离线了),那么该安全地址在aging time超时后被清除
- 示例3:
注意,上述两种配置方式,对手工配置switchport port-security mac-address 00b0.9999.9999的安全地址无效。也就是采用上述方法配置的静态安全地址表项永不超时。
如果增加switchport port-security aging static命令,则手工静态配置的安全地址也的aging time也开始计时
注意,对于sticky mac address,安全地址的老化时间无效
红茶三杯
网络工程 | 项目管理 | IT服务管理 | CCIE培训
学习 沉淀 成长 分享
微博:http://weibo.com/vinsoney
博客:http://blog.sina.com.cn/vinsoney
站点:http://ccietea.com
0 0
- 【交换安全】交换机端口安全Port-Security超级详解
- 交换机端口安全 port-security配置详解
- 详解H3C交换机“端口安全”功能
- 交换机端口安全总结
- 交换机端口安全总结
- 交换机的端口安全
- 交换机端口安全
- 交换机端口安全配置
- Cisco交换机端口安全
- 交换机端口安全配置
- 交换机端口安全配置
- 华为交换机端口安全
- 交换机端口隔离及端口安全
- cisco交换机端口安全之端口隔离
- 交换机port-security配置
- CCNA security 3.1之交换、存储安全
- 各种交换机端口安全总结(配置实例)
- 确保Cisco交换机端口安全的方法
- 中断与异常的区别
- linux中关于login shell和non-login shell的介绍
- 2833 奇怪的梦境
- Linux 安装svn
- Android:控件AutoCompleteTextView 客户端保存搜索历史自动提示
- 【交换安全】交换机端口安全Port-Security超级详解
- 测试数学公式的网页显示
- hdu1076 An Easy Task
- 14 java.util.LinkedHashMap
- ofstream和ifstream详细用法
- 惠普第一阶段学习总结
- Android篇---Styles和Themes常见用法可能疑小结
- DHCP snooping详解
- spark on machine learning--基本统计