本文共 4679 字,大约阅读时间需要 15 分钟。
我们经常听说“端口安全”功能是如何强大,应用如何灵活,但我们很少人系统地对“端口安全”功能有一个比较系统的了解。Cisco IOS交换机中的端口安全(Port security)功能可以使你限制在端口上使用的MAC地址(称之为“安全MAC地址”),或者MAC地址范围,或者最大安全地址数,以实现阻止未授权MAC地址的用户访问,当然它的应用方式很灵活。本篇仅介绍其基本简介,详细的介绍参见《Cisco/H3C交换机高级醘与管理技术手册》一书。
【说明】以下内容摘自笔者编著的,新市的一书。其姊妹篇(目前当当网和卓越网上最低为震撼的63折)实际时间仅用了三个多月就已实现重印,感谢各位的大力支持!!
15.3.1 端口安全功能简介 Cisco IOS 交换机的端口安全功能允许你通过配置静态安全 MAC 地址实现仅允许固定设备连接,也允许你在一个端口上配置一个最大的安全 MAC 地址数,仅允许在此数之前识别到的设备连接在该端口上。当超过了所设置的最大安全端口数,将触发一个安全违例事件,在端口上配置的一个基于违例行为模式的违例行为将被执行。如果你在某个端口上配置的最大安全 MAC 地址数为 1 ,则设备上的该安全端口仅允许与固定设备连接。如果一个安全 MAC 地址在一个端口上进行了安全绑定,则这个 MAC 地址不能进入该端口加入的 VLAN 以外的任何其他端口,否则包将在硬件层被悄悄地丢弃。 1. 端口安全功能支持的安全MAC地址类型 Cisco IOS 交换机端口安全功能支持以下几种安全 MAC 地址类型: l 动态或者学习类型:动态安全 MAC 地址是在接收到连接在安全端口上主机发来的包时学习到的。在用户的 MAC 地址不固定时(如网络用户使用的经常移动的便携式电脑,如笔记本电脑),你可以使用此种类型。 l 静态或配置类型:静态安全 MAC 地址是用户通过 CLI 或者 SNMP 配置的 MAC 地址。在你的 MAC 地址保持固定时(如用户使用的是 PC 机),可以使用这种类型。 l 粘性( Sticky )类型:粘性安全 MAC 地址也是像动态安全 MAC 地址一样,是通过学习得到的,但是它是交换机重启后仍然有效,又有点像静态安全 MAC 地址那样。在存在大量固定 MAC 地址,而且你又不想手动配置这些安全 MAC 地址时,就可以使用这种类型。 如果一个端口已达到了它最大的安全 MAC 地址数,而你又想配置一个静态安全 MAC 地址,此时会被拒绝的,并显示一个错误提示。如果一个端口已达到了它最大的安全 MAC 地址数,而又添加了一个新的动态安全 MAC 地址,则会触发一个违例行为。 你可以使用 clear port-security 命令清除动态安全 MAC 地址,你可以使用 no switchport port-security mac-address 命令一次性清除粘性和静态安全 MAC 地址。 2. 安全MAC地址的最大数 一个安全端口默认有一个安全 MAC 地址。你可以改变这个默认值在 1~3000 之间。当你在一个端口上设置最大安全 MAC 数后,你可以以下任一方式在地址表中包括这些安全 MAC 地址: l 你可以使用 switchport port-security mac-address mac_address 接口配置模式命令配置安全 MAC 地址。 l 你可以通过 port-security mac-address VLAN 范围配置命令在中继端口上一个范围 VLAN 中配置所有安全 MAC 地址。 l 你可以允许端口用所连接设备的 MAC 地址动态配置安全 MAC 地址。 l 你可以静态配置一些安全 MAC 地址,而允许其余的安全 MAC 地址动态配置(如果端口链路关闭,则该端口上所有动态安全 MAC 地址将不再是安全的)。 l 你可以 MAC 地址为粘性的( sticky )。这些安全 MAC 地址可以动态学习,也可以手动配置,然后保存在 MAC 地址表中,并添加到运行配置文件中。然后这些地址会保存在交换机的启动配置文件中,在交换机重启后,接口不用再重新学习。虽然你可以手动配置粘性安全 MAC 地址,但这种做法是不建议的。 【经验之谈】在一个中继端口上,最大的安全 MAC 地址数可以基于端口和基于端口 VLAN 来配置。端口上配置的最大安全 MAC 地址数可以大于或等于(不能小于)端口 VLAN 上配置的最大安全 MAC 地址数。如果端口上配置的最大安全 MAC 地址数小于端口 VLAN 上配置的最大安全 MAC 地址数(例如 VLAN 10 上设置的最大安全 MAC 地址为 3 ,而端口的最大安全 MAC 地址数采用默认的 1 ),则在端口 VLAN 上的安全 MAC 地址数超过端口上设置的最大安全 MAC 地址数时,端口就将被关闭。 3.安全MAC地址老化 在接收超过 3000 个 MAC 地址时,你可能想要老化安全 MAC 地址,以便对一些长时间没有连接的安全 MAC 地址从 MAC 地址表中除去。但是粘性( sticky )安全 MAC 地址不支持老化过程。 默认情况下,端口安全不会对安全地址进行老化的,学习到后,这个 MAC 地址将一直在端口上保留,直到交换机重启或才链路断开(当然这是在没有启用粘性 MAC 地址功能时)。端口安全允许你基于绝对( absolute )或者静止( inactivity )模式配置 MAC 地址老化和老化时间。绝对模式的老化周期是 n~n+1 分钟之间;静止模式的老化周期是在 n+1~n+2 分钟之间(时间增量为 1 分钟)。 使用安全 MAC 地址老化功能可以还没达到端口上配置的最大安全 MAC 地址数之前,在安全端口上删除和添加 PC ,无需手动删除现有的安全 MAC 地址。 除非明确地使用 switchport port-security aging static 命令静态配置 MAC 地址老化时间,静态安全 MAC 地址是不会进行老化进程的,即使在在该端口上配置了老化进程。 4.端口上的粘性MAC地址 通过启用粘性端口安全功能,你可以配置一个接口去转换动态 MAC 地址为粘性安全 MAC 地址,并添加他们到交换机的运行配置文件中。在你不需要用户移动到其他端口时,你可以使用这种功能,这样你就无需要在每个端口上手动配置大量的安全 MAC 地址。 要启用粘性端口安全功能,可键入 switchport port-security mac-address sticky 接口配置模式 命令。此时,接口将转换所有动态安全 MAC 地址为粘性安全 MAC 地址,包括在启用粘性安全 MAC 地址功能前动态学习到的所有 MAC 地址。 粘性安全 MAC 地址不会自动成为交换机启动配置文件的一部分,如果你保存了运行配置文件,则在交换机重启后,接口也不用再重新学习 MAC 地址了,但是如果你不保存运行配置文件,则以前自动转换的粘性安全 MAC 地址表将丢失。 如果禁止粘性端口安全功能,则粘性安全 MAC 地址将自动转换为动态安全 MAC 地址,并自动从交换机的运行配置文件中删除。在配置了最大安全 MAC 地址数后,这些粘性安全 MAC 地址将以表的形式存储。要使某设备成为某端口唯一的连接者,则可以在该端口上配置最大的安全 MAC 地址数为 1 。如果添加到某端口的安全 MAC 地址数超过配置的最大安全 MAC 地址数将发生违例事件。 5. 违例行为模式 l 保护( protect ):当安全 MAC 地址数超过端口上配置的最大安全 MAC 地址数时,未知源 MAC 地址的包将被丢弃,直到 MAC 地址表中的安全 MAC 地址数降到所配置的最大安全 MAC 地址数以内,或者增加最大安全 MAC 地址数。而且这种行为没有安全违例行为发生通知。建议不要在中继端口上配置保护行为,因为在中继端口上某个 VLAN 达到该 VLAN 中所配置的最大安全 MAC 地址数时端口将被禁止,即使端口上的安全 MAC 地址数并未达到端口上配置的最大安全 MAC 地址数。 l 限制( Restrict ):与前面的保护模式差不多,也是在安全 MAC 地址数达到端口上配置的最大安全 MAC 地址数时,未知源 MAC 地址的包将被丢弃, 直到 MAC 地址表中的安全 MAC 地址数降到所配置的最大安全 MAC 地址数以内,或者增加最大安全 MAC 地址数。但这种行为模式会有一个 SNMP 捕获消息发送,并记录系统日志,违例计数器增加 1 。 SNMP 捕获通知发送的频率可以通过 snmp-server enable traps port-security trap-rate 命令来控制,默认值为 0 ,表示在发生任何安全违例事件时发送 SNMP 捕获通知。 l 关闭( Shutdown ):发生安全违例事件时,端口立即呈现错误( error-disabled )状态,关闭端口(端口指示灯熄灭)。同时也会发送一个 SNMP 捕获消息 并记录系统日志,违例计数器增加 1 。 在想禁止非 MAC 地址,需要安全安全环境下,你可以使用这种模式。 l 关闭 VLAN ( Shutdown VLAN ):适用于 VLAN 的安全违例模式。在这种模式下,在发生安全违者罚款例事件时,该端口对应的 VLAN 都将呈错误禁止状态,关闭对应 VLAN ,而不关闭对应的端口。 表 15-1 列出了各种违例模式和对应采取的行为。 表 15-1 端口安全下的各种违例模式和对应采取的行为 | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
关闭 VLAN ( shutdown vlan ) | | | | | | |
当一个安全端口处于错误禁止( error-disabled )状态,你可以通过 errdisable recovery cause psecure-violation 全局配置模式命令进行恢复,或者你可以通过 shutdown 和 no shut down 接口配置模式命令重启。如果端口是处于每 VLAN 错误禁止( per-VLAN errdisable )状态,则你可以使用 clear errdisable interface name vlan range 命令在端口上重启这个 VLAN 。你也可以使用 errdisable recovery interval interval 命令自定义从指定的错误禁止状态恢复的时间,默认为 300 秒。 【经验之谈】如果你可以预见有非法安全 MAC 地址包将在某端口上发送,你可能想要在安全端口上对非法安全 MAC 地址包进行传输速率限制。端口安全认为 MAC 地址为 0 的包为组播或广播源 MAC 地址,认为是非法包。你可以选择限制这些包的传输速率,在超过速率时将在端口上捕获一个违例事件。也就为像组播或广播包传输留有一定的空间。 转载地址:http://zlnlo.baihongyu.com/