当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 企业级 PowerShell 安全最佳实践

作者:精品下载站 日期:2024-12-14 19:04:20 浏览:15 分类:玩电脑

企业级 PowerShell 安全最佳实践


Microsoft 开发了用于任务自动化和配置管理的Windows PowerShell。基于.NET框架;同时它包括命令行 shell 和脚本语言。它不能帮助用户实现自动化,但也能快速解决复杂的管理任务。尽管如此,许多用户常常认为PowerShell是黑客用来破坏安全的工具。不幸的是,PowerShell 确实被广泛用于安全漏洞。因此,技术知识较少或没有技术知识的用户通常会停用 PowerShell。然而,现实情况是,PowerShell 安全方法可以提供针对企业级别安全漏洞的最佳保护。

[玩转系统] 企业级 PowerShell 安全最佳实践

Microsoft 德国首席现场工程师 David das Neves 在他的一篇文章中提到,PowerShell 安全方法是在企业级设置安全性的一种强大方法。事实上,根据 RedMonk 创建的编程语言排名图表,PowerShell 是 GitHub 上最常用的语言之一。

了解 PowerShell 安全性

全球许多 IT 管理员都在使用 Windows PowerShell。它是 Microsoft 的任务自动化和配置管理框架。借助它的帮助,管理员可以在本地和远程 Windows 系统上执行管理任务。然而,最近,一些组织一直在避免使用它;特别是对于远程访问;怀疑安全漏洞。为了消除围绕该工具的这种混乱,微软首席现场工程师 Ashley McGlone 发表了一篇博客,提到了为什么它是一个安全工具而不是一个漏洞。

[玩转系统] 企业级 PowerShell 安全最佳实践

组织正在将 PowerShell 视为漏洞

McGlone 提到了组织中有关此工具的一些最新趋势。一些组织禁止使用 PowerShell 远程处理;而在其他地方,InfoSec 已阻止使用它进行远程服务器管理。他还提到,他经常收到有关 PowerShell Remoting 安全性的问题。多家公司正在限制该工具在其环境中的功能。这些公司大多数都担心工具Remoting,它总是加密的,单端口5985或5986。

PowerShell 安全最佳实践

McGlone 描述了为什么该工具不是漏洞,但另一方面,它非常安全。他提到了一些重要的观点,例如该工具是一个中立的管理工具,而不是一个漏洞。该工具的远程处理尊重所有 Windows 身份验证和授权协议。默认情况下,它需要本地管理员组成员身份。

他进一步提到了为什么该工具比公司想象的更安全:

“当您启用脚本块日志记录和系统范围的转录时,WMF 5.0(或带有 KB3000850 的 WMF 4.0)的改进使 PowerShell 成为黑客最糟糕的选择工具。与流行的 CMD 实用程序不同,黑客会在各处留下指纹”。

由于其强大的跟踪功能,McGlone 推荐 PowerShell 作为远程管理的最佳工具。该工具附带的功能允许组织找到诸如谁、什么、何时、何地以及如何在服务器上进行活动等问题的答案。

他进一步提供了资源链接,以了解如何保护该工具并在企业级别使用它。如果您公司的信息安全部门想要了解有关此工具的更多信息,McGlone 提供了 PowerShell 远程安全注意事项的链接。这是 PowerShell 团队的新安全文档。该文档包含各种信息部分,例如什么是 Powershell Remoting、其默认设置、进程隔离和加密以及传输协议。

该博客文章提到了几个来源和链接,以了解有关 PowerShell 的更多信息。您可以获取这些资源,包括 WinRMSecurity 网站的链接以及 TechNet 博客上 Lee Holmes 撰写的白皮书。

企业级 Windows PowerShell 安全性

在设置 Windows PowerShell 安全性之前,有必要了解其基础知识。用户必须使用最新版本的 Windows PowerShell。这里用户必须注意,必须使用最新版本的 Windows PowerShell 设置 PowerShell 安全性。如果是较低版本(如 PowerShell Version 2)则弊大于利。因此,建议用户必须摆脱 PowerShell 版本 2。

除了最新版本的 Windows PowerShell 之外,用户还必须选择最新版本的操作系统。要设置 PowerShell 安全性,Windows 11 或 Windows 10 是最兼容的操作系统。 Windows 11/10 具有许多安全功能。因此,建议用户将旧的 Windows 计算机迁移到 Windows 11/10 并评估所有可以使用的安全功能。

ExecutionPolicy:许多用户不选择 PowerShell 安全方法,而是使用 ExecutionPolicy 作为安全边界。然而,正如 David 在他的帖子中提到的,即使作为标准用户,也有超过 20 种方法可以超越 ExecutionPolicy。因此用户应该通过GPO(例如RemoteSigned)进行设置。 ExecutionPolicy 可能会阻止某些黑客使用来自互联网的 PowerShell 脚本,但它并不是一个完全可靠的安全设置。

PowerShell 安全方法要考虑的因素

David 提到了在企业级别设置 PowerShell 安全性时需要考虑的所有重要因素。 David 涵盖的一些因素如下:

  • PowerShell 远程处理

  • 确保特权访问的安全

  • 环境现代化

  • 白名单/签名/ConstrainedLanguage/Applocker/Device Guard

  • 记录

  • 脚本块日志记录

  • 扩展日志记录/WEF 和 JEA

有关 PowerShell 安全设置的更多详细信息,请阅读他在 MSDN 博客上的帖子。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