Cisco IOS 服务密码加密

信息安全 思科
2021-08-18 17:17:31

在 Cisco IOS 中,有一个service password-encryption命令可以加密配置文件中的所有密码,以防止未经授权的个人查看它们。

引用自http://www.cisco.com/c/en/us/td/docs/ios/12_2/security/configuration/guide/fsecur_c/scfpass.html

小心 service password-encryption 命令提供高级别的网络安全性。如果使用此命令,还应采取额外的网络安全措施。

然后是这样写的:

虽然您无法恢复丢失的加密密码(即无法取回原始密码)

那么它们到底是什么意思呢?由于使用了较弱的加密,它并没有提供太多保护,还是因为它仅保护用户不查看配置文件中的密码?

我很困惑,因为他们在 Networking Academy 的材料中说

service password-encryption 命令对所有未加密的密码应用弱加密。

那么它很弱是因为它很容易破解吗?

4个回答

TL;DR不要使用 Type 7 尽可能避免使用 Type 5,并且几乎总是尝试使用 Type 8(不幸的是,Cisco 世界中的 Type 8 并非总是在所有设备上都可用。1


正如这里的用户所说,有“两个”(我在这里使用语音标记,因为实际上还有更多,一些仅在较新版本的代码和某些产品上具有功能,我将在稍后讨论)但是两种密码类型是常见的是 7 型和 5 型。

正如您被告知的那样,Type 7 很容易破解,事实上,通过快速的 Google 搜索,您可以在网上找到一个解密器,例如,是我过去使用过的一个。关键是,它很容易逆转,它背后没有任何安全性,所以请永远不要使用它(除非你只是在运行实验室)。

没有被告知的是为什么它不安全 - 类型 7 使用Vigenère 密码这个密码现在被认为完全被破坏了,简而言之,这个密码使用

基于关键字字母的一系列交织的凯撒密码

这实质上意味着您按顺序采用多个 Ceaser 密码,但是您每次都更改移位值。因此,在 Ceaser 中,您只需在 Vigenère 密码中使用 3 的移位,每次都使用不同的值移位。一个了解 Vigenère 密码如何工作的好网站是Crypto Corner


那么Type 5 更安全呢?是的,它安全,它好吗?很好的存储密码,不是真的。类型 5 使用 MD5。MD5 根本不适合存储密码,请参阅MD5 是否被认为不安全?(我建议阅读 CodesInChaos 的答案和下面的 Thomas Pornins 答案)这两个答案都很棒,并且会告诉您为什么不应该将密码存储在 MD5 中。本质上,MD5 速度很快,每秒可以散列数十亿个密码。MD5 的 Cisco 实现使用了Salt,但是如此处所述由 Tom Leek 撰写,实际上,由于速度的原因,在 MD5 中使用 Salt 并没有任何区别。因此,您是否应该使用类型 5,它确实取决于您的威胁模型,但我建议尽可能不要使用它。正如我之前提到的,实际上还有其他类型。

在较新版本的 Cisco IOS 中,现在有 Type 8 和 Type 9 密码。这是很多更安全。


类型 8 使用 PBKDF2-SHA-256。PBKDF2 很好,因为它被设计为慢而 MD5 不是。Type 8 速度非常慢,这可能是一个问题,尤其是在路由器、交换机等上,这是因为它们不使用强大的 CPU,而像 Cisco 这样的公司并没有具体披露他们使用的 CPU,所以说他们是合乎逻辑的'不是非常强大,例如实际上交换机所做的并不是那么密集,因此他们不会使用非常强大的硬件。当您在 Cisco 交换机上生成具有 4096 位的 RSA 密钥时,这一点变得很明显。一般来说,PBKDF2 似乎是汤姆在此处提到的密码存储标准它似乎也是 NIST 推荐用于存储密码的方法,因此如果您可以选择我会推荐 Type 8,它将比 Type 7 安全得多,并且比 Type 5 安全得多,所以如果您有能力然后使用它。同样,这完全取决于您的威胁模型一般来说,虽然我会说如果您在客户网络上使用它(客户是客户,也许您也销售网络解决方案)然后尽可能尝试使用 Type 8。


最后,您拥有 Type 9 Scrypt,而我无法评估其安全性是时候由加密专家研究了。然而,简单地说,Scrypt将比Type 7 和 Type 5 安全得多,因为它再次被设计为慢速,这意味着计算时间要长得多,因此您想认为“更安全”。Scrypt 的一个很好的资源在这里


综上所述,你应该使用Type 7还是Type 5?答案是不。您当然不应该使用 Type 7,这太糟糕了。关于Type 5,也不要使用它。使用 MD5 存储密码根本不安全。

在生产环境中,请完全避免使用 Type 7 在必要/可能的情况下避免使用 Type 5,并且几乎可以肯定尝试实施 Type 8 或 Type 9,因为 NIST 建议使用 PBKDF2,因为倾向于使用 Type 9 .


我想提的最后一件事是 - 显然这仅适用于本地凭据(我希望)如果您要安装生产网络,请使用某种 RADIUS 服务器,这更安全(尤其是如果您有一个 NOC,其中有多个工程师工作)。


1 - 我意识到我没有提到 Type 4,但如果你要在网络上实现它,你不应该在 IT 部门工作,你需要升级你的设备才能享受它们将不再支持 Type 4

服务密码加密将使用非常弱的 7 型加密对 cisco 路由器中的所有密码进行加密,您可以立即使用许多在线工具从哈希中恢复密码。但是如果您使用例如启用密码作为启用密码它将使用更强大的 MD5 进行散列

是的,它很弱/不安全,因为它很容易破解。服务密码加密的最初实现是为了防止“over-the-shoulder”攻击,以及针对可能有权访问配置文件但实际上并不知道自己在做什么的随机人员。任何知道自己在做什么的攻击者都不会被密码加密服务阻止,这就是为什么思科说要采取额外的网络安全措施来防止攻击者一开始就到达那个点。示例:您可以在 Cisco 设备上设置用户并指定用户可以实际执行的命令,这比拥有一个可以访问所有内容的“管理员”用户更好。这可以使用 AAA 服务器和 Tacacs+ 来完成。

此外,MD5 虽然更强,但被认为很弱,因为有在线工具,它们拥有包含数十亿个已散列密码的数据库。创建密码时,长度是您的朋友。示例:一个 8 个字符的密码,无论您使用多少花哨的符号和字符,都可以在几分钟内被破解。

那里有2种类型:

密码 7 - 可逆

秘密 5 - 这不是

所以对于密码,使用/替换所有密码而不是密码,你会没事的。

例子:

no username tmp2 password 7 013656474776742

username tmp2 privilege 15 secret YourNewPassword