NSA和CISA红蓝队共享的网络安全误配置TOP10 (下)

admin 2024年2月22日00:11:00评论12 views字数 7747阅读25分49秒阅读模式
缓解措施(MITIGATIONS)
01
安全建设人员

NSA和CISA建议通过以下措施在安全建设上针对性地缓解上文中不安全配置带来的风险。这些缓解措施符合 CISA 和美国国家标准与技术研究院 (NIST) 制定的跨部门网络安全绩效目标 (CPG),以及 MITRE ATT&CK 企业级缓解措施MITRE D3FEND框架

跨部门网络安全绩效目标 (CPG)是CISA和NIST基于现有的网络安全框架,以防范最常见的网络安全攻击为目的提出的,建议所有组织实现的最低安全要求。访问https://www.cisa.gov/cpg获取更多详细信息。

针对软件和应用程序默认配置的安全要求

错误配置

安全建设措施和建议

软件和应用程序的默认配置

  • 在部署上线前修改软件和应用程序的默认配置[M1013],[D3-ACH]。请参阅供应商提供的强化指南和相关网络安全指南(例如 DISA 的安全技术实施指南 (STIG) 和配置指南)。

软件和应用程序的默认配置:默认口令

  • 在部署和测试时,更改供应商提供的服务、软件和应用程序的默认密码[CPG 2.A],并且新密码要满足强密码要求,即大于等于15位的随机字符串组成的密码。

默认权限配置:不安全的AD域证书服务

  • ADCS的安全加固,确保所有AD基础设施及时更新系统补丁,部署相关日志审计或监控措施,使用严格的访问控制策略。

    • 如果企业不需要,请禁用ADCS服务器的WebEnrollment功能,参考微软提供的指南:Uninstall-AdcsWebEnrollment (ADCSDeployment)

    • 如何企业需要使用ADCS服务器的WebEnrollment功能:

    • 必须启用扩展认证保护(EPA)以验证所有的WebEnrollment客户端。参阅微软文档:KB5021989: Extended Protection for Authentication

    • 配置ADCS服务器强制使用SSL

    • 在ADCS服务器上禁用NTLM,参考微软文档:Network security Restrict NTLM in this domain - Windows Security | Microsoft Learn和Network security Restrict NTLM Incoming NTLM traffic - Windows Security

    • 禁用UPN映射的SAN,参考微软文档:How to disable the SAN for UPN mapping - Windows Server。使用智能卡身份验证替代UPN映射,智能卡身份验证可以使用 altSecurityIdentities 属性来更安全地将证书显式映射到帐户。

  • 对ADCS服务器上的权限模板配置进行审计,确保只有需要注册权限的用户和组有相应的权限。从模板中禁用CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT标志以保护用户信息和防止用户编辑模板中的安全敏感配置。强制主管才有权限批准所请求的证书。删除低特权组(例如域用户)对证书模板对象的 FullControl、WriteDacl 和 Write 属性权限。

默认权限配置:不安全的古早协议和服务

  • 确认业务运行是否需要用到LLMNR和NetBIOS

    • 如果不需要,在本地计算机配置或组策略中禁用LLMNR和NetBIOS

默认权限配置:不安全的SMB服务

  • 所有SMB交互的SMB客户端和服务器都要使用SMB签名,以防止已知的中间人攻击例如PTH,参考微软文档:Overview of Server Message Block Signing、Microsoft Windows 11 Insider Preview Build 25381、

管理员/用户权限配置不当

错误配置

改善用户权限分配不当

管理与/用户权限分配不当:

  • 有权限的用户过多

  • 用户权限提升和非必要使用高权限用户

  • 使用AAA系统[M1018]以限制用户的权限和可操作的范围,审计和监控未授权的操作行为,在进行权限配置时依据最小化权限原则。

  • 定期审核用户帐户并删除那些不活动或不必要的帐户 [CPG 2.D]。限制用户帐户创建其他帐户的权限。

  • 限制使用特权帐户执行一般任务,例如访问电子邮件和浏览 Internet [CPG 2.E]、[D3-UAP]。有关详细信息,请参阅 NSA网络安全信息表 (CSI) 捍卫特权和帐户。[37]

  • 基于时间限制特权用户的访问,例如:只有在需要执行操作的时候授权特权用户进行操作,根据最小化权限原则(零信任模型)自动化禁用AD域管理员账户。所有访问操作都需要通过OA提交申请,通过审批流程下发授权。这也适用于云环境,云环境可以通过堡垒机等工具实现。

  • 限制一个域用户同时属于多个系统的本地管理员组

  • 尽可能地使用非管理员权限运行应用程序和服务。

  • 为应用程序和服务使用的账户分配仅必要的权限

  • 禁用不常用服务并通过ACL进行限制

