本文为书中相关知识的摘要,由于书中以思科设备为配置依据,所以笔记中补充了华为、H3C设备的相关配置。华为设备配置参考华为S2352EI 产品版本:V100R005C01文档版本:02。  H3C配置参考S7600系列文档(资料版本:6W102-20130226 产品版本:S7600系列—Release 6701及以上版本  S7600-X系列 —Release 6901及以上版本 )。
 
一、MAC地址泛洪攻击
通过填满MAC地址表 (桥接表) 导致同一网段内设备之间通讯无法单播,只能通过未知单播泛洪来进行通讯。从而达到窃听信息的目的。
 
解决方法
(1)探测MAC Activity (MAC活跃性)    无实际防护作用,仅对用户通告相关告警
 
Cisco: mac-address-table notification mac-move
H3C: MAC Information   类似于思科的相关探测MAC活跃性的作用。仅用户通过告警。感觉没什么实质意义。
 
(2)Port security (端口安全)  如果使用软件进程来完成相关port security 功能则CPU利用率将会被大量占用。如果基于硬件速率限制则不会。
 
Cisco:   show port-security interface f8/4 查看端口
            show port-security address         查看被保护的MAC地址
            (书上对配置没有详细描述,我对思科设备配置不是很熟悉所以希望大家帮忙补充)
华为:
        接口MAC学习数量限制配置
 
- 执行命令interface interface-type interface-number,进入接口视图。
 
- 执行命令mac-limit maximum max-num,限制接口的MAC地址学习数量。
 
- 缺省情况下,不限制MAC地址学习数量。
H3C的区别,配置接口最多可以学习到的MAC地址数   mac-address max-mac-count  count
 
- 执行命令mac-limit alarm { disable | enable },配置当MAC地址数量达到限制后是否进行告警。
 
- 缺省情况下,对超过MAC地址学习限制的报文进行告警。
执行命令display mac-limit,可以查看MAC地址学习限制的配置是否正确。
 
        接口MAC安全配置    (我认为此配置可较好的解决相关问题,周鹏)
           进入相关接口
             1、 port-security enable
                   使能接口安全功能
 
             2、 port-security mac-address sticky
                   使能接口Sticky MAC功能。
 
             3、   port-security protect-action { protect | restrict | shutdown }
                   配置接口安全功能的保护动作。
protect      当学习到的MAC地址数达到接口限制数时,接口将丢弃源地址在MAC表以外的报文。
restrict      当学习到的MAC地址数达到接口限制数时,接口将丢弃源地址在MAC表以外的报文,同时发出trap告警。
shutdown  当学习到的MAC地址数达到接口限制数时,接口将执行shutdown操作。
 
             4、 port-security max-mac-num max-number
                   配置接口MAC地址学习限制数。
 
           可选 port-security mac-address sticky [ mac-address vlan vlan-id ]   手动配置一条sticky-mac表项。
 
   H3C的配置与华为基本相同。功能亦相同。再次不做赘述。
   PS:H3C的文档易读性明显不如华为做的好。同样的内容花了我很多时间去找。 
 
 注意事项:
1、执行命令port-security aging-time time ,配置接口学习到的安全动态MAC地址的老化时间。
2、使能接口安全功能后,缺省情况下,接口学习的安全动态MAC地址不老化。若只启用接口安全功能 则 设备重启后安全动态MAC地址会丢失,需要重新学习。
3、Sticky MAC的主要作用是将接口学习到的动态MAC地址转换成静态MAC地址,可以理解为将MAC地址黏在接口上。当接口学习的最大MAC数量达到上限后,不再学习新的MAC地址,只允许这些Sticky MAC和交换机通信。这样一可以避免在设备重启后动态MAC丢失需要重新学习,二可以阻止其他非信任的MAC主机通过本接口和交换机通信。
 
(3)未知单播泛洪保护(unkonw unicast flooding protection)
CISCO:  Router(config)# mac-address-table unicast-flood limit 3 vlan 100 filter 5
               limit限制每个源MAC地址以及每个VLAN的每秒单播泛洪个数. filter值规定了对单播泛洪流量进行多次实践的过滤。 除了filter 还有 alter(告警)         shutdown关闭端口 两个值可选。
               Router #    show mac-address-table  unicast-flood
 
其他方法:
禁止MAC地址学习    使用纯静态MAC表进行转发。MAC表中没有的则直接丢弃
mac-address learning disable 可在端口或VLAN中禁用
 
