Cisco互换机安全配置
Cisco互换机安全配置前提
我们以下命令一般都要先辈入Config模式
S1> enable
S1# conf t
S1(config)#
端口安全掩护
禁用未使用的端口
以关闭fa0/1到fa0/24的端口为例
S1(config)# interface range fa0/1-24
S1(config-if-range)# shutdown
缓解MAC地址表攻击
防止CAM表溢出的最简朴有用的方法是启用端口安全,它限定了端口上所允许的有用MAC地址数量。
我们以fa0/1为例子
S1(config)# interface fa0/1
S1(config-if)# switchport port-security
这里你大概会遇到报错,内容如下:
Command rejected: FastEthernet0/1 is a dynamic port.
这是因为端口安全只能在手动配置的接入模式(access)端口或手动配置的中继(trunk)端口上!
我们先将端口切换到access(如果是trunk的话命令中相应部门请改为trunk),然后开启端口安全。
S1(config-if)# switchport mode access
S1(config-if)# switchport port-security
接下来限定端口上MAC地址最大数量,默认值为1
S1(config-if)# switchport port-security maximum
当然我们可以手动置顶数目,范围在<1-8192>,我们这里以手动设置1为例
S1(config-if)# switchport port-security maximum
1 手动配置MAC
在接口配置模式中,执行以下命令,可手动指定安全MAC:
switchport port-security mac-address 这里写MAC地址
我们以aaaa.bbbb.1234地址为例
S1(config-if)# switchport port-security mac-address aaaa.bbbb.1234
动态获取
除了手动之外还有动态获取的方式。在执行switchport port-security之后,这个端口直接毗连的装备的源MAC地址就会成为安全MAC。但是,这个地址不会添加到启动配置中,也就是说,互换机重启后必须重新学习MAC地址!!
动态获取-粘滞(Sticky)
管理员可以执行以下命令,将动态获取的MAC地址,写入到运行配置文件中
S1(config-if)# switchport port-security mac-address sticky
检察端口安全信息
我们可以在特权模式#下来检察端口安全的具体信息
同样我们以fa0/1为例子
S1# show port-security interface fa0/1
当然你在config及其子模式下可以用do来执行特权模式下的命令
S1(config-if)# do show port-security interface fa0/1
大抵能看到如下字段(字段对应的值取决于你的配置)
S1# show port-security interface fa0/1
Port Security : EnabledPort Status : Secure-upViolation Mode : ShutdownAging Time : 0 minsAging Type : AbsoluteSecureStatic Address Aging : DisabledMaximum MAC Addresses : 4Total MAC Addresses : 2Configured MAC Addresses : 1Sticky MAC Addresses : 1Last Source Address:Vlan : a41f.7302.375b:2Security Violation Count : 0 还用一条命了可以检察安全MAC地址表
S1# show port-security address
S1# show port-security address
Secure Mac Address Table-----------------------------------------------------------------------------Vlan Mac Address Type Ports Remaining Age(mins)---- ----------- ---- ----- -------------1 a41f.7302.375b:2 SecureSticky Fa0/1 -1 aaaa.bbbb.1234 SecureConfigured Fa0/1 ------------------------------------------------------------------------------Total Addresses in System (excluding one mac per port) : 1Max Addresses limit in System (excluding one mac per port) : 8192 端口安全老化
通过端口安全老化可对端口上的动态和静态安全地址设置老化时间。
端口老化时间有两种:
[*]绝对老化时间(Absolute):老化时间到期后删除MAC地址
[*]非运动老化时间(Inactivity):仅当端口上的安全地址在老化时间内
使用老化功能删除安全端口上的安全 MAC 地址,无需手动删除现有安全 MAC 地址。还可增加老化时间限定,
确保纵然在添加新 MAC 地址时同样保持之前的安全 MAC 地址。可以对每个端口启用或禁用静态配置的安全地址老化。
switchport port-security aging { static | time time | type {absolute | inactivity}}
下面是各个参数的阐明:
参数阐明static为此端口上静态配置的安全地址启用老化。time time为此端口指定老化时间。范围为 0 至 1440 分钟。如果 时间为 0,则表示这个端口禁用老化。type absolute设置绝对老化时间。全部安全地址 都会在到达设置的时间之后立刻在这个端口上老化,而且从 安全地址列表中被删除。type inactivity设置不运动老化范例。这个端口上的安全地址只有在设定的时间范围内,没有数据流量来自安全地址,安全地址才会老化。 我们对把老化范例设置为非运动范例,而且时间为10分钟
S1(config-if)# switchport port-security aging time 10
S1(config-if)# switchport port-security aging type inactivity
端口安全违规模式
毗连到端口的装备 MAC 地址与安全地址列表不同等,则会触发端口违规。在默认情况下,这个端口就会进入error-disabled状态。
设置端口安全违规模式可以用以下命令:
switchport port-security violation { protect | restrict | shutdown}
模式阐明shutdown(默认)端口会立刻过渡到error-disabled状态,关闭端口LED而且发送一条系统日志消息。它会增加违规计数器的值。当一个安全端口处于error-disabled状态,管理员必须重新启用这个端口,这时需要输入shutdown和no shutdown命令。restrict端口会抛弃携带未知源地址的数据包,直到管理员删除了 足够数量的安全MAC地址,让安全MAC地址的数量降到了 最大值以下,或者管理员增加了最大值。这种模式会让违规计数器的值增加,并生成一条系统日志消息。protect这是最不安全的安全违规模式。端口会抛弃携带未知源地址的数据包,直到管理员删除了足够数量的安全MAC地址,让安全MAC地址的数量降到了最大值以下,或者管理员增加了最大值。不会发送系统日志消息。 用一张图来概括
https://img-blog.csdnimg.cn/img_convert/de772851806e1bedd690c5d41bac34cc.png
缓解VLAN攻击
VLAN攻击的方式
下列三种方式都可以发起VLAN跳跃攻击:
[*]**发起攻击的主机伪造DTP消息,使互换机进入中继模式。**然后,攻击者可以发送标记为目标 VLAN 的流量,然后互换机向目标地传输数据包。
[*]**引入非法互换机并启用中继。**然后攻击者就可以通过非法互换机访问被攻击互换机上的全部 VLAN。
[*]另一种VLAN跳跃攻击是双重标记 (Double-Tagging) 攻击,又称双封装 (double-encapsulated) 攻击。这种攻击方式利用的是大多数互换机的硬件工作原理。
缓解VLAN跳跃攻击的步骤
实际上很简朴,我们就把开启自动的一些端口变为手动模式,然后对中继端口设置下本征VLAN即可。
[*]使用switchport mode access接口配置命令禁用非中继端口上的 DTP(自动中继)协商。
[*]禁用未使用的端口并将其放在未使用的 VLAN 中。
[*]使用switchport mode trunk命令手动启用中继端口上的中继链路。
[*]使用switchport nonegotiate命令禁用中继端口上的 DTP(自动中继)协商。
[*]使用switchport trunk native vlan 这里写VLAN号命令把本征VLAN设置为VLAN 1之外的其他 VLAN。
缓解DHCP攻击
什么是DHCP攻击
DHCP攻击针对的目标是网络中的DHCP服务器,原理是耗尽DHCP服务器全部的IP地址资源,使其无法正常提供地址分配服务。然后在网络中再架设假冒的DHCP服务器为客户端分发IP地址,从而来实现中间人攻击。
DHCP耗竭攻击可以使用端口安全来得到有用地缓解,因为每个发送的DHCP请求消息中使用一个唯一的源MAC地址。
但是,缓解 DHCP欺骗攻击需要采取更多掩护步调。使用真实的接口 MAC地址作为源以太网地址,在DHCP负载中使用一个差异的以太网地址。如许就有大概导致端口安全无法发挥作用,因为源 MAC地址此时会是合法的。通过在可信端口上使用DHCP监听可缓解 DHCP 欺骗攻击。
DHCP监听
DHCP监听并不依赖源MAC地址。它的作用是判定 DHCP消息是否来自于管理员配置的可信或不可信源。接下来,它就会对 DHCP消息执行过滤,而且对来自不可信源的DHCP流量执行限速。
全部管理员可以管理的装备(如互换机、路由器和服务器)都是可信源。超出防火墙范围或者网络范围之外的装备都是不可信源。另外,全部接入端口一般都会视为不可信源。
这张图显示了一个关于可信端口和不可信端口的示例。
https://img-blog.csdnimg.cn/img_convert/f5f559fb303725c04ab37536e5fd77b7.png
在启用了 DHCP监听之后,欺诈 DHCP服务器大概毗连的是不可信端口。在默认情况下,全部接口都会被视为是不可信端口。可信端口往往是中继链路,以及与合法 DHCP服务器相连的那些端口。这些端口都必须由管理员手动配置为可信端口。
在创建 DHCP表时,其中会包含不可信端口上的装备源MAC地址,以及 DHCP服务器分配给这台装备的 IP地址。MAC 地址和IP地址是绑定的。因此,这个表也就称为DHCP监听绑定表。
https://img-blog.csdnimg.cn/img_convert/99e62bbfdef299c6d24d709383e97396.png
S1(config)# ip config snooping
S1(config)# interface f0/1
S1(config-if)# ip dhcp snooping trust
S1(config-if)# exit
S1(config)# interface range f0/5 - 24
S1(config-if-range)# ip dhcp snooping limit rate 6
S1(config-if-range)# exit
S1(config)# ip dhcp snooping vlan 5,10,50-52
S1(config)# end
上面的示例显示了怎样在S1上配置 DHCP监听。请注意第一次怎样启用 DHCP 监听。
然后可以明白信任向上毗连 DHCP 服务器的接口。接下来,FastEthernet F0/5 到 F0/24 这个范围的端口均保持默认的不可信端口状态,因此这些端口还设置了每秒 6 个数据包的速率限定。最后,在 VLAN 5、10、50、51、和 52 上启用 DHCP监听。
缓解ARP攻击
什么是ARP攻击
攻击方将自己MAC地址与其他人的IP封装成卖弄的ARP报文,使被攻击方不停学习伪装条目,当被攻击方与伪装目标通讯时,数据会送达攻击方,攻击方再将数据转发给伪装目标,即可实现双方正常通讯情况下盗取通讯数据。
当然这个过程可以简化成攻击方可以不停的发送一个伪装报文,不停的让被攻击方学习一个或多个条目,实现单向的断网攻击。
但无论是双向欺骗还是单向攻击都需要攻击者不断发送ARP报文。
动态ARP检测(DAI)
动态ARP 检测(DAI)需要使用DHCP监听,可以防止ARP攻击,因为这种特性可以:
[*]不会向同一 VLAN 中的其他端口转发无效或无故 ARP 应答。
[*]在不可信端口上拦截全部的ARP 请求和应答。
[*]每个被拦截的数据包都要接受查验,看它是否具有有用的 IP-MAC 绑定。
[*]抛弃并记录从无效绑定关系发来的ARP应答,以防止ARP毒化。
[*]如果超出了配置的ARP数据包DAI数量,端口就会进入error-disable状态。
要缓解 ARP欺骗和ARP毒化,可以执行下列 DAI实施的引导方针:
[*]全局启用 DHCP 监听。
[*]在选定的 VLAN 上启用 DHCP 监听。
[*]在选定的 VLAN 上启用 DAI。
[*]为 DHCP 监听和 ARP 检测配置可信端口。
通常建议将全部互换机的接入端口配置为不可信,将全部毗连到其他互换机的上行链路端口配置为可信。
图中的示例拓扑标识了受信任和不受信任的端口:
https://img-blog.csdnimg.cn/img_convert/5ec61c8f9fb2129ad4d294e55174637b.png
S1(config)# ip dhcp snooping
S1(config)# ip dhcp snooping vlan 10
S1(config)# ip arp inspection vlan 10
S1(config)# interface fa0/24
S1(config-if)# ip dhcp snooping trust
S1(config-if)# ip arp inspection trust
还可以配置 DAI 以检查目标或源 MAC 和 IP 地址:
[*]目标 MAC - 根据ARP正文中的目标MAC地址检查以太网报头中的目标 MAC 地址。
[*]源 MAC - 根据ARP正文中的发送方MAC地址检查以太网报头中的源 MAC 地址。
[*]IP 地址 - 在 ARP 正文中检查无效和意外IP地址,包括地址 0.0.0.0 和 255.255.255.255 以及全部IP组播地址。
在Config输入下方命令可以配置 DAI,在IP地址无效时抛弃ARP数据包。它可用于ARP数据包正文中的 MAC 地址与以太网报头中指定的地址不匹配的场所。
ip arp inspection validate { }
缓解STP攻击
PortFast和BPDU防护
攻击者可以利用生成树协议(STP),通过伪造根网桥和更改网络拓扑的方式发起攻击。为了缓解生成树(STP)利用攻击,应该使用 PortFast和BPDU(桥协议数据单元)防护特性:
[*]PortFast - 可让配置为接入端口或中继端口的接口直接从克制状态变为转发状态,绕过侦听和学习状态。适用于全部最终用户端口。PortFast只应该配置在那些毗连终端装备的端口上。
[*]BPDU 防护(BPDU Guard) - BPDU 防护会立即让接收到 BPDU 的端口进入errordisable状态。BPDU防护也应该只配置在那些毗连终端装备的端口上,这一点和PortFast特性相同。
https://img-blog.csdnimg.cn/img_convert/e44122cb5e70df9553ac5bf71191c451.png
配置PortFast防护
PortFast会绕过STP侦听(listening)和学习(learning)状态,把接入端口等待 STP收敛的时间降到最低。如果在毗连到其他互换机的端口上启用 PortFast,则会产生形成生成树环路的风险。
可以使用接口配置命令spanning-tree portfast在接口上启用PortFast。另外,也可以通过全局配置命令spanning-tree portfast default以全局方式在全部接入端口上配置 Portfast。
要想验证是否 PortFast已经在全局启用,可以使用命令show running-config | begin span或命令show spanning-tree summary举行检察。要想验证是否PortFast已经在一个接口上启用,可以使用命令show running-config interface type/number举行检察,如下面的示例所示。可以特权模式下使用命令show spanning-tree interface type/number detail举行验证。
S1(config)# interface fa0/1
S1(config-if)# switchport mode access
S1(config-if)# spanning-tree portfast
S1(config-if)# exit
S1(config)# spanning-tree portfast default
S1(config)# exit
配置BPDU防护
纵然启用了 PortFast,接口仍将侦听 BPDU。偶尔大概会收到意外 BPDU,或发生未经授权尝试将互换机添加到网络的操作。
如果在启用 BPDU 防护的端口上收到 BPDU,则该端口将进入错误禁用状态。这表示这个端口已经关闭,必须手动重新启用,或者通过全局命令 errdisable recovery cause psecure_violation让它自动恢复。
BPDU防护可以使用接口配置命令spanning-tree bpduguard enable在一个接口上启用。另外,也可以使用全局配置spanning-tree portfast bpduguard default在全部启用了PortFast的端口上启用 BPDU防护。要显示有关生成树状态的信息,可以使用命令show spanning-tree summary 。在这个示例中,针对接入模式的端口,PortFast和BPDU防护都是默认启用的。
请始终在全部已启用 PortFast 的端口上启用 BPDU 防护。
S1(config)# interface fa0/1
S1(config-if)# spanning-tree bpduguard enable
S1(config-if)# exit
S1(config)# spanning-tree portfast bpduguard default
S1(config)# end
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]