操作系统强化
操作系统选择
在选择操作系统时,组织应优先选择那些已证明致力于安全设计和默认安全原则、尽可能使用内存安全编程语言(如 C#、Go、Java、Ruby、Rust 和 Swift)、安全编程实践并维护其产品安全性的供应商。这不仅有助于减少操作系统中潜在的漏洞数量,而且还增加了及时发布补丁、更新或供应商缓解措施以修复发现的任何漏洞的可能性。
操作系统选自那些已证明致力于安全设计和默认安全原则、尽可能使用内存安全编程语言、安全编程实践以及维护其产品安全的供应商。
操作系统发布和版本
较新版本的操作系统通常会引入安全功能的改进。这可以使恶意行为者更难以针对他们发现的漏洞进行可靠的攻击。使用较旧版本的操作系统(尤其是供应商不再支持的操作系统)可能会使组织面临漏洞或攻击技术,而这些漏洞或攻击技术现已得到缓解。此外,64 位版本的操作系统支持 32 位版本所不具备的额外安全功能。
使用最新版本或以前版本的操作系统。在支持的地方,使用 64 位版本的操作系统。
标准操作环境
允许用户设置、配置和维护自己的工作站和服务器可能会导致操作环境不一致。由于工作站和服务器配置不当或维护不当的可能性较高,此类操作环境可能会帮助恶意行为者在网络上获得初步立足点。相反,通过自动构建过程或黄金映像提供的标准操作环境 (SOE) 旨在促进组织内标准化和一致的操作环境。
当 SOE 从第三方(例如服务提供商)获取时,还应考虑其他网络供应链风险,例如意外或故意包含恶意代码或配置。为了降低此类事件发生的可能性,组织应努力从受信任的第三方获取 SOE,同时扫描其中是否存在恶意代码和配置。
由于操作环境会随着时间的推移而自然发生变化,例如应用补丁或更新、更改配置以及添加或删除应用程序,因此必须至少每年审查和更新一次 SOE,以确保维护最新的基线。
SOE 用于工作站和服务器。对第三方提供的 SOE 进行恶意代码和配置扫描。SOE 至少每年审查和更新一次。
强化操作系统配置
当操作系统以默认状态或未经批准的配置部署时,可能会导致不安全的操作环境,从而使恶意行为者有机会在网络上获得初步立足点。操作系统中存在许多设置,允许将其配置为已批准的安全状态,以最大限度地降低这种安全风险。因此,澳大利亚信号局 (ASD) 和供应商经常会制定强化指南,以帮助强化操作系统的配置。但请注意,在 ASD 和供应商强化指南发生冲突的情况下,应优先实施最严格的指南。
开发、实施和维护操作系统的批准配置。操作系统使用 ASD 和供应商强化指南进行强化,当发生冲突时,最严格的指南优先。禁用或删除操作系统不需要的帐户、组件、服务和功能。操作系统的默认帐户或凭据(包括任何预配置帐户)均已更改。
可移动媒体的自动执行功能已被禁用。Internet Explorer 11 已被禁用或删除。.NET Framework 3.5(包括 .NET 2.0 和 3.0)已被禁用或删除。
操作系统漏洞保护功能已启用。已启用早期启动反恶意软件、安全启动、可信启动和测量启动功能。
非特权用户无法绕过、禁用或修改操作系统的安全功能。非特权用户无法运行脚本执行引擎,包括:
- Windows 脚本宿主(cscript.exe 和 wscript.exe)
- PowerShell(powershell.exe、powershell_ise.exe 和 pwsh.exe)
- 命令提示符(cmd.exe)
- Windows 管理规范 (wmic.exe)
- Microsoft 超文本标记语言 (HTML) 应用程序主机 (mshta.exe)。
应用程序管理
恶意攻击者可以利用非特权用户安装任何应用程序的能力,利用社交工程学说服他们安装恶意应用程序。减轻这种安全风险的一种方法是允许非特权用户从组织管理的软件存储库或受信任的应用程序市场安装已批准的应用程序。此外,为了防止非特权用户删除安全功能或破坏系统功能,非特权用户不应具有卸载或禁用已批准软件的能力。
非特权用户无权安装未经批准的软件。非特权用户无权卸载或禁用批准的软件。
应用程序控制
应用程序控制不仅可以有效地防止恶意代码在工作站和服务器上执行,还可以确保只有经过批准的应用程序才能执行。在制定应用程序控制规则集时,根据业务需求确定经过批准的可执行文件(例如 .exe 和 .com 文件)、软件库(例如 .dll 和 .ocx 文件)、脚本(例如 .ps1、.bat、.cmd、.vbs 和 .js 文件)、安装程序(例如 .msi、.msp 和 .mst 文件)、编译的 HTML(例如 .chm 文件)、HTML 应用程序(例如 .hta 文件)、控制面板小程序(例如 .cpl 文件)和驱动程序,这比简单地批准工作站或服务器上已存在的规则更安全。此外,组织最好定义自己的应用程序控制规则集,而不是依赖应用程序控制供应商的规则集,并每年或更频繁地对其进行验证。
在实施应用程序控制时,组织应使用可靠的方法或多种方法的组合,例如加密哈希规则、发布者证书规则或路径规则。根据所选方法,可能需要进一步强化,以确保应用程序控制机制和应用程序控制规则集不会被恶意行为者绕过。
最后,集中记录和分析应用程序控制事件可以帮助监控系统的安全态势,检测恶意行为并有助于网络安全事件后的调查。
应用程序控制在工作站上实施。应用程序控制在面向互联网的服务器上实现。应用程序控制在非面向互联网的服务器上实现。
应用程序控制应用于操作系统、网络浏览器和电子邮件客户端使用的用户配置文件和临时文件夹。
应用程序控制应用于除操作系统、网络浏览器和电子邮件客户端使用的用户配置文件和临时文件夹之外的所有位置。
应用程序控制将可执行文件、软件库、脚本、安装程序、已编译的 HTML、HTML 应用程序和控制面板小程序的执行限制在组织批准的范围内。
应用程序控制将驱动程序的执行限制在组织批准的范围内。应用程序控制是使用加密哈希规则、发布者证书规则或路径规则来实现的。
使用发布者证书规则实施应用程序控制时,会使用发布者名称和产品名称。
使用路径规则实施应用程序控制时,只有获得批准的用户才能修改获得批准的文件并写入获得批准的文件夹。
使用路径规则实施应用程序控制时,只有获得批准的用户才能更改获得批准的文件和文件夹的文件系统权限。
已实施 Microsoft 推荐的应用程序阻止列表。微软的易受攻击的驱动程序阻止列表已实施。应用程序控制规则集每年或更频繁地进行验证。
所有用户(本地管理员帐户和破窗帐户除外)都不能禁用、绕过或免除应用程序控制。允许和阻止的应用程序控制事件集中记录。
命令shell
命令 shell 是 Microsoft 开发的第一个 shell,用于帮助自动执行常规系统管理任务,例如通过批处理脚本运行 Windows 命令。但是,恶意行为者也可以使用命令 shell 在受感染的系统上运行 Windows 命令。因此,集中记录和分析命令行进程创建事件可以帮助监控系统的安全状况、检测恶意行为并有助于网络安全事件后的调查。
命令行进程创建事件集中记录。
PowerShell
PowerShell 是 Microsoft 开发的一种功能强大的脚本语言,由于其普及性以及可轻松用于完全控制操作系统,因此是系统管理员工具包的重要组成部分。然而,PowerShell 在恶意攻击者手中也可能成为一种危险的攻击工具。
为了防止利用早期 PowerShell 版本漏洞的攻击,应禁用或从操作系统中删除 Windows PowerShell 2.0。此外,应将 PowerShell 的语言模式设置为受限语言模式,以实现安全性和功能性的平衡。
最后,集中记录和分析 PowerShell 事件可以帮助监控系统的安全态势、检测恶意行为并有助于网络安全事件后的调查。
Windows PowerShell 2.0 已被禁用或删除。PowerShell 配置为使用受限语言模式。PowerShell 模块日志记录、脚本块日志记录和转录事件均集中记录。PowerShell 脚本块日志受受保护事件日志记录功能的保护。
基于主机的入侵防御系统
许多安全产品依靠签名来检测恶意代码。这种方法只有在恶意代码已被分析并且安全供应商提供签名时才有效。不幸的是,恶意行为者可以轻松创建已知恶意代码的变体,以绕过传统的基于签名的检测。基于主机的入侵防御系统 (HIPS) 可以使用基于行为的检测来帮助识别和阻止异常行为以及检测安全供应商尚未识别的恶意代码。因此,在工作站、关键服务器和高价值服务器上实施 HIPS 非常重要。
在工作站上实施 HIPS。在关键服务器和高价值服务器上实施 HIPS。
软件防火墙
传统网络防火墙通常无法阻止恶意代码在网络上传播,也无法阻止恶意行为者从网络中窃取数据,因为它们仅控制不同网络段之间可以使用哪些端口或协议。许多形式的恶意代码都是专门利用这一点而设计的,它们使用常见协议,例如超文本传输协议、超文本传输协议安全、简单邮件传输协议或域名系统。软件防火墙比传统网络防火墙更有效,因为它们可以控制哪些应用程序和服务可以与工作站和服务器通信。因此,应在工作站和服务器上实施软件防火墙,以将入站和出站网络连接限制在组织批准的应用程序和服务集上。
在工作站和服务器上实施软件防火墙,以限制与组织批准的应用程序和服务集的入站和出站网络连接。
防病毒软件
供应商在开发软件时可能会犯下导致漏洞的编码错误。恶意行为者可以利用这一点,通过开发恶意代码来利用供应商尚未检测和修复的任何漏洞。由于开发有效且可靠的漏洞通常需要花费大量时间和精力,因此恶意行为者通常会尝试尽可能多地重复使用他们的漏洞。虽然安全供应商可能之前已经识别出漏洞,但对于没有安装防病毒软件的组织来说,这些漏洞通常仍然有效。
防病毒软件在工作站和服务器上实施,并具有:
- 基于签名的检测功能已启用并设置为高级别
- 启发式检测功能已启用并设置为高级别
- 声誉评级功能已启用
- 已启用勒索软件保护功能
- 检测签名配置为至少每天更新一次
- 针对所有固定磁盘和可移动媒体配置定期扫描。
设备访问控制软件
设备访问控制软件可用于防止可移动媒体和移动设备通过外部通信接口连接到工作站和服务器。这有助于防止恶意代码的引入或恶意行为者的数据泄露。
此外,恶意行为者可以通过允许直接内存访问 (DMA) 的外部通信接口连接到锁定的工作站和服务器。这样,恶意行为者就可以访问内存中的加密密钥或将恶意代码写入内存。防范这种安全风险的最佳方法是禁用对允许 DMA 的外部通信接口的访问,例如 FireWire、ExpressCard 和 Thunderbolt。
如果没有从可移动媒体和设备读取的业务要求,则可以通过使用设备访问控制软件或禁用外部通信接口来禁用此功能。
如果没有写入可移动媒体和设备的业务要求,则可以通过使用设备访问控制软件或禁用外部通信接口来禁用此功能。
允许 DMA 的外部通信接口已被禁用。
操作系统事件日志
集中记录和分析操作系统事件可以帮助监控系统的安全态势、检测恶意行为并有助于网络安全事件后的调查。
以下事件集中记录在操作系统中:
- 应用程序和操作系统崩溃和错误消息
- 安全策略和系统配置的改变
- 成功的用户登录和注销,失败的用户登录和帐户锁定
- 重要流程和服务的故障、重启和变更
- 请求访问互联网资源
- 安全产品相关事件
- 系统启动和关闭。
用户应用程序强化
用户应用程序
本节适用于通常安装在用户工作站上的应用程序,例如办公生产力套件、Web 浏览器及其扩展、电子邮件客户端、可移植文档格式 (PDF) 软件和安全产品(例如防病毒软件、设备访问控制软件、HIPS 和软件防火墙)。有关服务器应用程序的信息可在本指南的服务器应用程序强化部分中找到。
用户应用程序选择
在选择用户应用程序时,组织应优先选择那些已证明致力于安全设计和默认安全原则、尽可能使用内存安全编程语言(如 C#、Go、Java、Ruby、Rust 和 Swift)、安全编程实践并维护其产品安全性的供应商。这不仅有助于减少用户应用程序中的潜在漏洞数量,而且还增加了及时发布补丁、更新或供应商缓解措施以修复发现的任何漏洞的可能性。
用户应用程序是从已证明致力于安全设计和默认安全原则、尽可能使用内存安全编程语言、安全编程实践以及维护其产品安全的供应商中选择的。
用户应用程序发布
较新版本的用户应用程序通常会引入安全功能的改进。这可以使恶意行为者更难以针对他们发现的漏洞进行可靠的攻击。使用较旧版本的用户应用程序(尤其是供应商不再支持的版本)可能会使组织面临漏洞或攻击技术,而这些漏洞或攻击技术现已得到缓解。这对于办公生产力套件、Web 浏览器及其扩展程序、电子邮件客户端、PDF 软件和安全产品尤其重要。
使用最新版本的办公生产力套件、网络浏览器及其扩展、电子邮件客户端、PDF 软件和安全产品。
强化用户应用程序配置
当用户应用程序以默认状态或未经批准的配置部署时,可能会导致不安全的操作环境,从而使恶意行为者能够在网络上获得初步立足点。这对于办公生产力套件、Web 浏览器及其扩展、电子邮件客户端、PDF 软件和安全产品尤其危险,因为此类应用程序经常成为攻击目标。此类应用程序中存在许多设置,允许将它们配置为已批准的安全状态,以最大限度地降低这种安全风险。因此,ASD 和供应商通常会提供强化指南,以帮助强化这些应用程序的配置。但请注意,在 ASD 和供应商强化指南发生冲突的情况下,应优先实施最严格的指南。
开发、实施和维护针对用户应用程序的批准配置。用户应用程序(包括任何预配置帐户)的默认帐户或凭据均已更改。
办公生产力套件、网络浏览器、电子邮件客户端、PDF 软件和安全产品的不需要的组件、服务和功能已被禁用或删除。
办公生产力套件、网络浏览器、电子邮件客户端、PDF 软件和安全产品的附加组件、扩展和插件仅限于组织批准的集合。
Microsoft Office 被阻止创建子进程。Microsoft Office 被禁止创建可执行内容。
Microsoft Office 被禁止将代码注入其他进程。Microsoft Office 配置为阻止激活对象链接和嵌入包。办公生产力套件使用 ASD 和供应商强化指南进行强化,当发生冲突时,最严格的指南优先。
办公生产力套件安全设置不能由用户更改。Web 浏览器不处理来自互联网的 Java。Web 浏览器不处理来自互联网的网络广告。
Web 浏览器使用 ASD 和供应商强化指南进行强化,当发生冲突时,最严格的指南优先。Web 浏览器安全设置不能由用户更改。PDF 软件被禁止创建子进程。PDF 软件使用 ASD 和供应商强化指南进行强化,当发生冲突时,最严格的指南优先。
PDF 软件安全设置不能由用户更改。已实施 Microsoft 的攻击面减少规则。用户无法更改电子邮件客户端安全设置。安全产品的安全设置不能由用户更改。
Microsoft Office 宏
Microsoft Office 文件可以包含嵌入代码,即用 Visual Basic for Applications 编程语言编写的宏。宏可以包含一系列命令,这些命令可以编码或录制并在以后重放以自动执行重复任务。宏是一种功能强大的工具,用户可以轻松创建它们以大大提高他们的工作效率。但是,恶意行为者也可以创建宏来执行各种恶意活动,例如协助入侵工作站以窃取数据或拒绝访问数据。为了降低这种安全风险,组织应该对没有明确业务需求的用户禁用 Microsoft Office 宏,并确保有业务需求的其余用户能够使用它们。
最后,集中记录和分析 Microsoft Office 宏事件可以帮助监控系统的安全态势、检测恶意行为并有助于网络安全事件后的调查。
对于没有证明业务需求的用户,Microsoft Office 宏是禁用的。来自互联网的文件中的 Microsoft Office 宏被阻止。
Microsoft Office 宏防病毒扫描已启用。Microsoft Office 宏被阻止进行 Win32 API 调用。仅在沙盒环境、受信任位置内运行或由受信任的发布者进行数字签名的 Microsoft Office 宏才允许执行。
Microsoft Office 宏经过检查,以确保它们在进行数字签名或放置在受信任位置之前不包含恶意代码。只有负责检查 Microsoft Office 宏是否不含恶意代码的特权用户才能写入和修改受信任位置内的内容。
由不受信任的发布者进行数字签名的 Microsoft Office 宏无法通过消息栏或后台视图启用。无法通过消息栏或后台视图启用由 V3 签名以外的签名进行数字签名的 ML3 Microsoft Office 宏。
Microsoft Office 的可信发布者列表每年或更频繁地进行验证。Microsoft Office 宏安全设置不能由用户更改。允许和阻止的 Microsoft Office 宏执行事件被集中记录。
服务器应用程序强化
服务器应用程序
本节适用于与特定服务器功能相关的应用程序,例如 Microsoft Active Directory 域服务 (AD DS)、数据库管理系统软件、电子邮件服务器软件和 Web 托管软件。有关用户应用程序的信息可在本指南的用户应用程序强化部分中找到。
服务器应用程序选择
在选择服务器应用程序时,组织应优先选择那些已证明致力于安全设计和默认安全原则、尽可能使用内存安全编程语言(如 C#、Go、Java、Ruby、Rust 和 Swift)、安全编程实践并维护其产品安全性的供应商。这不仅有助于减少服务器应用程序中的潜在漏洞数量,而且还增加了及时发布补丁、更新或供应商缓解措施以修复发现的任何漏洞的可能性。
服务器应用程序是从已证明致力于安全设计和默认安全原则、尽可能使用内存安全编程语言、安全编程实践和维护其产品安全的供应商中选择的。
服务器应用程序版本
较新版本的服务器应用程序通常会引入安全功能的改进。这可以使恶意行为者更难以针对他们发现的漏洞进行可靠的攻击。使用较旧版本的服务器应用程序(尤其是供应商不再支持的版本)可能会使组织面临漏洞或攻击技术,而这些漏洞或攻击技术现已得到缓解。这对于面向互联网的服务器应用程序(例如网络托管软件)尤其重要。
使用面向互联网的服务器应用程序的最新版本。
强化服务器应用程序配置
当服务器应用程序以默认状态或未经批准的配置部署时,可能会导致不安全的操作环境,从而使恶意行为者能够在网络上获得初步立足点。这对于服务器应用程序来说尤其危险,因为此类应用程序经常成为攻击目标。服务器应用程序中存在许多设置,允许它们以批准的安全状态进行配置,以最大限度地降低这种安全风险。因此,ASD 和供应商通常会提供强化指南,以帮助强化服务器应用程序的配置。但请注意,在 ASD 和供应商强化指南发生冲突的情况下,应优先实施最严格的指南。
开发、实施和维护服务器应用程序的批准配置。服务器应用程序使用 ASD 和供应商强化指南进行强化,当发生冲突时,最严格的指南优先。
服务器应用程序(包括任何预配置帐户)的默认帐户或凭据均已更改。禁用或删除服务器应用程序不需要的帐户、组件、服务和功能。服务器应用程序安装完成后,将删除在服务器应用程序安装过程中创建的所有临时安装文件和日志。
限制服务器应用程序的权限
如果以本地管理员或根帐户运行的服务器应用程序被恶意行为者攻陷,则可能对底层服务器造成重大安全风险。此外,默认情况下,服务器应用程序通常能够广泛访问其底层服务器的文件系统。因此,限制服务器应用程序访问其底层服务器文件系统的能力可以在恶意行为者攻陷服务器应用程序时限制损害。
服务器应用程序配置为作为单独帐户运行,并具有执行其功能所需的最低权限。运行服务器应用程序的帐户对其底层服务器文件系统的访问权限有限。
Microsoft Active Directory 域服务域控制器
Microsoft AD DS 域控制器保存系统的敏感数据,例如所有用户帐户的哈希凭据。因此,应特别注意保护这些服务器。这可以通过强化其配置,同时使用专用域管理员用户帐户专门进行管理来实现。在此过程中,技术控制应确保这些专用域管理员用户帐户不能用于连接或管理其他系统。
最后,集中记录和分析 Microsoft AD DS 的安全相关事件可以帮助监控系统的安全态势、检测恶意行为并有助于网络安全事件后的调查。
Microsoft AD DS 域控制器使用专用域管理员用户帐户进行管理,这些帐户不用于管理其他系统。
Microsoft AD DS 域控制器上已禁用打印后台处理程序服务。密码和 cpasswords 未在组策略首选项中使用。Microsoft AD DS 的安全相关事件集中记录。
Microsoft Active Directory 域服务帐户强化
Microsoft AD DS 中配置错误的用户帐户会对系统安全造成重大威胁。例如,当恶意行为者能够获取用户帐户的凭据以及相关的系统访问权限时,他们可能会通过查询 Microsoft AD DS 来进一步破坏系统,以帮助了解环境、在网络中横向移动并通过破坏特权帐户来提升权限。此外,具有此访问级别的恶意行为者可能难以检测和删除,因为他们可能不需要利用漏洞来实现其目标。被入侵的用户帐户执行的恶意活动也可能与合法的系统活动非常相似。
仅服务帐户和计算机帐户配置了服务主体名称 (SPN)。服务帐户具有所需的最低权限,并且不是域管理员组或类似的高权限组的成员。域内不存在重复的 SPN。
特权用户帐户被配置为敏感帐户,不能委派。用户帐户需要 Kerberos 预身份验证。用户帐户未配置密码永不过期或不需要密码。未使用用户帐户的 UserPassword 属性。
非特权用户可访问的帐户属性不用于存储密码。用户帐户密码不使用可逆加密。非特权用户帐户无法将机器添加到域。专用服务帐户用于将机器添加到域。
具有不受约束的委派的用户帐户至少每年审查一次,并且会删除没有关联 Kerberos SPN 或证明业务要求的用户帐户。
非 Microsoft AD DS 域控制器的计算机帐户不被信任可以委派服务。
Microsoft Active Directory 域服务安全组成员身份
Microsoft AD DS 包含许多内置安全组,这些组具有提升的权限或故意放宽的安全策略。这些安全组通常是出于特定目的而必需的;但是,过度使用或不当使用可能会让恶意行为者更容易在整个网络中横向移动或提升其权限。特权安全组尤其应限制为最小的可能用户集,以限制恶意行为者提升权限的机会。
特权用户帐户是受保护用户安全组的成员。当用户帐户被禁用时,它将从所有安全组成员身份中删除。Pre-Windows 2000 Compatible Access 安全组不包含用户帐户。
身份验证强化
帐户和身份验证类型
除非另有说明,本节中的指南同样适用于所有帐户类型。这包括非特权帐户、特权帐户、突破玻璃帐户和服务帐户。此外,该指南同样适用于交互式身份验证和非交互式身份验证。
向系统进行身份验证
在授予用户访问系统及其资源的权限之前,必须对其进行身份验证。这可以通过多因素身份验证来实现,例如用户名以及密码和安全密钥,或者不太理想的单因素身份验证,例如用户名和密码。
用户在被授予访问系统及其资源的权限之前必须经过身份验证。
不安全的身份验证方法
身份验证方法需要抵御盗窃、拦截、复制、伪造、未经授权的访问和未经授权的修改。例如,局域网 (LAN) 管理器和 NT LAN 管理器身份验证方法使用弱哈希算法。因此,LAN 管理器身份验证和 NT LAN 管理器身份验证(即 NTLMv1、NTLMv2 和 NTLM2)中使用的凭据很容易被盗用。相反,组织应该在 Microsoft Windows 环境中使用 Kerberos 进行身份验证。
易受重放攻击的身份验证方法已被禁用。LAN 管理器和 NT LAN 管理器身份验证方法已被禁用。
多重身份验证
多重身份验证使用两个或更多不同的身份验证因素。这可能包括:
- 用户知道的某些信息,例如记住的秘密(即个人身份证号码、密码或密码短语)
- 用户拥有的东西,例如安全密钥、智能卡、万能钥匙、智能手机或一次性密码令牌
- 用户的一些信息,比如指纹图案或者面部几何形状。
在线服务用户、系统特权用户和有权访问数据存储库的用户更容易因访问而成为恶意行为者的目标。因此,对这些帐户使用多因素身份验证尤为重要。此外,多因素身份验证对于任何管理活动都至关重要,因为它可以通过阻止或减缓恶意行为者获得对资产的不受限制的访问权限来限制入侵的后果。在这方面,多因素身份验证可以作为跳转服务器身份验证的一部分来实现,其中管理的资产本身不支持多因素身份验证。
在实施多因素身份验证时,可以实施几种不同的身份验证因素。遗憾的是,某些身份验证因素(例如通过短信服务、互联网协议语音或电子邮件发送的生物识别或代码)比其他因素更容易受到攻击。因此,涉及用户拥有的东西的身份验证因素应该与用户知道的东西一起使用。或者,可以使用用户拥有的东西,并通过用户知道的东西或正在解锁的东西(通常称为无密码多因素身份验证)。此外,为了提高安全性,建议使用防网络钓鱼的多因素身份验证来防止实时网络钓鱼攻击。
最后,集中记录和分析多因素身份验证事件可以帮助监控系统的安全态势,检测恶意行为并有助于网络安全事件后的调查。
多因素身份验证用于对用户进行身份验证,以允许其使用组织的在线服务来处理、存储或传达其组织的敏感数据。
多因素身份验证用于向处理、存储或传达其组织敏感数据的第三方在线服务验证用户身份。
多因素身份验证(如有)用于向处理、存储或传达其组织非敏感数据的第三方在线服务验证用户身份。
多因素身份验证用于向处理、存储或传达组织敏感客户数据的组织的在线客户服务验证用户身份。
多因素身份验证用于向处理、存储或传达其组织的敏感客户数据的第三方在线客户服务验证用户身份。
多因素身份验证用于向处理、存储或传达敏感客户数据的在线客户服务验证客户身份。
当使用多因素身份验证对在线服务或在线客户服务的用户或客户进行身份验证时,所有不支持多因素身份验证的其他身份验证协议都将被禁用。
多因素身份验证用于对系统的特权用户进行身份验证。多因素身份验证用于对系统的非特权用户进行身份验证。多因素身份验证用于对数据存储库的用户进行身份验证。多因素身份验证使用:用户拥有的东西和用户知道的东西,或者用户拥有的并通过用户知道或本身的东西解锁的东西。
用于对在线服务用户进行身份验证的多因素身份验证具有防网络钓鱼的功能。用于对在线客户服务的客户进行身份验证的多因素身份验证提供了一种防网络钓鱼选项。
用于验证在线客户服务客户的多因素身份验证具有防网络钓鱼的功能。用于对系统用户进行身份验证的多因素身份验证具有防网络钓鱼的功能。
用于对数据存储库用户进行身份验证的多因素身份验证具有防网络钓鱼的功能。用于多因素身份验证的记忆秘密至少为 6 个字符,除非有更严格的要求。
用于 SECRET 系统上的多因素身份验证的记忆秘密至少为 8 个字符。用于 TOP SECRET 系统上的多因素身份验证的记忆秘密至少为 10 个字符。
当使用多因素身份验证对在线服务、在线客户服务、系统或数据存储库(处理、存储或传达其组织的敏感数据或敏感客户数据)的用户进行身份验证时,用户无法从不可信设备自行注册多因素身份验证。
成功和不成功的多因素身份验证事件被集中记录。
单因素身份验证
凭据破解工具是账户泄露的一个重大威胁。当恶意行为者从系统中获取用户名和哈希凭据列表时,他们可以尝试通过将已知凭据的哈希与他们已获取的哈希凭据进行比较来恢复用户名和凭据对。通过找到匹配项,恶意行为者将知道与给定用户名相关联的凭据。
为了降低这种安全风险,组织应实施多因素身份验证。请注意,虽然单因素身份验证不再适合保护敏感或机密系统,但在某些系统上可能无法实施多因素身份验证。在这种情况下,组织需要通过不断增加凭证的长度来增加恶意行为者破坏凭证所需的平均时间。通过使用密码短语而不是密码,可以平衡这种长度的增加与可用性。在系统不支持密码短语的情况下,作为绝对的最后手段,需要实施系统支持的最强密码长度和复杂性。
最后,集中记录和分析单因素身份验证事件可以帮助监控系统的安全态势,检测恶意行为并有助于网络安全事件后的调查。
当系统无法支持多因素身份验证时,将改用密码进行单因素身份验证。用于单因素身份验证的密码至少为 4 个随机单词,总长度至少为 14 个字符,除非有更严格的要求。
用于 SECRET 系统上的单因素身份验证的密码至少为 5 个随机单词,总长度至少为 17 个字符。用于 TOP SECRET 系统上的单因素身份验证的密码至少为 6 个随机单词,总长度至少为 20 个字符。
用于单因素身份验证的密码不是分类单词列表;不是用自然语言形成真正的句子;也不是由歌词、电影、文学或任何其他公开可用的材料构成。成功和不成功的单因素身份验证事件被集中记录。
设置用户帐户的凭据
在为用户帐户设置凭证之前(包括根据任何凭证重置请求),用户必须提供足够的证据来验证其身份,例如亲自到服务台出示本人和通行证、回答一组质询-响应问题,或展示对链接移动设备的控制。验证用户身份后,应随机生成凭证并通过安全通信渠道提供给用户,如果不可能,则将其分成两部分,一部分提供给用户,另一部分提供给主管。随后,用户应在首次使用时重置其凭证,以确保其他方不知道这些凭证。
用户在请求新凭证时提供足够的证据来验证其身份。为用户帐户设置的凭据是随机生成的。
凭证通过安全通信渠道提供给用户,如果不可能,则分成两部分,一部分提供给用户,另一部分提供给主管。提供给用户的凭据在首次使用时会更改。凭证以记忆秘密的形式存在,不能由用户在不同系统之间重复使用。
为 Break Glass 帐户、本地管理员帐户和服务帐户设置凭据
当 Break Glass 帐户、本地管理员帐户和服务帐户使用常见用户名或弱凭据时,恶意行为者可能会利用一台工作站或服务器上的凭据轻松入侵其他工作站和服务器。因此,Break Glass 帐户、本地管理员帐户和服务帐户的凭据必须是长、唯一、不可预测且可管理的,这一点至关重要。
为了为服务帐户提供额外的安全和凭据管理功能,Microsoft 在 Microsoft Windows Server 中引入了组托管服务帐户。这样,作为组托管服务帐户创建的服务帐户不需要系统管理员手动管理凭据,因为操作系统会自动确保这些凭据是长、唯一、不可预测和可管理的。这可确保服务帐户凭据是安全的,不会放错地方或被遗忘,并且会定期自动更改。但是,在无法使用组托管服务帐户的情况下,服务帐户的凭据仍应是唯一且不可预测的,且最小长度为 30 个字符。
突破玻璃帐户、本地管理员帐户和服务帐户的凭据很长、唯一、不可预测且受管理。突破玻璃帐户、本地管理员帐户和服务帐户的凭据至少为 30 个字符。服务帐户创建为组托管服务帐户。
更改凭证
一般来说,凭证不需要频繁更改。但是,某些事件可能需要个人帐户或帐户组更改其凭证。这可能包括凭证被泄露(例如出现在在线数据泄露数据库中)、被怀疑被泄露(例如当恶意行为者获得网络访问权限时)、被发现以明文形式存储在网络上、以明文形式在网络之间传输、共享帐户的成员资格发生变化以及凭证在过去 12 个月内未发生过更改。
凭证在以下情况下发生更改:
- 他们受到了损害
- 他们被怀疑受到了攻击
- 它们被发现以明文形式存储在网络上
- 被发现在网络上以明文形式传输
- 共享帐户的成员资格发生变化
- 在过去的 12 个月中它们没有发生过变化。
控制:ISM-1847;修订:0;更新时间:3 月 23 日;适用性:全部;基本八项:N/A
Kerberos 密钥分发中心服务帐户 (KRBTGT) 的凭据更改两次,允许在每次更改之间复制到所有 Microsoft Active Directory 域服务域控制器,如果:
- 该域名已直接被攻破
- 该域名疑似被盗
- 在过去的 12 个月中它们没有发生过变化。
保护凭证
写下的凭证(例如记忆中的秘密)以及存储或生成凭证的专用设备(例如安全密钥、智能卡和一次性密码令牌)如果与用于身份验证的系统放在一起,则会增加恶意行为者未经授权访问系统的可能性。例如,当智能卡留在桌子上、一次性密码令牌留在笔记本电脑包中、安全密钥留在计算机上或密码短语被写下来并贴在计算机显示器上时。此外,在将凭证输入系统时对其进行模糊处理可以帮助保护它们免受屏幕抓取者和肩窥者的侵害。
使用 Microsoft Windows 系统时,可以启用内存完整性、本地安全机构保护、凭据保护和远程凭据保护功能(最好都带有统一可扩展固件接口 (UEFI) 锁),为凭据提供额外保护。此外,有权访问系统的恶意行为者可能会试图窃取缓存的凭据。为了降低这种安全风险,缓存的凭据应仅限于一次以前的登录。
如果在系统上存储凭证,则应实施足够的保护措施以防止其被泄露。例如,凭证可以存储在密码管理器或硬件安全模块中,而存储在数据库中的凭证则应进行哈希处理、加盐和拉伸。除此之外,组织还应定期扫描其系统以检测和修复以不受保护的方式存储的任何凭证,例如以明文形式存储在文档、网络文件共享或其他数据存储库中。
凭证与用于进行身份验证的系统分开保存,执行身份验证活动时除外。
凭证在输入系统时会被掩盖。内存完整性功能已启用。本地安全机构保护功能已启用。Credential Guard 功能已启用。
远程凭证保护功能已启用。缓存凭据仅限于一次以前的登录。
存储在系统上的凭据受密码管理器、硬件安全模块的保护;或者在存储到数据库之前对其进行加盐、散列和扩展。
每月至少扫描一次网络以识别任何以明文形式存储的凭证。
帐户锁定
在登录尝试失败指定次数后锁定帐户可降低恶意行为者成功实施暴力攻击(例如凭证猜测攻击、凭证喷洒攻击和凭证填充攻击)的可能性。但是,应谨慎实施帐户锁定功能,因为可能会增加拒绝服务的可能性。或者,某些系统可以配置为自动减慢重复失败的登录尝试(称为速率限制),而不是锁定帐户。实施多因素身份验证也是降低凭证喷洒攻击成功可能性的有效方法。
帐户(突破玻璃帐户除外)在最多五次登录尝试失败后将被锁定。
会话终止
每天在工作时间之外以及在适当的不活动时间之后采取措施终止用户会话并重新启动工作站,可以协助系统维护活动并消除可能已经破坏系统但未能获得持久性的恶意行为者。
每天,在工作时间之外以及适当的不活动时间之后,终止用户会话并重新启动工作站。
会话和屏幕锁定
会话和屏幕锁定可防止未经授权访问用户已通过身份验证的系统。
系统配置了会话或屏幕锁,以便:
- 在用户不活动时间最长为 15 分钟后激活,或由用户手动激活
- 隐藏屏幕上的所有会话内容
- 确保在会话或屏幕锁定激活之前屏幕不会进入省电状态
- 要求用户进行身份验证才能解锁会话
- 拒绝用户禁用会话或屏幕锁定机制。
登录横幅
每次用户登录系统时向其显示登录横幅可以提醒用户其安全责任。登录横幅可能涵盖以下主题:
- 系统的灵敏度或分类
- 系统访问要求
- 系统及其资源的使用政策
- 系统的任何监控活动的详细信息。
系统具有登录横幅,提醒用户在访问系统及其资源时注意其安全责任。
虚拟化强化
虚拟机管理程序
本节适用于类型 1 虚拟机管理程序(在裸机上运行的虚拟机管理程序)和类型 2 虚拟机管理程序(在通用操作系统上运行的虚拟机管理程序)。在这种情况下,类型 1 虚拟机管理程序应被视为操作系统,而类型 2 虚拟机管理程序应被视为应用程序。请注意,由于类型 1 虚拟机管理程序本身就是轻量级操作系统,因此可以将其视为基于软件的隔离机制和底层操作系统的组合。相反,类型 2 虚拟机管理程序将在通用操作系统上运行,而该操作系统可能由与软件隔离机制不同的供应商提供。
集装箱化
容器允许系统进行多种部署,因此,容器应与其他系统一样对待。但是,与其他类型的系统相比,容器化环境中的控制可能采用不同的形式。例如,修补工作站的操作系统可能与确保修补后的映像用于容器的方式不同,但原理是相同的。一般而言,适用于非容器化系统的相同安全风险可能也适用于容器化系统。
计算环境之间的功能分离
物理服务器通常使用基于软件的隔离机制在多个计算环境之间共享硬件。在这种情况下,计算环境可以由安装在虚拟机中的整个操作系统组成,其中隔离机制是虚拟机管理程序,例如提供基础设施即服务的云服务,或者,计算环境可以由使用物理服务器底层操作系统共享内核的应用程序组成,其中隔离机制是应用程序容器或应用程序沙箱,例如提供平台即服务的云服务。但请注意,单个应用程序内数据的逻辑分离(例如提供软件即服务的云服务)不被视为与多个计算环境相同。
已经入侵单个计算环境或合法控制单个计算环境的恶意行为者可能会利用隔离机制中的错误配置或漏洞来入侵同一物理服务器上的其他计算环境或入侵物理服务器的底层操作系统。因此,在使用基于软件的隔离机制共享物理服务器硬件时,实施额外的控制措施非常重要。
当使用基于软件的隔离机制共享物理服务器的硬件时,隔离机制应来自已证明致力于安全设计和默认安全原则、尽可能使用内存安全编程语言、安全编程实践以及维护其产品安全性的供应商。
当使用基于软件的隔离机制共享物理服务器的硬件时,通过删除不需要的功能并限制对用于管理隔离机制的管理界面的访问来强化隔离机制的配置。
当使用基于软件的隔离机制共享物理服务器的硬件时,底层操作系统会得到强化。
当使用基于软件的隔离机制共享物理服务器的硬件时,会及时将补丁、更新或供应商的漏洞缓解措施应用于隔离机制和底层操作系统。
当使用基于软件的隔离机制共享物理服务器的硬件时,如果供应商不再支持隔离机制或底层操作系统,则会对其进行替换。
当使用基于软件的隔离机制共享物理服务器硬件时,需要及时对隔离机制和底层操作系统进行完整性和日志监控。
当使用基于软件的隔离机制为 SECRET 或 TOP SECRET 计算环境共享物理服务器硬件时,物理服务器和所有计算环境都属于同一分类并属于同一安全域。
— 欢迎关注 往期回顾 —
网络安全等级保护:等级保护工作、分级保护工作、密码管理工作三者之间的关系
网络安全等级保护:明确测评双方的责任从了解测评过程指南开始(思维导图下载)
因侵犯公民个人信息罪 深圳一人被判一年三个月 售卖他人求职简历
公安部网安局:河南开展整治网络谣言专项行动 查处造谣传谣3000余人
一公司高管为泄愤攻击智慧停车收费系统,致上千家停车场无法自动抬杆
上海4人被判刑:5元掌握明星偶像行程?贩卖明星信息4人被判刑!
假期内,网络主播直播约架?郑州警方迅速控制,刑拘十人!网络空间不是法外之地!
网络水军团灭记:“转评赞”狂刷单 上百人“网络水军”团伙落网
北京多家公司因不履行网络安全保护义务被处罚!“两高一弱”仍然是安全隐患重点
>>>其他<<<
网络安全知识:什么是CIA三要素 (机密性、完整性、可用性)?
网络安全知识:什么是基于域的消息认证、报告和一致性 (DMARC)?
原文始发于微信公众号(祺印说信安):信息安全手册:系统加固指南
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论