二层交换机密码安全和端口安全
1,配置交换机密码安全
/************* console配置密码 **/ SW1(config)#line console 0 SW1(config-line)#password 123456 SW1(config-line)#login //线下密码 /************* vty配置密码 **/ SW1(config)#line vty 0 4 SW1(config-line)#password 123456 SW1(config-line)#login /************* enable特权模式配置密码 **/ SW1(config)#enable password 123456 /************* secret password 密文配置密码 **/ SW1(config)#no enable password 123456 SW1(config)#enable secret cisco /************* 设置交换机所有密码md5加密 **/ SW2(config)#service password-encryption SW2(config)# no service password-encryption no service password-encryption 之后所设置的密码不会被保护,但是之前的密码还是会hash加密保护
2,用户名密码提示
SW2(config)#banner login "Access !!!!!!!!!!!!!!!!!!!!!!!! secret"
3,配置端口安全
(1)如下图所示的连接Switch0和Switch1相连接,switch1连接PC1,Server0,PC0。在交换机Switch1上的fa0/2上开启port-security
我们来看看switch1的MAC地址表项,发现switch1学习到了MAC地址表项和port-security相关信息
Switch1#show mac-address-table Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 1 0001.4211.9401 STATIC Fa0/1 1 0060.4789.bc69 DYNAMIC Fa0/3 1 00d0.bc29.9310 DYNAMIC Fa0/4 1 00e0.f930.8b87 STATIC Fa0/2
/*** 开启端口安全,这个时候会生成白名单地址表和黑名单地址表,最先连接的MAC地址放在白名单地址表,当白名单地址表达到最大的限制个数时,就会把新来的MAC地址填入黑名单地址表项,那么黑名单地址的MAC地址表项的流量会被丢弃,或者把对应的接口shutdown ***/ Switch(config-if)#switchport port-security /***如下所示默认MaxSecureAddr最大是1,CurrentAddr当前学习到的MAC地址, SecurityViolation安全违反的次数,Security Action违反安全时如何处理,默认是shutdown ****/ Switch#show port-security Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action (Count) (Count) (Count) -------------------------------------------------------------------- Fa0/2 1 1 0 Shutdown
Switch#show port-security address Secure Mac Address Table ------------------------------------------------------------------------------- Vlan Mac Address Type Ports Remaining Age (mins) ---- ----------- ---- ----- ------------- - 1 00E0.F930.8B87 DynamicConfigured FastEthernet0/2 - ------------------------------------------------------------------------------ Total Addresses in System (excluding one mac per port) : 0 Max Addresses limit in System (excluding one mac per port) : 1024
如果我们剪断PC1和Switch1之间的连线,那么这个时候,mac地址表项就会马上删除关于PC1的mac地址表项,我们可以发现没有Fa0/2相关的MAC地址和port-security的相关信息
Switch#show mac-address-table Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- 1 0001.4211.9401 STATIC Fa0/1 1 0060.4789.bc69 DYNAMIC Fa0/3 1 00d0.bc29.9310 DYNAMIC Fa0/4
我们发现当我们剪断网线的时候不仅MAC地址表项没有了,port-security的端口信息也没有了
Switch#show port-security address Secure Mac Address Table ------------------------------------------------------------------------------- Vlan Mac Address Type Ports Remaining Age (mins) ---- ----------- ---- ----- ------------- - Total Addresses in System (excluding one mac per port) : 0 Max Addresses limit in System (excluding one mac per port) : 1024
(2)如下所示是黑客的mac地址案例
交换机主动学习客户端的MAC地址,并建立和维护端口和MAC地址的对应表――CAM表
根本原因――CAM表的大小是固定的攻击者利用工具产生大量的MAC,快速填满交换机的CAM表,交换机就像HUB一样工作,非法攻击者可以利用监听工具监听所有端口的流量
防范的方法:
配置端口安全功能(只能在switchport mode access的接口上配置)
静态设置每个端口所允许连接的合法MAC地址,实现设备级的安全授权
通过配置port security可以控制端口上最大可以通过的MAC地址数量,对于超过规定数量的MAC处理进行违背处理
处理方法:
设置端口安全功能 switchport port-security 设置端口允许合法MAC地址的数目 switchport port-security maximum num 设置超过端口允许的最大MAC地址数后端口行为 switchport port-security violation act shutdown――端口关闭 protect――端口不转发数据,不报警 restrict――端口不转发数据,报警 静态设置每个端口所允许连接的合法MAC地址,实现设备级的安全授权 switchport port-security mac-address X.X.X #Clear mac-address-table dynamic # interface fa 0/4 # switchport mode access # switchport port-security #switchport port-security maximum 3 # switchport port-security violation shutdown # switchport port-security mac-address sticky
模拟上述案例
如下图所示:
a,设置Switch1的Fa0/2的接口模式access
b,设置Fa0/2安全接口,最大只能由一个MAC地址接入
c,当有第二个不同的MAC地址发送流量的时候,直接将接口shutdown
Switch(config)#interfacef0/2 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 1 Switch(config-if)#switchport port-security Switch(config-if)#switchport port-security maximum 1 Switch(config-if)#switchport port-security violation shutdown ///////显示port-security相关的信息 Switch#show port-security address Secure Mac Address Table ------------------------------------------------------------------------------- Vlan Mac Address Type Ports Remaining Age (mins) ---- ----------- ---- ----- ------------- 1 00E0.F930.0822 DynamicConfigured FastEthernet0/2 - ------------------------------------------------------------------------------ Total Addresses in System (excluding one mac per port) : 0 Max Addresses limit in System (excluding one mac per port) : 1024 Switch#
我们来把PC1的MAC地址改成aaaa.bbbb.cccc(记住不是拔网线改MAC地址,是在线修改MAC地址,因为这里是模拟MAC地址攻击),我们看看有什么变化
Switch#show port-security Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action (Count) (Count) (Count) -------------------------------------------------------------------- Fa0/2 1 0 1 Shutdown ---------------------------------------------------------------------- Switch#show interfaces fastEthernet 0/2 FastEthernet0/2 is down, line protocol is down (err-disabled)
在没有修改PC1的MAC地址之前的MAC:00E0.F930.
0822
,修改之后是aaaa.bbbb.cccc,由于f0/2接口最大只允许一个MAC地址终端接入,所以第一个MAC:00E0.F930.
0822会加入到白名单之中
可以发送数据,当第二个MAC:aaaa.bbbb.cccc的主机要通过f0/2接口发送数据的时候会被加入到黑名单之中,所以当我们把MAC地址改了之后就违反的port-security的规定,所以就会把接口直接shutdown,相当于这个接口就不能发送数据了。我们发现此时的f0/2接口是err-disabled状态,那么如果我们想让这个接口继续工作呢?
对于err-disabled状态的接口,我们有时候需要它恢复
第一种方法就是连接到交换机的console,直接在f0/2的接口shutdown,然后就no shutdown就可以了
第二种方法就是自动恢复
/* 命令 errdisable recovery 就是 errdisable的自动回复 psecure-violation 表示由于port-security造成违反产生的err-disabled interval 表示的是自动恢复数据传递需要的时间间隔 */ SW1(config)#errdisable recovery cause psecure-violation SW2(config)#errdisable recovery interval 30
(3)静态的绑定MAC地址以保证接口的安全
那么这个时候就只能MAC地址是aaaa.bbbb.cccc的终端可以通过f0/2来传输数据,这样静态绑定的MAC地址不会消失
Sitch(config)#interface f0/2 Switch(config-if)#switchport port-security mac-address aaaa.bbbb.cccc
(4)粘性MAC地址
自动学习MAC地址,并且将学习到的MAC地址绑定在对应的接口上,即使是拔出网线也不会消失,当超过最大的MAC地址数的限制就会采取违反处罚。 (谁的MAC地址先过来先绑定谁的MAC地址)
Switch(config-if)#switchport port-security mac-address sticky