我的 Cisco 路由器 1900 系列出现了问题,路由器有时会停止路由数据包,当我登录路由器并显示正在运行的配置时,我看到没有 IP 路由,执行 IP 路由命令无法解决问题,我必须重新启动路由器才能使其再次工作。我以为这是一次攻击,但即使更改了所有密码,问题仍然存在,而且每次发生之间的时间间隔非常随机!有时是 15 分钟,有时是几个小时或几天。
我看到一个思科支持论坛上的讨论令人惊讶的是,这个问题在 6 天前就开始了(我的问题也是最近才出现的,大约 2 周前)
到现在他们还没有解决这个问题,我想听听你们的意见和想法,路由器是否可以在某些情况下或出于某些原因禁用其路由?你遇到过这样的问题吗?你是如何解决的?
谢谢!
答案1
Cisco 支持论坛主题现在有答案。这是您的 SNMP 配置,其中包含易于猜测的社区字符串和 RW 访问权限。
http://www.cisco.com/c/en/us/support/docs/ip/access-lists/13608-21.html#anc50
答案2
这是思科支持论坛的答案,以防万一关联损坏。显然这与 SNMP 配置有关,它应该更安全。
强化简单网络管理协议
本节重点介绍几种可用于保护 IOS 设备中 SNMP 部署的方法。必须妥善保护 SNMP,以保护网络数据和传输该数据的网络设备的机密性、完整性和可用性。SNMP 为您提供了大量有关网络设备健康状况的信息。应保护这些信息,防止恶意用户利用这些数据对网络进行攻击。
- SNMP 社区字符串
社区字符串是应用于 IOS 设备的密码,用于限制对设备上的 SNMP 数据的只读和读写访问。与所有密码一样,这些社区字符串应谨慎选择,以确保它们不是无足轻重的。社区字符串应定期更改,并符合网络安全策略。例如,当网络管理员更换职位或离开公司时,应更改字符串。
这些配置行配置只读社区字符串 READONLY 和读写社区字符串 READWRITE:
!
snmp-server community READONLY RO
snmp-server community READWRITE RW
!
笔记:选择前面的社区字符串示例是为了清楚地解释这些字符串的用途。对于生产环境,应谨慎选择社区字符串,并且应由一系列字母、数字和非字母数字符号组成。有关选择非简单密码的更多信息,请参阅创建强密码的建议。
有关此功能的更多信息,请参阅《IOS SNMP 命令参考》。
- 带有 ACL 的 SNMP 社区字符串
除了社区字符串之外,还应应用 ACL,进一步将 SNMP 访问限制为选定的一组源 IP 地址。此配置将 SNMP 只读访问限制为位于 192.168.100.0/24 地址空间中的终端主机设备,并将 SNMP 读写访问限制为位于 192.168.100.1 的终端主机设备。
笔记:这些 ACL 允许的设备需要正确的社区字符串才能访问请求的 SNMP 信息。
!
access-list 98 permit 192.168.100.0 0.0.0.255
access-list 99 permit 192.168.100.1
!
snmp-server community READONLY RO 98
snmp-server community READWRITE RW 99
!
有关此功能的更多信息,请参阅 Cisco IOS 网络管理命令参考中的 snmp-server 社区。
- 基础设施 ACL
可以部署基础设施 ACL (iACL),以确保只有具有可信 IP 地址的终端主机才能向 IOS 设备发送 SNMP 流量。iACL 应包含拒绝 UDP 端口 161 上未经授权的 SNMP 数据包的策略。
有关使用 iACL 的更多信息,请参阅本文档的使用基础设施 ACL 限制对网络的访问部分。
- SNMP 视图
SNMP 视图是一种安全功能,可以允许或拒绝对某些 SNMP MIB 的访问。一旦使用 snmp-server community community-string view 全局配置命令创建视图并将其应用于社区字符串,如果您访问 MIB 数据,则您将被限制在该视图定义的权限内。在适当的情况下,建议您使用视图将 SNMP 用户限制为其所需的数据。
此配置示例使用社区字符串 LIMITED 将 SNMP 访问限制为位于系统组中的 MIB 数据:
!
snmp-server view VIEW-SYSTEM-ONLY system include
!
snmp-server community LIMITED view VIEW-SYSTEM-ONLY RO
!
Refer to Configuring SNMP Support for more information.
- SNMP 版本 3
SNMP 版本 3 (SNMPv3) 由 RFC3410、RFC3411、RFC3412、RFC3413、RFC3414 和 RFC3415 定义,是一种可互操作的基于标准的网络管理协议。SNMPv3 提供对设备的安全访问,因为它可以对网络上的数据包进行身份验证和(可选)加密。在支持的情况下,可以使用 SNMPv3 来在部署 SNMP 时增加另一层安全性。SNMPv3 包含三个主要配置选项:
no auth - 此模式不需要任何身份验证,也不需要对 SNMP 数据包进行任何加密 auth - 此模式要求对 SNMP 数据包进行身份验证,但不进行加密 priv - 此模式要求对每个 SNMP 数据包进行身份验证和加密(隐私) 必须存在权威引擎 ID,才能使用 SNMPv3 安全机制(身份验证或身份验证和加密)来处理 SNMP 数据包;默认情况下,引擎 ID 是在本地生成的。可以使用 show snmp engineID 命令显示引擎 ID,如以下示例所示:
router#show snmp engineID
Local SNMP engineID: 80000009030000152BD35496
Remote Engine ID IP-addr Port
笔记:如果 engineID 发生变化,则必须重新配置所有 SNMP 用户帐户。
下一步是配置 SNMPv3 组。此命令使用 SNMP 服务器组 AUTHGROUP 配置 Cisco IOS 设备以支持 SNMPv3,并使用 auth 关键字仅启用此组的身份验证:
!
snmp-server group AUTHGROUP v3 auth
!
This command configures a Cisco IOS device for SNMPv3 with an SNMP server group PRIVGROUP and enables both authentication and encryption for this group with the priv keyword:
!
snmp-server group PRIVGROUP v3 priv
!
This command configures an SNMPv3 user snmpv3user with an MD5 authentication password of authpassword and a 3DES encryption password of privpassword:
!
snmp-server user snmpv3user PRIVGROUP v3 auth md5 authpassword priv 3des
privpassword
!
请注意,snmp-server 用户配置命令不会按照 RFC 3414 的要求显示在设备的配置输出中;因此,无法从配置中查看用户密码。要查看已配置的用户,请输入 show snmp user 命令,如本例所示:
router#show snmp user
User name: snmpv3user
Engine ID: 80000009030000152BD35496
storage-type: nonvolatile active
Authentication Protocol: MD5
Privacy Protocol: 3DES
Group-name: PRIVGROUP
有关此功能的更多信息,请参阅配置 SNMP 支持。
- 管理平面保护
Cisco IOS 软件中的管理平面保护 (MPP) 功能可用于帮助保护 SNMP,因为它限制了 SNMP 流量在设备上终止的接口。MPP 功能允许管理员将一个或多个接口指定为管理接口。管理流量只能通过这些管理接口进入设备。启用 MPP 后,除指定管理接口外,任何接口都不会接受发往设备的网络管理流量。
请注意,MPP 是 CPPr 功能的子集,需要支持 CPPr 的 IOS 版本。有关 CPPr 的更多信息,请参阅了解控制平面保护。
在此示例中,使用 MPP 来限制 SNMP 和 SSH 访问仅限于 FastEthernet 0/0 接口:
!
control-plane host
management-interface FastEthernet0/0 allow ssh snmp
!
有关详细信息,请参阅管理平面保护功能指南。
然而我发现这也可能与漏洞有关,这里是他们讨论该问题以及如何修复它的链接: http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20010227-ios-snmp-ilmi