执行命令drop illegal-mac enable,配置S2352EI设备丢弃全0非法MAC地址报文。
 
缺省情况下,S2352EI设备没有配置丢弃全0非法MAC地址报文的功能

黑客精神不灭,自由意志永存。 

本文同时发在了通信人家园论坛:http://www.txrjy.com/thread-723472-1-1.html

交换机安全学习笔记 第二章 MAC地址泛洪攻击的更多相关文章

  1. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  2. The Road to learn React书籍学习笔记(第二章)

    The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...

  3. [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的“HT”

    [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的"HT" 敲黑板!!! 创建HTML超链接 <a>链接文本(此处会有下划线,可以单击 ...

  4. Mac地址泛洪攻击的防御措施和具体配置

    Mac地址泛洪攻击指的是:利用交换机的mac地址学习机制,攻击者不断地刷新mac地址,填满交换机的mac地址表,以致崩溃,使交换机不得不使用广播发包,从而获取其他人的报文信息. mac地址泛洪攻击的防 ...

  5. 分分钟学会系列:mac地址泛洪攻击实验

    一.实验目的: 通过实战深入理解mac地址泛洪攻击的原理. 二.实验原理: 交换机中有一张非常重要的表,叫做mac表,这个表是一个硬件组成的表,主要是完成快速转发.mac表有大小限制,不同的交换机的m ...

  6. mac地址泛洪攻击的实验报告

    案例介绍: PC A 访问 本网络的一台FTPserver主机,中间人进行arp的投毒,获取PC-A和FTPserve之间的回话记录,截获用户名和密码. 实验拓扑:

  7. [HeadFirst-JSPServlet学习笔记][第二章:高层概述]

    第二章:高层体系结构 容器 1 什么是容器? servelet没有main()方法.它们受控于另一个Java应用,这个Java应用称为容器(Container) Tomcat就是这样一个容器.Web服 ...

  8. c#高级编程第七版 学习笔记 第二章 核心c#

    第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...

  9. 《Python基础教程(第二版)》学习笔记 -> 第二章 列表和元组

    本章将引入一个新的概念:数据结构. 数据结构是通过某种方式阻止在一起的数据元素的集合,这些数据元素可以是数字或者字符,设置可以是其他数据结构. Python中,最基本的数据结构是序列(Sequence ...

随机推荐

  1. postman -- token全局变量

    var data = JSON.parse(responseBody);if (data.data.token) { tests["Body has token"] = true; ...

  2. C# 数据测试

    查询 100w条数据   39列 把100w条数据转换为匿名对象 加入到集合  所用的时间是 32 s 39列 600万条数据

  3. CMS 与 框架

    Framework:框架.是整合的工具集,基于编程语言.可以帮助我们快速开发网站.比较常见的是J2EE(基于Java),Symfony2(基于PHP),Django(基于Python),Ruby on ...

  4. 设置centos7界面语言为中文

    1.在终端中输入命令 vim ~/.bashrc 来编辑“.bashrc”文件 2.在最后添加“ export LANG="zh_CN.UTF-8"  ” 3.执行 sudo sh ...

  5. 通过Flink实现个推海量消息数据的实时统计

    背景 消息报表主要用于统计消息任务的下发情况.比如,单条推送消息下发APP用户总量有多少,成功推送到手机的数量有多少,又有多少APP用户点击了弹窗通知并打开APP等.通过消息报表,我们可以很直观地看到 ...

  6. 项目配置 xml文件时 报错提示(The reference to entity "useSSL" must end with the ';' delimiter.)

    这次在配置xml文件时,出现错误提示( The reference to entity “useSSL” must end with the ‘;’ delimiter.) 报错行为 <prop ...

  7. LeetCode 74. 搜索二维矩阵(Search a 2D Matrix)

    题目描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入: ma ...

  8. Python学习笔记:关于脚本文件中的 if __name__ = '__main__'

    这两天自己写了一个Python脚本文件,但是直接运行这个.py之后发现里面的函数并没有执行,参考别人的代码之后,发现原来要加入以下代码: if name == 'main': 函数名1 函数名2 .. ...

  9. 搭建jenkins集群node结点

    配置结点 首先,需要在jenkins的系统设置中新增一个结点 系统管理 -> 节点管理 -> New Node 配置Remote root directory最好和主jenkins的路径一 ...

  10. tomcat 日志拆分

    一.用cronolog分割tomcat的catalina.out文件 1.编译安装cronologwget http://cronolog.org/download/cronolog-1.6.2.ta ...