加强内部网络监控

错误配置

加强内部网络监控

监控范围覆盖

不完整的内部网络监控

  • 建立应用程序和服务的基线,并定期审核其访问和使用,特别是管理活动 [D3-ANAA]。例如,管理员应定期审核所有 Web 应用程序和服务的访问列表和权限 [CPG 2.O]、[M1047]。寻找可疑帐户,对其进行调查,并酌情删除帐户和凭据,例如前员工的帐户。[39]

  • 建立组织中具有代表性的流量活动、网络行为、主机行为、用户行为基线,并监控与基线产生偏差的活动。

  • 使用能够检测企业内系统上的特权和服务滥用机会并纠正它们的审核工具[M1047]。

  • 建立安全信息和事件管理 (SIEM) 系统,以提供来自网络端点、日志记录系统、端点和检测响应 (EDR) 系统以及入侵检测系统 (IDS) 的日志聚合、关联、查询、可视化和警报 [CPG 2.T],[D3-NTA]。

加强网络区域的边界划分

错误配置

加强网络区域的边界划分

网络边界模糊

  • 部署下一代防火墙来执行深度数据包过滤、状态检查和应用程序级数据包检查 [D3-NTF]。拒绝或丢弃与网络上允许的特定于应用程序的流量不一致的格式不正确的流量。这种做法限制了参与者滥用允许的应用程序协议的能力。将网络应用程序列入白名单的做法不依赖通用端口作为过滤标准,从而增强了过滤保真度。有关应用程序感知防御的更多信息,请参阅 NSA CSI 网络划分与部署应用级防御。[41]

  • 设计网段以隔离关键系统、功能和资源 [CPG 2.F]、[D3-NI]。建立物理和逻辑分离控制,例如基础设施设备上的虚拟局域网 (VLAN) 配置和正确配置的访问控制列表 (ACL) [M1030]。应对这些设备进行基线设置和审核,以防止访问潜在的敏感系统和信息。利用正确配置的非军事区 (DMZ) 来减少对 Internet 的服务暴露。[42]、[43]、[44]

  • 使用单独的虚拟私有云 (VPC) 实例以隔离重要的云系统。在可能的情况下,实施虚拟机 (VM) 和网络功能虚拟化 (NFV),以实现虚拟化环境和云数据中心中的网络微分段。将安全虚拟机防火墙配置与宏分段结合使用。

加强补丁管理

错误配置

加强补丁管理

缺少补丁管理,未定期更新补丁

  • 确保组织实施并维护高效的补丁管理流程,强制使用最新、稳定版本的操作系统、浏览器和软件 [M1051]、[D3-SU]。[45]

  • 针对暴露在互联网的应用、办公终端和服务器实施不同的补丁管理机制,优先已知的修复危害性和可利用性较高的漏洞、

  • 尽可能地将补丁管理过程自动化,并使用供应商官方提供的补丁

  • 如果遇到一些原因有些系统无法及时修复补丁,尽可能将这些系统单独分区并严格进行访问控制。

缺少补丁管理,未定期更新补丁:使用不再更新的操作系统和落后的固件

  • 评估不受支持的硬件和软件的使用情况并尽快停止使用。如果无法停止,请实施额外的网络保护以降低风险。[45]

  • 修补BIOS和其他固件的补丁,以防止被已知漏洞利用。

避免系统访问控制被绕过

错误配置

避免系统访问控制被绕过

