二层安全
二层***方法可分为四大类:
1、
MAC layer attacks 2、VLAN attacks
3、
spoof attacks 4、attacks on switch devices
一、
MAC layer attacks***方法:
1、
MAC地址flooding***
2、
MAC地址的欺骗***解决方案:
a、基于源
MAC地址允许流量:端口安全 b、基于源MAC地址限制流量:static CAM
c、阻止未知的单
/组播帧 d、802.1x基于端口的认证
二、
VLAN attacks解决方案:
1、
switch mode access 2、VACL 3、PVLAN
三、
spoof attacks的分类:
1、
DHCP spoof 解决方案:DHCP snooping
2、
IP spoof 解决方案:IP 源防护
3、
ARP spoof 解决方案:a、静态绑定ARP条目 b、DAI
四、
attacks on switch devices
1、关闭不必要的服务,比如
CDP 2、限制广播/组播流量
3、为交换机设置登录密码
4、使用SSH实现安全的登录
<端口安全>
·
SW端口安全是2层特性,提供两个方面的保护:
1、 可以限定一个接口所能学习的
MAC地址数量 2、可以在一个接口静态绑定MAC地址
方法:
1. 基于主机
MAC来允许流量
·可定义
2个参数:授权的MAC地址/允许学习多少个MAC地址(默认=1)
·违背端口安全,采取的行为:
1.shutdown:将永久性或特定周期内Err-Disable端口(默认行为),并发送snmp trap 2.restrict:当超过所允许学习的最大MAC数时,将未授权主机的帧丢弃drop,并将violation计数器增加
3.protect :当超过所允许学习的最大
MAC数时,将未授权主机的帧丢弃drop
int f0/1 switchport mode access
//启用端口安全时,必须先设为
access接口 switchport port-security //启用端口安全(默认只能学一个MAC,当没有开 Port-security时,可以接收无数个)
switchport port-security maximum 1
//指定最多允许学多少个地址
switchport port-security mac-address aaaa.bbbb.cccc switchport port-security violation [protect|restrict|shutdown] //指定行为
switchport port-security aging time 1 (分钟)
//设定多长时间后能重新学习MAC地址,也就是设定现有MAC地址的有效期
switchport port-security mac-address sticky //将动态学到的地址粘住,永久使用
show port-security
//可以看到哪些接口应用了端口安全
show port-security address //可以看到授权的MAC地址show port-security interface f0/1 //可以看到接口的具体状态show interfaces fastEthernet 0/1
FastEthernet0/1 is down, line protocol is down (err-disabled)
通常做接口安全,要先把接口
shut down,这样它就不会自动学习
让
err-disable接口自动恢复errdisable recovery cause psecure-violation(设置时间:errdisable recovery interval time)show errdisable
2.基于主机
MAC来限制流量 (3550上才可以做) 列表中定义的MAC将被限制流量
mac-address-table static 0010.7b80.7b9b vlan 1 drop
3、阻塞未知单
(组)播扩散(3550上才可以做)
对未知
MAC地址,SW将从本VLAN的其他端口转发出去,但对于某些端口(端口安全只需要一个MAC/已到最大MAC)没必要再转发这些单(组)播。就可以在这些端口上设定这一特性,通常结合端口安全来做。
int f0/1 switchport block [unicast | multicast]
show int f0/1 switchport
...Unknown unicast blocked: enabled...Unknown multicast blocked: disabled
4、
802.1x基于端口的认证:
一种第二层的访问控制方法,通过
AAA服务器对接入一个接口的用户进行认证,以决定客户能否访问网络。
配置:
aaa new-modelaaa authentication dot1x default group radiusdot1x system-auth-control
interface f0/1 dot1x port-control auto
Vlan 的
access-map (可以基于mac与ip)VACL也叫VLAN映射表,通过VACL可以实现对一个VLAN中的流量进行过滤。VACL可以根据二层信息进行过滤,也可以根据三层信息来进行过滤。
1、通过调用
IP ACL,可以根据三层的IP地址、协议以及端口号等信息进行过滤。
2、通过调用
MAC ACL,可以根据MAC地址进行过滤,还可以过滤其它的非IP流量。
每一个
VACL可以包含多条语句,每一条语句对于匹配的流量可以有三种不同的操作:
a、
forward 转发,对数据帧或数据包进行正常转发
b、
drop 丢弃,当数据流与某个拒绝语句匹配上,将被丢弃
c、重定向
对于数据流的转发方向作重定向 (高端交换机才支持)
注意:如果没有说明一条语句的操作行为,默认的行为是
forward。如果进入VLAN的数据流没有匹配上任何一条语句,最后将被丢弃掉。
* 基于
IP的:
access-list 1 permit 192.168.1.1 0.0.0.0
vlan access-map WOLF 10 match ip address 1 action dropvlan access-map WOLF 20 action forword
vlan filter WOLF vlan-list 100
//全局模式下调用,要指明用在哪个
VLAN中,也可对所有ALL
注意:每一条语句默认是转发的
show run 可以看到有 action forword
show vlan access-mapshow vlan filter
* 基于
mac地址的(MAC地址列表,PACL):
1、先写
MAC地址列表mac access-list extended ccnp permit host 00e0.1e3d.d18c any
2、再写
access-mapvlan access-map wolf 10 action drop match mac address ccnpvlan access-map wolf 20 action forward
3、调用:
R1(config)#vlan filter wolf vlan-list 10
Access-map的名字
vlan号R1(config)#vlan filter wolf vlan-list all 对所有VLAN
注意:做这个实验时,要在每一台路由器上先
clear arp-cache
DHCP snooping原理:
启用后,可以将交换机的端口分为
trusted接口和Untrusted接口,默认在交换机上启用后,所有接口变为Untrusted接口,需要手动设置trusted接口。--对于Untrusted接口,只能接收DHCP的请求消息,不会向这个接口发送出DHCP的请求消息。并且drop掉接口进来的DHCP的响应消息。--对于trusted接口,没有任何限制,也不做检测。
注意:早期的
IOS不支持
配置实例:
第一步:
SW1(config)#ip dhcp snooping 必须先开启这一命令,相当于总开关SW1(config)#ip dhcp snooping vlan 1 再指定VLAN,这一步也必须要
第二步:指定
trusted接口,通常是trunk接口vb 、连接真实DHCP服务器的接口。SW1(config-if)#ip dhcp snooping trust
第三步:还要在被信任的
DHCP服务器上打上下列命令:(如果是用路由器做DHCP服务器的话才需要)R1(config)#ip dhcp relay information trust-all
SW1#show ip dhcp snooping
关键点:
DHCP snooping会在接入的交换机上建立一个DHCP绑定表,为每一个分配的IP建立一个表项,其中包括客户端的IP地址、MAC地址、端口号、VLAN编号、租用和绑定类型等信息。也可手动向这个绑定表中添加表项。
SW1#show ip dhcp snooping binding
只显示动态的绑定项
SW1#show ip dhcp snooping databaseSW1#show ip source binding 显示动态和静态绑定项
SW1(config)#ip dhcp snooping binding 1234.5678.abcd vlan 20 172.16.1.1 interface f0/5 静态绑定一个条目
其它命令:
SW1(config)#ip dhcp snooping information option //启用option82选项,默认就已开启SW1(config)#ip dhcp snooping limit rate 100 //限定接口每秒可收多少个DHCP请求包
IPSG源保护:
源保护特性可防止非法设备盗用合法设备的
IP接入网络,只能用于二层端口
需要用到
IP绑定表,有两种方式获得绑定条目:
1、静态绑定
IP源地址 2、使用DHCP snooping技术中动态生成的源IP绑定表
原理:一旦在一个接口启用了源保护,这个接口默认拒绝所有
IP,除非在IP绑定表中有这个接口对应的IP地址绑定条目。
ip source binding aaaa.bbbb.cccc vlan 1 100.1.1.1 interface f0/1 静态绑定
ip dhcp snooping ip dhcp snooping vlan 1
interface f0/10 ip verify source
//开启源保护,只基于
IP进行检查,在3560和3750上这样配 ip verify source port-security //开启源保护,基于IP和MAC进行检查,默认对于所有的IP是deny-any,对于mac的动作是permit-any,如果做了端口安全,对于mac的动作就是deny-any。
SW1(config-if)#ip verify source vlan dhcp-snooping port-security 好像
4500以上才这样开启
show ip verify source 查看所允许的
IP地址show ip source binding
DAI(
dynamic arp inspection)
一种能够验证网络中
ARP数据包的安全特性,可以防止中间人***。
通常需要和
DHCP的snooping结合使用,因为要利用到DHCP snooping技术生成的绑定表。也可静态写IP和MAC的绑定表
原理:启用
DAI后,将接口分为trusted和untrusted。对于untrusted接口,要进行ARP的检查,必须是和绑定表中的条目相匹配的ARP包才允许通过。
ip arp inspection vlan 1
//启用
int f0/1 ip arp inspection trust //指定
arp检测的trust接口,一定要做
ip arp inspection limit rate 100 //限制每秒所接收的
arp包个数
show ip arp inspection interfacesshow ip arp inspection vlan 1
一个实际案例:
(不跟DHCP的snooping结合,单独使用DAI)
arp access-list WOLF permit ip host 162.16.40.1 mac host 0000.0c07.ac28
Cisco7609_2(config)#ip arp inspection vlan 40Cisco7609_2(config)#ip arp inspection filter WOLF vlan 40 static
注意:
ARP包是直接封装进二层的,所以上面的源保护技术没法对付ARP欺骗
广播
/组播抑制:
用于对流入端口的广播和组播流量进行监控,超过阀值后丢弃数据包。
3550(
config-if)#storm-control broadcast level 5 按百分比进行监控3550(config-if)#storm-control broadcast bps 10 按实际流量,注意单位是M