网络安全防护和入侵检测(NSA的网络安全报告之网络基础设施安全指南)

5. 本地管理员账户和密码

本地账户对于网络设备的管理至关重要。如果集中式身份验证失败,本地账户将为管理员提供对网络设备的访问权限,以排除和诊断网络问题。本地账户应是唯一的,使用唯一且复杂的密码进行身份验证,并为各个管理员提供问责制。如果组织不存在密码策略,请建立并强制实施新策略。必要时定期审查和修订政策。

本节主要关注本地账户和密码。传统网络设备使用旧方法管理本地账户,并且它们可能不支持用于组合、更改和验证密码的建议机制。这些本地账户的简单性要求应用不同的建议。这与集中式AAA服务器形成鲜明对比,在集中式AAA服务器中,可以正确实现多因素身份验证,密码复杂性,以前的密码比较和其他概念。

5.1 使用唯一的用户名和账户设置

大多数设备都具有向公众播发的默认管理凭据,并且它们通常授予对设备的完全管理访问权限。维护这些设置使攻击者可以轻松进入网络进行连接,并可能获得特权级别访问权限,以匿名监视或重新配置设备。

NSA 建议删除所有默认配置,并使用每个管理员的唯一安全账户重新配置每个设备。在未先更改默认管理设置和账户的情况下,请勿将任何新设备引入网络。

注意:某些设备上的默认用户账户无法删除。

账户可以由单个管理员使用,也可以在组之间共享。但是,如果多个管理员使用组账户访问设备,则无法强制实施责任,因为配置更改不会与特定个人相关联。因此,攻击者会针对组账户来未经授权访问设备。

NSA 进一步建议禁用所有共享或组管理员账户,并为每个管理员使用唯一的账户,以提供对配置更改的访问权限并确保每个设备上的问责制。如果需要组账户,NSA 建议监视这些账户以检测任何可疑活动。为每个管理员创建备份本地账户可能不可行,但每个管理员都知道的单个组账户并不能提供个人责任。

NSA 还建议仅在集中式 AAA 服务器不可用的紧急情况下使用本地账户。唯一的本地紧急账户密码应由无法直接访问设备的受信任个人维护。在活动期间,管理员可以请求本地账户和密码,一旦紧急情况结束,受信任的个人就可以更改密码。这将防止密码重用并确保问责制。所有其他身份验证请求应通过集中式 AAA 服务器进行。

5.2 更改默认密码

大多数设备都分配有默认密码,有时没有密码,以允许管理员在初始配置之前轻松访问。其中许多密码是众所周知的,通常不需要更改即可使设备正常工作。它们是恶意自动扫描程序(僵尸网络)利用的主要目标,因为默认凭据提供对设备的特权级别访问。

NSA 建议删除所有默认密码,并为所有访问级别(包括用户和特权级别)分配唯一、复杂且安全的密码。此外,在将新设备引入网络时,请在将设备连接到网络之前更改默认用户和特权级别密码。

5.3 删除不必要的账户

默认情况下,某些设备配置了不必要的账户。由于它们可能很少使用或根本不使用,因此这些账户经常被忽视。如果可能,请重命名或删除不与特定管理员关联的默认账户。

NSA建议,授权登录设备的账户数量应限制在必要的范围内;应删除所有其他内容。当管理员离开组织或更改角色时,应禁用或删除关联的账户。在 Cisco IOS 设备上,使用以下配置命令删除本地账户:

no username <NAME>

网络安全防护和入侵检测(NSA的网络安全报告之网络基础设施安全指南)(1)

5.4 使用安全算法存储密码

密码通常以明文、加密或单向哈希的形式存储在设备的配置或本地数据库中。永远不要使用明文,并且某些加密或哈希函数被认为是弱的,并且很容易使用公开可用的工具来破坏。攻击者可以通过使用网络分析器或破坏存储配置文件的中央管理系统,从配置或本地数据库中累积密码或哈希。明文和弱算法密码很容易被破解,并用于获取用户或特权级别的设备访问权限。思科 IOS 支持以下单向哈希和加密类型:

  • Type 0不应使用密码,因为它们以明文形式存储
  • Type 4 不应使用密码哈希,因为它们很容易 破解
  • Type 5 应避免使用 (MD5) 密码哈希,除非在不支持类型 6、8或 9 的旧操作系统上
  • Type 6 密码是 AES 加密的,应仅用于需要加密而不是散列的密码(例如 VPN 密钥),或不支持类型 8 的系统(这通常意味着类型 9 也不可用)
  • Type 7 不应使用密码,因为它们很容易逆转, 即使它们是 加密的
  • Type 8 (SHA-256 PBKDF2) 建议使用密码哈希
  • Type 9 (Scrypt) 密码哈希未经美国国家标准与技术研究院(NIST) 批准

有关上述密码类型的详细信息,请参阅“Cisco 密码类型:最佳实践https://media.defense.gov/2022/Feb/17/2002940795/-1/-1/1/CSI_CISCO_PASSWORD_TYPES_BEST_PRACTICES_20220217.PDF”。

NSA 建议使用最安全的可用算法存储设备上的所有密码,切勿以明文形式存储。单向哈希算法是不可逆的,通常应用于存储密码。但是,如果单向哈希算法不可用,则应使用强唯一密钥对密码进行加密。

创建用户账户或分配密码时,某些设备需要指定算法。应特别注意特权级别账户,但本指南也适用于用户账户、管理端口、经过身份验证的路由协议、VPN 密钥以及在设备配置中可能指定密码的任何地方。

使用以下配置命令阻止明文密码:

service password-encryption

使用以下配置命令存储本地账户的 Type 8 密码哈希:

