一、端口安全介绍
端口安全是一种网络设备防护措施,通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC和Sticky MAC),阻止除安全MAC和静态MAC之外的主机通过本接口和设备通信,从而增强设备的安全性。以下是对它的详细介绍:
- 基本原理:端口安全通过记录连接到交换机端口的以太网MAC地址(网卡号),并只允许特定的MAC地址通过本端口通信来实现安全控制。当其他MAC地址尝试通过该端口时,会被阻止,从而防止非法设备的接入和数据包的传输。
- 主要功能:端口安全能够限制特定端口上可以学习和接受的MAC地址数量,超过这个数量后,新的MAC地址将无法通过该端口进行通信。当检测到非法MAC地址或未授权的设备试图通过端口时,端口安全机制会采取一系列保护措施,如丢弃非法报文、发送警告消息等。
- 应用场景:端口安全技术广泛应用于各种需要严格网络安全控制的场合,如企业网络、数据中心、教育机构等。在无线网络环境中,端口安全同样发挥着重要作用,通过与802.1X认证、MAC地址过滤等技术结合,确保无线网络的安全性。
- 配置方式:管理员可以通过静态绑定的方式,手动指定允许通过特定端口的MAC地址,这种方式适用于固定不变的网络环境。对于动态变化的网络环境,可以采用动态学习的方式,让交换机自动学习并记录通过端口的MAC地址。
- 违规动作:当端口接收到未经允许的MAC地址流量时,交换机会根据预先设置的策略执行相应的违规动作,如关闭端口、发送警告消息等。
- 安全优势:端口安全能够有效防止未经授权的设备接入网络,减少潜在的安全风险。通过对端口上的MAC地址进行严格控制,可以有效防止MAC地址泛洪攻击,保护网络的稳定性和可用性。
- 安全挑战:随着网络环境的不断变化和发展,端口安全策略可能需要不断调整和优化,以应对新的安全威胁和挑战。虽然端口安全能够提供一定程度的安全保障,但仍需与其他安全技术和管理措施相结合,形成多层次、全方位的安全防护体系。
二、安全MAC地址的分类
安全MAC地址主要分为安全动态MAC地址、安全静态MAC地址和Sticky MAC地址三类。以下是对这三类地址的详细介绍:
- 安全动态MAC地址:当使能端口安全但未使能Sticky MAC功能时,接口上学习到的动态MAC地址会被转换为安全动态MAC地址。在设备重启后,这些表项会丢失,需要重新学习。缺省情况下,这些地址不会被老化,除非配置了安全MAC的老化时间。安全动态MAC地址的老化类型分为绝对时间老化和相对时间老化。
- 安全静态MAC地址:当使能端口安全时,可以通过手工配置的方式设置静态MAC地址。这些地址不会因设备的老化或重启而失效,提供了更高的安全性和稳定性。
- Sticky MAC地址:当使能端口安全后又同时使能Sticky MAC功能时,接口上的安全动态MAC地址表项将转化为Sticky MAC地址。这些地址也不会因设备的老化或重启而失效,同样提供了高度的安全性和稳定性。
三、实验
实验目的:
掌握交换机端口安全的基本配置
实验步骤:
1. 配置S1的G0/0/1口的端口安全
2. 使用PC1、PC2访问PC4,查看S1的mac地址表
3. 在S2设备上接入一台非法设备,尝试访问PC4
4. 配置S1的G0/0/2口为安全静态mac
5. 配置S1的G0/0/3口为sticky mac
(1)配置G0/0/1的端口安全,设置它的MAC地址最大学习数量为2,设置它的安全动作为shutdwon关闭接口
[S1]int g0/0/1
[S1-GigabitEthernet0/0/1]port-security enable //开启端口安全功能
[S1-GigabitEthernet0/0/1]port-security max-mac-num 2 //限制最大学习数量为2
[S1-GigabitEthernet0/0/1]port-security protect-action shutdown //配置安全保护动作为shutdown
配置完后,去ping10.1.1.4,将PC1和PC2的MAC地址学习到MAC地址表里去
可以看到PC1和PC2的MAC地址已经学习到地址表里了,这时我们就可以去用攻击者去ping10.1.1.4,就会执行设置的安全动作关闭接口
可以看到G0/0/1的接口已经关闭说明我们的安全设置已经完成
注:要打开接口可以进入G0/0/1的接口用restart来打开接口
(2)配置S1的G0/0/2接口为安全静态MAC地址
[S1]int g0/0/2
[S1-GigabitEthernet0/0/2]port-security enable //开启端口安全功能
[S1-GigabitEthernet0/0/2]port-security mac-address sticky //开启sticky MAC功能
[S1-GigabitEthernet0/0/2]port-security mac-address sticky 5489-9809-5783 vlan 1 //配置VLAN 1的安全静态MAC地址
[S1-GigabitEthernet0/0/2]port-security max-mac-num 1 //限制最大学习数为1
我们可以发现即使没有进行通信我们也可以直接查看到G0/0/2上有MAC地址,所以MAC地址已经被静态绑定到G0/0/2上了
(3)配置S1的G0/0/3接口为sticky mac
[S1]int g0/0/3
[S1-GigabitEthernet0/0/3]port-security enable
[S1-GigabitEthernet0/0/3]port-security mac-add sticky
[S1-GigabitEthernet0/0/3]port-security max-mac-num 1
我们可以看到PC4没去通信之前,MAC地址表是没有G0/0/3所对应的MAC地址
可以看到通信之后,MAC地址表上G0/0/3学习到了MAC地址
四、总结
端口安全作为一种重要的网络安全技术手段,在保护网络免受未经授权访问和潜在安全威胁方面发挥着关键作用。