系统访问控制绕过

  • 限制在多个系统间使用相同认证凭据,以防止认证凭据泄露后攻击者可以横向移动到多个系统中[M1026],[D3-CH]。并且通过工具实现对非标准登录行为的监控。

  • 实施有效且常规的补丁管理流程。通过将补丁 KB2871997 应用于 Windows 7 及更高版本来限制本地管理员组中帐户的默认访问权限,从而缓解 PtH 技术 [M1051]、[D3-SU]。[46]

  • 启用 PtH 缓解措施以在网络登录时将用户帐户控制 (UAC) 限制应用于本地帐户 [M1052]、[D3-UAP]。

  • 限制一个域用户同时属于多个系统的本地管理员组[M1018],[D3-UAP]

  • 限制工作站到工作站的通信。所有工作站通信都应通过服务器进行,以防止横向移动 [M1018],[D3-UAP]。

  • 仅在需要这些权限的系统上使用特权帐户 [M1018]、[D3-UAP]。考虑为特权帐户使用专用的特权访问工作站,以更好地隔离和保护它们。[37]

避免MFA配置错误或使用不当

错误配置

避免MFA配置错误或使用不当

错误配置智能卡或tokens

  • 在Windows环境中:

    • 禁用NTLM和其他由于使用密码哈希而容易受到 PtH 影响的旧式身份验证协议[M1032],[D3-MFA]。参考微软文档:Network security Restrict NTLM in this domain - Windows Security | Microsoft Learn和Network security Restrict NTLM Incoming NTLM traffic - Windows Security

    • 通过 Windows Hello 企业版或组策略对象 (GPO) 使用内置功能定期重新随机化与需要智能卡的帐户关联的密码哈希。确保哈希值的更改频率至少与组织策略要求更改密码的频率相同 [M1027]、[D3-CRO]。优先升级无法利用此内置功能的任何环境。

  • 作为一项长期工作,使用现代开放标准实施云主身份验证解决方案。有关更多信息,请参阅 CISA 的安全云业务应用程序 (SCuBA) 混合身份解决方案架构。[47] 注意:本文档是 CISA 安全云业务应用程序 (SCuBA) 项目的一部分,该项目为 FCEB 机构提供指导,以保护其云业务应用程序环境并保护在这些环境中创建、访问、共享和存储的联邦信息。尽管该项目的指南是针对 FCEB 机构量身定制的,但它适用于所有组织。[48]

MFA 方法薄弱或配置错误:缺乏防网络钓鱼的 MFA

  • 在访问敏感数据等其他服务时尽可能地使用MFA进行身份验证,以防范钓鱼攻击

加强网络共享访问的ACL控制

错误配置

加强网络共享访问的ACL控制

网络共享和服务的 ACL 不足

  • 对所有网络和共享服务进行访问控制,只有授权过的用户才能访问

  • 对重要信息资源应用最小权限原则,以降低未经授权的数据访问和操纵的风险。

  • 对文件和目录应用限制性权限,并防止对手修改 ACL [M1022]、[D3-LFP]。

  • 对包含敏感私钥的文件和文件夹设置限制性权限,以防止意外访问 [M1022]、[D3-LFP]。

  • 启用 Windows 组策略安全设置“不允许匿名枚举安全帐户管理器 (SAM) 帐户和共享”以限制可以枚举网络共享的用户。

消灭弱口令

错误配置

消灭弱口令

弱口令

  • 创建密码策略以强制使用无法破解的“强”密码时,请遵循美国国家标准与技术研究所 (NIST) 指南 [M1027]、[D3-SPP]。[29] 考虑使用密码管理器来生成和存储密码。

  • 不要跨系统重复使用本地管理员帐户密码。确保密码“强”且唯一 [CPG 2.B]、[M1027]、[D3-SPP]。

  • 对私钥使用“强”密码会导致破解资源密集。不要将凭据存储在 Windows 系统的注册表中。建立禁止在文件中存储密码的组织策略。

  • 确保 Windows 服务帐户有足够的密码长度(最好是 25 个以上字符)和复杂性要求,并在这些帐户上实施定期过期的密码 [CPG 2.B]、[M1027]、[D3-SPP]。如果可能,请使用托管服务帐户自动管理服务帐户密码。