username <NAME> algorithm-type sha256 secret <PASSWORD>

注意:算法类型关键字不会存储在 nvram:/startup-config 中保存的配置中;相反,在散列密码之前,secret关键字将替换为 secret 8。

如果需要可逆加密密码(例如 VPN 密钥),请使用类型 6 AES 而不是类型 7 密码和以下配置命令:

password encryption aes

key config-key password-encrypt <KEY>

<KEY>应该是一个唯一且复杂的密码,用于生成密钥以加密类型 6 密码。它不应该是默认的、弱的或容易猜到的密码,也不应该在配置中的其他位置重复使用。猜测此密钥的对手可以使用它来解密配置中存储的所有 Type 6 密码。设置此键后,通常不需要保留它。

注意: 密钥配置密钥密码加密配置命令不会存储在 nvram:/startup-config 中保存的配置中。

由于不需要保留,NSA建议为每个设备使用唯一的密钥,这将防止对手使用相同的密钥来解密所有设备上的Type 6密码。

注意:如果密钥发生更改,则需要再次手动设置 Type 6 加密密码。

5.5 创建强密码

配置了弱密码的设备可提高攻击者破坏该设备的能力。攻击者可能能够轻松猜出弱密码或使用公开可用的密码破解工具(例如,字典或暴力破解尝试)破解密码。获得特权级别访问权限后,攻击者可以进行配置更改,这可能会危及网络上的其他设备。

NSA建议为所有访问级别(包括用户和特权级别访问)分配唯一且复杂的密码。唯一和复杂的密码还应该用于路由身份验证、时间同步、VPN隧道、简单网络管理协议(SNMP) 社区字符串以及配置中存储的任何其他密码。密码应满足以下复杂性要求:

  • 使用所有不同的字符类(大写、小写、数字和特殊字符)
  • 长度至少为 15 个字符
  • 不基于未经修改的单词或首字母缩略词
  • 不是键盘行走
  • 与用户名不同
  • 与网络、组织、位置、本地运动队或其他功能标识符无关
  • 与上一个密码或其他地方分配的密码不同或相似
  • 不是默认、空白或公开已知的密码

组织的密码策略可能不要求通过集中式AAA服务器管理的密码遵守所有这些建议,尤其是在与多重身份验证和其他主体结合使用时。上述指南至少应应用于存储在网络设备配置中的本地账户和其他密码,其中无法应用集中式安全控制。

NSA 强烈建议不要使用 SNMP 版本 1 或 2c。有关详细信息,请参阅7.1 禁用明文管理服务和7.8 删除SNMP 读写社区 字符串。

了解网络,位置,程序等的对手可以轻松猜出(或知道)这些术语,从而帮助他们破解密码。

NSA 还建议定期检查弱密码,以强制执行组织的密码策略。在设置新密码之前,应检查密码复杂性。网络管理员应定期查看网络设备配置,以确定弱密码算法的使用。

5.6 使用唯一密码

将相同的密码分配给多个账户或多个访问级别可能会影响问责制和授权。如果管理员通过未加密的协议访问设备,则攻击者可以使用网络分析器从网络流量中收集密码。如果攻击者获得用户级别访问权限,他们可能会重复使用相同的密码来获得特权级别访问权限。

将相同的密码分配给多个设备允许攻击者同时破坏多个设备,而无需任何额外的努力。如果为大多数设备分配了相同的密码,则攻击者只需破坏单个密码即可获得对所有这些设备的特权级别访问权限。

NSA建议为每个设备上的每个账户和特权级别分配一个唯一、复杂且安全的密码。

NSA还建议检查跨多个账户和访问级别以及跨多个设备的密码重用。相同的哈希值可以指示密码重用。

5.7 根据需要更改密码

定期更改密码历来会导致使用较弱的密码,如果用户遵循 5.5 创建强密码中的指导,则可能不需要强制执行此策略。初始创建强密码是减少成功密码泄露的更有效方法。

如果密码或密码哈希已泄露,NSA建议立即更改密码,并按照 5.4 使用安全算法存储密码中所述安全地存储密码。如果有足够的时间和资源,每个密码都可以被猜测或暴力破解,这是对所有可能的字符组合的尝试。未更改的受损密码使攻击者有更多时间使用这些技术。此外,如果攻击者最终破解了旧密码,他们可能会继续尝试更改并猜测当前密码(如果该密码基于以前的密码)。

不幸的是,当密码被泄露时,可能很难辨别,尤其是存储在配置中的本地密码。传统网络设备在存储和传输配置(包括密码和密码哈希)的方式上要简单得多。此外,通过电子邮件发送网络设备配置或将其存储在不受保护的文件共享中可能会构成损害,因为存储在配置中的密码和密码哈希不受保护。此外,使用弱算法存储的密码应被视为已泄露,因为它们明显更容易破解。

如果无法维护密码的机密性,或者组织希望定期尝试驱逐可能已泄露密码而未被发现的行为者,则NSA建议建立老化策略,其中包含定期更改密码。更改本地密码可能比集中式密码麻烦得多,因此有必要选择一个合理实用的时间范围,以便网络管理员遵循,同时减少 攻击者可以使用可能泄露的密码的时间。如果设备不支持长密码,建议更频繁地更改密码,以防止攻击者破解仍在使用的密码 。

注意:如果密码是使用复杂的类型 9 密钥存储的,其中密钥 9 密码哈希以 $14$ 开头,则表示密码最近未更改。密码哈希是在以前的操作系统升级期间从类型 5 转换而来的。应通过将密码更改为具有算法类型 sha256 关键字的 Type 8 密钥来删除复杂的类型 9 密钥,如前面的 5.4 使用安全算法存储密码中所述。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页