端口安全
可以将端口学习MAC地址的数量做出限制
可以限制哪些mac地址可以接入本端口
SW3(config)#int e0/0
SW3(config-if)#switchport mode access
注意: 动态端口不允许配置端口安全,若产生违规行为,默认将端口放入 err-disable 状态;
SW3(config-if)#switchport port-security // 开启端口安全特性
SW3(config-if)#switchport port-security maximum 2 // 配置本端口允许学习的mac地址数量
SW3(config-if)#switchport port-security mac-address sticky
静态方式,通过命令配置,存储在MAC 地址表中,增加到交换机的running configuration
动态学习MAC 地址,这些地址仅仅存放于MAC 地址表,交换机重启时会移除
Sticky 方式,可以动态或者手动配置,存储在MAC 地址表中,同时会增加到running config 中,交换机重启时接口不需要动态的重新配置
SW3(config-if)#switchport port-security violation restrict //修改违规行为后的行为
protect Security violation protect mode // 默默丢弃
restrict Security violation restrict mode // 弹出通知
shutdown Security violation shutdown mode //接口 shutdown
Port-security 默认行为:1 )端口安全默认没有开启2 )默认每个接口最多容纳一个
MAC 3 )默认的违反行为是shutdown
三种 违 规方 式 :
1 )shutdown-err-disable ,丢弃报文,发送日志,统计违规行为数,接口down
2 )restrict- 丢弃该 包,发送日志,接口up ,统计违规行为数
3 )protect- 默默的丢弃该包,不 发送日志,接口UP
默认情况下,一旦发生违规行为,则需要管理员重新启动一下接口,才可以恢复工作
部署端口安全,使得非法设备不能访问网络
需要管理员手工干预,恢复接口的工作先shutdown在no shutdown
SW3(config-if)#do show interfaces status err-disabled 查看err-disabled的原因
SW3(config)#errdisable recovery cause psecure-violation // 设置端口安全导致的errdisable自动恢复
SW3(config)#errdisable recovery interval 30 // 设置自动恢复间隔
清除接口上动态学习到的安全地址表项
使用 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 接口下的安全地址表项
配置安全地址老化时间
配置的命令比较简单:
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,它是不会老化的
ARP毒化
动态ARP检测
借助 DHCP Snooping 绑定表
判定端口上接入的设备MAC地址与IP地址的绑定关系
DHCP嗅探 + DAI 可以控制用户私自占用IP地址,不受DHCP服务器管控的行为
保障DHCP服务器安全、防止ARP毒化攻击
在DHCP嗅探的实验基础上,开启 DAI
SW3(config)#ip arp inspection vlan 1 //全局开启
W3(config)#int e1/2
SW3(config-if)#ip arp inspection trust // trunk 链路做trust
验证
SW3# show ip arp inspection interfaces e1/2
IP源防护
MAC地址表 MAC + Port
ARP mapping MAC + IP
IPSG IP + Port MAC作为可选项
SW3(config)#int e0/0
SW3(config-if)#ip verify source
SW3(config-if)#switchport port-security
验证
SW3#show ip verify source
Storm Control
风暴控制(或者叫流量抑制)监测接口进栈的流量状态,
通过和预先设定的门限值对比一段时间内针对某类报文
(单播、广播和组播)测量预处理。交换机统计一秒钟
之内指定的报文数和预先设定的抑制阀值做对比
收到的报文的速率,即PPS(包每秒)
收到的报文的速率,即bps
流量速率即PPS和针对小的数据帧的特性可以在全局开启。针对小数据帧的阀值在接口配置
上限和下限
启用任意一种方式,当到达上限时都会拥塞端口,直到流量被丢弃的低于
下限(可指定)时,此时报文正常转发
如果没有指定下限,交换机将拥塞流量直到流量速率低于上限。通常
设置一个较高的阀值对抵御广播风暴更优效果
当组播的流量到达阀值时,除了
控制流量比如BPDU和CDP的帧,其他帧都会被拥塞,交换机不会区分路由更新信息,所以正常用于路由信息的组播和正常的组播流量都会被拥塞
MSW1(config)#Interface F0/23
MSW1(config-if)#storm-control broadcast level 50.00/当接口的广播流量超过50%时关闭/
VLAN跳跃攻击
关闭未使用的端口
所有未使用的端口为接入模式
所有未使用的接口划分到一个未使用的VLAN中 中
配制一个未使用的VLAN 作为本征VLAN ,划分端口到该VLAN
配置trunk 端口为ON 模式,关闭动态协商
配置允许的VLAN 通过TRUNK 接口,不允许本征VLAN
URPF(思科私有)
路由器接口一旦使能URPF功能,当该接口收到数据报文时,首先会对数据报文的源地址进行合法性检查,对于源地址合法性检查通过的报文,才会进一步查找去往目的地址的转发表项,进入报文转发流程;否则,将丢弃报文。
URPF检查分为严格(strict)和松散性(loose)两种。
严格型:不但要求路由器的转发表中存在去往报文源地址的路由,还要求报文的入接口与转发表中去往源地址路由的出接口一致,只有同时满足上述两个条件的报文才被认为是合法报文。对非对称路径下严格型检查会错误丢弃报文。
松散型:要求路由器的转发表中存在去往报文的源地址路由即可。
R3(config-if)#ip verify unicast source reachable-via ?
any Source is reachable via any interface //松散模式
rx Source is reachable via interface on which packet was received 严格模式