明文密码泄露

  • 对文件和系统实施审查流程以查找明文帐户凭据。找到凭据后,删除、更改或加密它们 [D3-FE]。使用自动化工具定期扫描服务器计算机,以确定是否存储敏感数据(例如个人身份信息、受保护的健康信息)或凭据。权衡在密码存储和 Web 浏览器中存储凭据的风险。如果系统、软件或 Web 浏览器凭证泄露是一个重大问题,技术控制、策略和用户培训可能会阻止将凭证存储在不适当的位置。

  • 使用 国家安全系统政策委员会 (CNSSP)-15和商业国家安全算法套件 (CNSA) 批准的算法存储哈希密码。[50]、[51]

  • 考虑使用组托管服务帐户 (gMSA) 或第三方软件来实施安全密码存储应用程序。

代码执行管控

错误配置

代码执行管控

代码执行不受限制

  • 启用系统设置,阻止运行从不受信任的来源下载的应用程序。[52]

  • 使用默认情况下限制程序执行的应用程序控制工具,也称为白名单 [D3-EAL]。确保这些工具检查数字签名和其他关键属性,而不仅仅是依赖文件名,特别是因为恶意软件经常试图伪装成常见的操作系统 (OS) 实用程序 [M1038]。明确允许某些 .exe 文件运行,同时默认阻止所有其他文件。

  • 阻止执行已知的易受攻击的驱动程序,攻击者可能会利用这些驱动程序在内核模式下执行代码。在审核模式下验证驱动程序块规则,以确保生产部署之前的稳定性 [D3-OSM]。

  • 限制脚本语言以防止恶意活动、审核脚本日志并限制环境中未使用的脚本语言[D3-SEA]。请参阅联合网络安全信息表:保留 PowerShell:使用和拥抱的安全措施。[53]

  • 如果可能,请使用只读容器和最小镜像来防止命令运行。

  • 定期分析边界和主机级保护,包括垃圾邮件过滤功能,以确保其在阻止恶意软件的传递和执行方面持续有效[D3-MA]。评估 HTML 应用程序 (HTA) 文件是否在您的环境中用于商业目的;如果未使用 HTA,请将打开它们的默认程序从 mshta.exe 重新映射到 notepad.exe。

02
软件开发商

NSA 和 CISA 建议软件制造商实施表 11 中的建议,以减少本通报中确定的错误配置的发生率。这些缓解措施与联合指南《改变网络安全风险的平衡:设计和默认安全的原则和方法》中提供的策略相一致。NSA 和 CISA 强烈鼓励软件制造商应用这些建议,以确保其产品“开箱即用”安全,并且不需要客户花费额外的资源进行配置更改、执行监控和进行例行更新以确保其系统安全。[1 ]

错误配置

软件开发商

软件和应用程序的默认配置

  • 遵循 NIST 安全软件开发框架 (SSDF) SP 800-218 中的最佳实践,将安全控制从开发一开始就嵌入到整个 SDLC 中。[54]

  • 提供具有“开箱即用”启用的安全功能的软件,并附有“宽松”指南而不是强化指南。“宽松”指南应以简单易懂的语言解释决策的业务风险。

软件和应用程序的默认配置:默认密码

  • 消除默认密码:不要向软件提供普遍共享的默认密码。要消除默认密码,要求管理员在安装和配置期间设置“强”密码 [CPG 2.B]。

软件和应用程序的默认配置:默认服务权限配置

  • 考虑安全设置对用户体验的影响:每个新设置都会增加最终用户的认知负担,应结合其带来的业务收益进行评估。理想情况下,设置不应该存在;相反,最安全的设置应该默认集成到产品中。当需要配置时,默认选项应该能够广泛防御常见威胁。

管理与/用户权限分配不当:

  • 有权限的用户过多

  • 用户权限提升和非必要使用高权限用户

  • 设计产品时,确保单个安全控制的失陷不会导致整个系统的失陷。例如,确保默认情况下严格配置用户权限并采用 ACL 可以减少帐户受损的影响。此外,软件沙箱技术可以隔离漏洞,以限制整个应用程序受到损害。

  • 自动生成报告

    • 不活动帐户的管理员。提示管理员设置最长不活动时间并自动暂停超过该阈值的帐户。

    • 具有管理员权限的帐户管理员,并提出减少权限蔓延的方法建议。

  • 自动向管理员发出不常用服务的警报,并提供禁用这些服务或实施 ACL 的建议。

