首页 > 其他分享 >switch security

switch security

时间:2024-08-21 22:05:32浏览次数:7  
标签:snooping show ip vlan MAC 接口 switch security

二层安全:

 

1、MAC layer attacks

2、VLAN attacks

3、spoof attacks

4、attacks on switch devices

 

一、MAC layer attacks

攻击方法: 1、MAC地址flooding攻击

         2、MAC地址的欺骗攻击

解决方案:

   1、基于源MAC地址允许流量:端口安全

   2、基于源MAC地址限制流量:static CAM

   3、阻止未知的单/组播帧

   4、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

      解决方案:1、静态绑定ARP条目

               2、DAI

 

四、attacks on switch devices

   1、关闭不必要的服务,比如CDP

   2、限制广播/组播流量

   3、为交换机设置登录密码

   4、使用SSH实现安全的登录

 

·SW端口安全是2层特性,提供两个方面的保护:

 1、可以限定一个接口所能学习的MAC地址数量

 2、可以在一个接口静态绑定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)

 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 ( )

 

通常做接口安全,要先把接口shut down,这样它就不会自动学习

 

让err-disable接口自动恢复

errdisable recovery cause psecure-violation

show errdisable

 

(3550上才可以做)

 列表中定义的MAC将被限制流量

 

mac-address-table static 0010.7b80.7b9b vlan 1 drop

 

(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

 

一种第二层的访问控制方法,通过AAA服务器对接入一个接口的用户进行认证,以决定客户能否访问网络。

 

配置:

aaa new-model

aaa authentication dot1x default group radius

dot1x system-auth-control

 

interface f0/1

 dot1x port-control auto

 

 

VACL 也叫 VLAN 映射表,通过 VACL 可以实现对一个 VLAN 中的流量进行过滤。 VACL 可以根据二层信息进行过滤,也可以根据三层信息来进行过滤。

 

1 、通过调用 IP  ACL ,可以根据三层的 IP 地址、协议以及端口号等信息进行过滤。

2 、通过调用 MAC  ACL ,可以根据 MAC 地址进行过滤,还可以过滤其它的非IP流量。

 

    每一个 VACL 可以包含多条语句,每一条语句对于匹配的流量可以有三种不同的操作:

    1 、 forward   转发,对数据帧或数据包进行正常转发

    2 、 drop   丢弃,当数据流与某个拒绝语句匹配上,将被丢弃

    3 、重定向   对于数据流的转发方向作重定向   ( 高端交换机才支持 )

    注意:如果没有说明一条语句的操作行为,默认的行为是 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 drop

vlan access-map WOLF 20

 action forword

 

vlan filter WOLF vlan-list 100   //全局模式下调用,要指明用在哪个VLAN中,也可对所有ALL

 

注意:每一条语句默认是转发的  show run 可以看到有 action forword

 

show vlan access-map

show vlan filter

 

1、先写MAC地址列表

mac access-list extended ccnp

permit host 00e0.1e3d.d18c any

 

2、再写access-map

vlan access-map wolf 10

action drop

match mac address ccnp

vlan 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

 

原理:

--启用后,可以将交换机的端口分为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接口、连接真实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 database

SW1#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请求包

 

源保护特性可防止非法设备盗用合法设备的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

 

是一种能够验证网络中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 interfaces

show 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 40

Cisco7609_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

标签:snooping,show,ip,vlan,MAC,接口,switch,security
From: https://www.cnblogs.com/smoke520/p/18372662

相关文章

  • 跨域、JSONP、CORS、Spring、Spring Security解决方案
    概述JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。跨域是浏览器(如Chrome浏览器基于JSV8引擎,可以简单理解为JS解释器)的一种同源安全策略,是浏览器单方面限制脚本的跨域访问。因此,仅有客户端运行在浏览器时才存在跨域问题,才需要考虑如何解决这个问题。浏览器控制台......
  • 利用Spring Boot的Spring Security实现细粒度访问控制
    利用SpringBoot的SpringSecurity实现细粒度访问控制大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!SpringSecurity是Spring提供的一个功能强大且高度可定制的Java安全框架,用于保护基于Spring的应用程序。在SpringBoot中集成SpringSecurity可以......
  • 5、集成SpringSecurity安全框架---jwt工具类
    token导入依赖<!--jwt--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></dependency><!--jdk9以后已经移除,使用时需要单独导包--><depen......
  • 6、集成SpringSecurity安全框架---
    不使用自带密码校验,创建BCryptPasswordEncoder注入容器,密码加密1、创建loginUser类,实行 UserDetails接口packagecom.exam.entity;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importorg.springframework.security.core.......
  • Spring Security系列之PasswordEncoder
    概述任何一个登录系统的密码不能明文存储,万一发生数据库泄漏事故(不管是内部人员导出数据库数据还是被黑客攻击破解数据库实例节点拿到数据库数据等,又或者是其他情况造成的),将产生巨大的损失。因此明文密码在存储到数据库之前需要加密处理。加密算法有很多,大致有如下分类:哈希函......
  • Spring Security系列之Handler
    概述与Spring、SpringMVC、SpringBoot一样,SpringSecurity里也有很多Handler接口、可以分为两大类,一类是普通的XxxHandler(见名知意),另一类是对应的ServerXxxHandler(RequestRejectedHandler除外)。以AuthenticationSuccessHandler为例,SpringSecurity中用于处理认证成功事件的接......
  • C语言:if&switch分支语句
    目录前言一、if语句1.1if1.2else1.3嵌套if1.4悬空else问题二、switch语句2.1 if语句和switch语句的对比2.2 switch语句中的default前言   C语⾔是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实现这三种结构的,其实我......
  • SNRS Day 3 (Layer 2 Security & IOS IPS)
    缓解二层攻击二层攻击类型cam表溢出mac地址欺骗arp欺骗dhcp饿死交换机工作原理pc1和pc2要通信,pc1需要pc2个mac地址,开始没有mac地址,就会发送arp的请求,如果pc2的ip地址是2,它会询问2的mac地址是多少,这个包发送到交换机,首先交换机会记录下pc1的源mac地址,由于是一个arp......
  • 三层switch转一层switch的处理方法
    阿里三层switch转一层switch的处理方法如下所示的混淆代码,在淘系140、227等滑块的代码经过一些转化后得到。这些转化包括://去自执行避免变量污染traverse(ast,{UnaryExpression:renameScopIdn})//去自执行traverse(ast,{UnaryExpression:movezishixing})//三目运算......
  • JDK 17 以上 switch 语句的 变化
    在JDK17中,switch语句得到了显著的增强,引入了模式匹配(PatternMatching)等特性,使得代码更加简洁、高效。以下是JDK17中switch语句的主要用法和特点:1.格式变化在JDK17中,switch语句的格式发生了改变,主要体现在以下几个方面:冒号变为箭头:传统的switch语句中的冒号(:)在JDK17中被......