SSH和交换机端口安全概述

交换机的安全是一个很重要的问题,因为它可能会遭受到一些恶意的攻击,例如MAC泛洪攻击、DHCP欺骗和耗竭攻击、中间人攻击、CDP 攻击和Telnet DoS 攻击等,为了防止交换机被攻击者探测或者控制,必须采取相应的措施来确保交换机的安全性,常见的安全措施包括:配置访问密码、配置标语消息、远程管理使用SSHv2替代Telnet、禁用不需要的服务和应用、禁用未使用的端口、关闭SNMP或者使用SNMPv3、启用系统日志和及时安装最新的IOS软件等。

SSH简介

采用Telnet远程管理设备时对登录身份验证和通信设备之间传输的数据都采用不安全的明文传输,不能有效防止远程管理过程中的信息泄露问题。SSH是Secure Shell(安全外壳)的简称,当用户通过一个不能保证安全的网络环境远程登录到设备时,SSH可以利用加密和验证功能提供安全保障,保护设备不受诸如IP地址欺诈、明文密码截取等攻击。SSH工作端口为TCP22端口。SSH目前包括SSH1和SSH2两个版本,而且两个版本不兼容,通信双方通过协商确定使用的版本。为实现SSH的安全连接,在整个通信过程中服务器端与客户端要经历版本号、密钥和算法、验证阶段协商以及会话请求和会话交互5个阶段,由于SSH版本2在数据加密和完整性验证方面更加强大,建议使用。

交换机端口安全简介

交换机依赖CAM表转发数据帧,当数据帧到达交换机端口时,交换机可以获得其源MAC地址并将其记录在CAM表中。如果CAM表中存在目的MAC地址条目,交换机将把帧转发到CAM表中指定的MAC地址所对应的端口。如果MAC地址在CAM表中不存在,则交换机将帧转发到除收到该帧端口外的每一个端口(即未知单播帧泛洪)。然而CAM表的大小是有限的,MAC泛洪攻击正是利用这一限制,使用攻击工具以大量无效的源MAC地址发送给交换机,直到交换机CAM表被填满,这种使得交换机CAM表溢出的攻击称为MAC泛洪攻击。当CAM表被填满时,交换机将接收到的流量泛洪到所有端口,因为它在自己的CAM表中找不到对应目的MAC地址的端口号,交换机实际上是起到类似于集线器的作用。

配置交换机端口安全特性可以防止MAC泛洪攻击。端口安全限制交换机端口上所允许的有效MAC地址的数量或者特定的MAC地址。端口安全工作方式主要有如下3种。

  1. 静态:只允许具有特定MAC地址的终端设备从该端口接入交换机。如果配置静态端口安全,那么当数据包的源MAC地址不是静态指定的MAC地址时,交换机将按照惩罚模式进行惩罚,并且端口不会转发这些数据包。
  2. 动态:通过限制交换机端口接入MAC地址的数量来实现端口安全。默认情况下,交换机每个端口只允许一个 MAC地址接入该端口。
  3. 粘滞:这是一种将动态和静态端口安全结合在一起的方式。交换机端口通过动态学习获得终端设备的MAC地址,然后将信息保存到运行配置文件中,结果就像静态方式,只不过MAC地址不是管理员静态配置的,而是交换机自动学习的。当学到的MAC地址的数量达到端口限制的数量时,交换机就不会自动学习了。

无论采用以上哪种方式配置端口安全,当尝试访问该端口的终端设备违规时,都可以通过如下三种模式之一进行惩罚。

  1. 保护(Protect):当新的终端设备接入交换机时,如果该端口的 MAC 地址条目超过最大数目或者与静态配置的 MAC地址不同,则这个新的终端设备将无法接入,而原有的设备不受影响,交换机不发送警告信息。
  2. 限制(Restrict):当新的终端设备接入交换机时,如果该端口的 MAC 地址条目超过最大数目或者与静态配置的MAC地址不同,则这个新的终端设备将无法接入,而原有的设备不受影响,交换机会发送警告信息,同时会增加违规计数器的计数。
  3. 关闭(Shutdown):当新的终端设备接入交换机时,如果该端口的MAC地址条目超过最大数目或者与静态配置的MAC地址不同,交换机该端口将会被关闭,并立即变为错误禁用(error-disabled)状态,这个端口下的所有设备都无法接入交换机,交换机会发送警告信息,同时会增加违规计数器的计数。当交换机端口处于error-disabled状态时,在端口先输入shutdown命令,然后再输入 no shutdown命令可重新开启端口,如果仍有违规终端设备接入,则继续进入error-disabled 状态。这种惩罚模式是交换机端口安全的默认惩罚模式。3种交换机端口安全交换机端口安全惩罚模式比较如下表所示。

3种交换机接口安全惩罚模式比较

|----------|----------|------|--------|------|
| 惩罚模式 | 转发违规设备流量 | 发出警告 | 增加违规计数 | 关闭端口 |
| Protect | 否 | 否 | 否 | 否 |
| Restrict | 否 | 是 | 是 | 否 |
| Shutdown | 否 | 是· | 是 | 是 |

相关推荐
若汝棋茗3 分钟前
TouchSocket奇幻漂流记:从零开始的网络编程冒险 [特殊字符]
网络
buyutang_18 分钟前
Linux 网络编程:深入浅出UDP协议Socket编程规范
linux·网络·udp
猴哥聊项目管理36 分钟前
2025年项目管理软件10款云原生部署方案的稳定性对比
安全·云原生·金融·软件工程·项目管理工具·项目管理软件·企业管理
SaaS_Product38 分钟前
企业网盘怎么注册?一文解读申请流程
网络·人工智能·云计算·saas·onedrive
朗晴1 小时前
Linux修改SSH远程端口号22!
linux·运维·ssh
汽车仪器仪表相关领域1 小时前
SCG-1 增压 + 空燃比二合一仪表:涡轮改装的 “空间杀手” 与 “安全保镖”
大数据·服务器·人工智能·功能测试·安全·汽车·可用性测试
涡轮蒸鸭猫喵1 小时前
-------------------UDP协议+TCP协议-------------------------
java·网络·笔记·网络协议·tcp/ip·udp
松☆1 小时前
OpenHarmony + Flutter 车机系统开发实战:构建高性能、高安全的智能座舱应用
安全·flutter
谷粒.1 小时前
AI在测试中的应用:从自动化到智能化的跨越
运维·前端·网络·人工智能·测试工具·开源·自动化
AI分享猿2 小时前
Java后端实战:SpringBoot接口遇袭后,用轻量WAF兼顾安全与性能
java·spring boot·安全·免费waf·web防火墙推荐·企业网站防护·防止恶意爬虫