监控范围覆盖不完整的内部网络监控

  • 免费向客户提供高质量的审核日志。审核日志对于检测和升级潜在安全事件至关重要。它们在调查可疑或已确认的安全事件期间也至关重要。考虑最佳实践,例如通过使用协调世界时 (UTC)、标准时区格式和强大的文档技术的应用程序编程接口 (API) 访问,提供与安全信息和事件管理 (SIEM) 系统的轻松集成。

网络区域划分边界模糊

  • 确保产品与网络分区环境兼容并在网络分区环境中进行测试。

补丁管理不善:缺乏定期补丁

  • 遵循 NIST SSDF、SP 800-218 中的最佳实践,从开发之初以及整个 SDLC 中将安全控制嵌入到产品架构中,采取措施消除整类漏洞。[54] 特别注意:

    • 遵循安全编码实践 [SSDF PW 5.1]。尽可能使用内存安全的编程语言、参数化查询和 Web 模板语言。

    • 根据同行编码标准进行代码审查 [SSDF PW 7.2、RV 1.2],检查后门、恶意内容和逻辑缺陷。

    • 测试代码以识别漏洞并验证是否符合安全要求 [SSDF PW 8.2]

  • 确保发布的CVE 包括根本原因或常见弱点枚举(CWE),以便能够在全行业范围内对软件安全设计缺陷进行分析。

补丁管理不善:使用不受支持的操作系统和过时的固件

  • 用简单易懂的语言传达使用不受支持的操作系统和固件的业务风险。

绕过系统访问控制

  • 在审计记录中提供足够的详细信息,以检测系统控制和查询的绕过,以监控审计日志以查找此类可疑活动的踪迹(例如,缺少身份验证或授权流程的重要步骤时)。

MFA 方法薄弱或配置错误:智能卡或令牌配置错误

  • 完全支持所有用户的 MFA,使 MFA 成为默认功能而不是选择加入功能。利用身份验证断言和备用凭据的威胁建模来检查如何滥用它们来绕过 MFA 要求。

MFA 方法薄弱或配置错误:缺乏防网络钓鱼的 MFA

  • 为特权用户强制执行 MFA(最好是防网络钓鱼),并使 MFA 成为默认功能而不是选择加入功能。[3]

网络共享和服务的 ACL 不足

  • 强制使用 ACL,其中默认 ACL 仅允许所需的最低访问权限,并使用易于使用的工具来定期审核 ACL 并将其调整为所需的最低访问权限

凭证管理状况不佳:密码容易被破解

  • 允许管理员配置符合 NIST 指南的密码策略 — 不需要适得其反的限制,例如强制字符类型或定期轮换密码。[29]

  • 允许用户使用密码管理器在产品中轻松生成和使用安全的随机密码。

凭证卫生状况不佳:明文密码泄露

  • 使用计算成本较高的安全散列算法对密码进行加盐和散列,使暴力破解变得更加困难。

不受限制的代码执行

  • 默认情况下,“开箱即用”地支持操作系统和应用程序内的执行控制,所有客户无需额外付费,以限制恶意行为者在未经管理员或知情用户批准的情况下滥用功能或启动异常应用程序的能力。

03
安全措施验证

除了应用缓解措施之外,NSA 和 CISA 建议针对本文中映射到 MITRE ATT&CK for Enterprise 框架的威胁行为来演练、测试和验证组织的安全计划。NSA 和 CISA 建议测试您现有的安全控制清单,以评估它们针对本文中描述的 ATT&CK 技术的防护水平。

如何验证?

  1. 在ATT&CK的技术分类中选择一项

  2. 找到你的企业中使用的防护技术与该技术相对应的一项

  3. 测试你的企业中使用的防护技术是否能够检测和防护这项ATT&CK中的技术

  4. 对上面使用到的防护技术的测试结果进行评估

  5. 重复这个过程,最终总结出提升您的企业的技术、人员能力的计划

以上就是本文的全部内容,感谢浏览!点赞,转发,在看,点一点!

NSA和CISA红蓝队共享的网络安全误配置TOP10 (下)

原文始发于微信公众号(Desync InfoSec):NSA和CISA红蓝队共享的网络安全误配置TOP10 (下)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月22日00:11:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   NSA和CISA红蓝队共享的网络安全误配置TOP10 (下)http://cn-sec.com/archives/2122764.html

发表评论

匿名网友 填写信息