前文我们了解了二层MAC安全相关话题和配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16618201.html;今天我们来聊一聊mac安全的综合解决方案端口安全;

  端口安全(Port-security)

  什么是端口安全呢?端口安全是对端口的一种保护机制;我们知道MAC安全特性中,默认情况没有配置任何配置的端口,它能够学习很多动态MAC,并且老化时间为5分钟;即我们没有限制端口学习MAC的数量;没有限制数量这意味着只要有一个MAC帧,对应端口都会学习源MAC,即不管是伪造的mac还是真正设备的MAC,该端口都会进行学习MAC和转发数据;端口安全主要是从MAC的学习数量和MAC的内容进行限制,从而实现该端口只能学习和转发合法的MAC地址及数据;即端口安全提供了限制该端口学习MAC的数量以及限制MAC的内容这两种机制;开启了端口安全功能以后,交换机学习到的动态mac地址会转换为安全MAC地址(安全MAC地址包括,动态安全MAC、安全静态MAC和sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性;

  安全MAC类型

  1、安全动态MAC地址:安全动态MAC是指设备重启后,表项会丢失,需要重新学习,但默认不会被老化;当然我们也是可以配置老化时间;配置了老化时间以后,对应到时间也会自动老化;

  2、安全静态MAC地址:安全静态MAC是指我们手动保存了配置以后,设备重启对应MAC表项不会被清空,同时该类型MAC地址也不会被老化;

  3、Sticky MAC地址:Sticky MAC地址是为了方便管理员将动态学习到的安全动态MAC地址批量转换为安全静态MAC的一种方式;当然我们添加安全静态MAC也是添加为该类型的MAC;该类型MAC属性和安全静态MAC一样,保存了配置以后,对应重启设备,表项不会消失,也不会被老化;

  端口安全保护动作

  提示:端口安全保护动作主要有以上三个,第一个是shutdown是指收到超过限制数量的MAC或者收到非法流量,对应端口会被err-down同时发送警告;restrict是指收到超过限制数量的MAC或者收到非法流量对应端口智慧转发合法的流量同时发送警告,该动作也是默认保护动作;protect是指收到超过限制数量的MAC或者收到非法流量,对应端口只转发合法流量不发送警告;相对restrict是一种静默模式吧;

  端口安全配置

  实验:如下拓扑,配置端口安全

  1、开启端口安全

  提示:port-security enable 该命令只能在端口模式下使用,表示开启该端口的端口安全功能;默认情况下开启了端口功能以后,对应端口就只能学习到一个动态的安全MAC,同时保护动作为restrict;

  验证:查看安全mac

  提示:可以看到现在g0/0/3口学习到一条安全mac;该mac条目类型为security,默认情况下,该条目是不会自动老化的;

  验证:用kali攻击交换机,看看对应g0/0/3是否会学习到其他mac呢?

  提示:可以看到现在用kali攻击交换机,对应g0/0/3不会学习到其他mac,同时交换机还给我们告警说,g0/0/3端口学习mac的数量超出限制;这是因为我们在g0/0/3开启了端口安全功能,默认情况下该端口只学习一个MAC地址(先学习到的mac为安全mac,先到先得的原则);同时默认保护动作为restrict,所以当端口收到的mac帧不是安全mac(超出限制数量也会告警),对应就会给我们告警;

  2、配置最大学习数量

  验证:查看g0/0/3是否只能学习到两个安全mac呢?

  提示:可以看到现在g0/0/3学习到两条mac地址条目,对应类型为security;

  3、配置保护动作为shutdown

  验证:使用kali攻击交换机,看看对应接口是否会shutdown呢?

  提示:可以看到当kali攻击交换机的时候,对应g0/0/3因收到大量的mac帧,超过对应端口的限制,触发保护机制,所以对应即可就被shutdown了;

  配置保护动作为protect

  提示:上述命令表示收到超过限制的mac数量或者非法mac流量时,对应只转发安全mac流量,不告警;

  恢复端口

  验证:用kali攻击交换机,看看对应交换机是否告警?

  提示:可以看到现在kali攻击交换机,对应交换机的端口下不会学习多余的mac,同时也不会告警;

  4、配置安全动态mac的老化时间

  提示:后面的数字10的单位是分钟;

  验证:查看mac地址表项,看看对应的mac是否被清空?

  提示:可以看到对应mac地址表项里的条目已经发生了变化,这说明之前学习到的动态安全mac老化了;

  配置动态安全mac不老化

  5、把动态学习到的安全mac转化为静态安全mac

  提示:上述命令表示把对应接口学习到的安全动态mac转换为静态安全mac;可以看到在对应接口下学习到的动态安全mac现在类型变为了sticky;这样我们保存配置以后,重启交换机,对应mac表项也不会丢失;

  验证:保存配置,重启交换机,看看对应mac表项是否会丢失?

  提示:可以看到我们保存了交换机配置以后,重启交换机,对应mac地址表项并没有丢失;

  6、添加静态安全mac

  提示:这里提示我们超出限制的数量,不能再手动添加;

  将最大学习数量改为3,然后再添加静态安全MAC

  提示:可以看到现在我们的mac地址表项里就多了一条我们刚才添加到静态安全mac条目;

最新文章

  1. Raspberry pi 添加vnc远程桌面控制
  2. 彻底弄懂css中单位px和em的区别(转)
  3. jexus 启动失败 原因定位
  4. Windows 8.1 Update1 6610 32位/64位下载、安装和新增功能简评
  5. 日历的问题C语言,C++(boost),python,Javascript,Java和Matlab实现
  6. 【转】Python中实现远程调用(RPC、RMI)简单例子
  7. Ubuntu 16.04 升级 PHP 版本至 7.1
  8. struts2中配置文件的调用顺序
  9. 【Java实现】栈和队列就是这么简单
  10. tomcat7支持https配置
  11. CentOS.7下安装配置FTP和SFTP服务
  12. sshpass 实现shell脚本直接加载密登录服务器
  13. idea checkout 项目
  14. luigi 学习
  15. Elasticsearch 基础知识要点与性能监控
  16. 洛谷试炼场-简单数学问题-P1403 [AHOI2005]-因数
  17. JavaScript字符串和字符数组
  18. MEF实现设计上的“松耦合”(二)
  19. .Net高级技术——结构体
  20. OpenGL3.x,4.x中使用FreeImage显示图片的BUG-黑色,或颜色分量顺序错乱

热门文章

  1. net core天马行空系列-可用于依赖注入的,数据库表和c#实体类互相转换的接口实现
  2. 『忘了再学』Shell基础 — 31、字符处理相关命令
  3. php 使用phpqrcode生成二维码并上传到OSS
  4. golang的defer踩坑汇总
  5. SAP Web Dynpro - 应用程序中的服务调用
  6. 面试突击61:说一下MySQL事务隔离级别?
  7. Python自动化办公:将文本文档内容批量分类导入Excel表格
  8. 基于SqlSugar的开发框架循序渐进介绍(10)-- 利用axios组件的封装,实现对后端API数据的访问和基类的统一封装处理
  9. java-数据输入,分支结构
  10. 6.4.2 用BFS求最短路