我正试图将Powershell更新到5.1版,这是我直接从微软网站下载的。下载的签名来自Microsoft (虽然签名过期了几个月),但是当我尝试运行脚本时,我会收到一个错误信息,说明此脚本不受计算机信任,以及是否应该继续执行该脚本?
我想知道为什么一个直接来自微软网站的脚本会出现错误,因为它是“不安全的”。我很好奇人们是否会建议我不要运行这个脚本,或者我应该如何运行,因为我必须更新到Powershell 5.0+来配置另一个应用程序(是的,非常烦人)。
还要注意的是,在微软的网站上有两个不同的页面,我可以在那里下载这些脚本,每个页面都有一个与另一个不同的下载链接。一个来自download.microsoft,另一个来自go.microsoft (我从前一个链接下载)。我不知道为什么有两个不同的联系,但不确定这是否是一个值得关注的原因。
https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-6 (这是我下载脚本的页面)
不过,我似乎找不到另一个带有下载信息的页面,但另一个页面也提供了如何升级powershell的信息。页面说要从powershell控制台运行脚本(对我不起作用,所以我右击并单击"execute script")。第一个链接(上面)没有给出任何关于我们应该做什么来升级的信息。我也没有尝试运行MSU文件本身。
以下是有关从第一个链接在zip文件中下载的2个文件的一些安全信息。
https://whitelisting.kaspersky.com/advisor#search/e3142d5fada08ea6a1ba2134e4015a5c (ps1文件)
https://whitelisting.kaspersky.com/advisor#search/cef5ecbdf9b396fcab5bd73e5c6cb4bf (msu文件)
第一个是由"Microsoft Code Signing PCA 2011“签署的,第二个是由"Microsoft Code Signing PCA”签署的,但不确定这意味着什么。我觉得奇怪的是,签名也过期了,而且还没有更新。
我想知道是否签名过期与这个“不可信”问题有关,还是有更深层次的问题?
编辑:这就是我运行脚本时所说的。
“要从这个不受信任的出版商运行软件吗?
文件(名称)由CN=Microsoft公司、OU=MOPR公司、O=Microsoft公司、L=Redmond公司、S=Washington公司、C=US公司发布,在您的系统中不受信任。只运行来自受信任的发布者的脚本。“
然后问我是否想运行它。
谢谢你们在这件事上的任何帮助。
发布于 2018-08-09 23:12:43
过期签名应始终触发对已签名代码的警告,无论是编译还是解释。这是正常的,也是预料之中的。
在此基础上,CA证书用于签名该证书也过期了。
由于该文件直接来自供应商,因此使用该文件可能是安全的。这一点尤其正确,因为它是由它们的时间戳PCA加签名的,它可以作为一个见证,证明该文件在指定的日期存在,并且在那时已经由Microsoft签名。(签名通常由第三方完成,但无论如何。)
虽然分发使用过期证书签名的代码是不好的形式,但也并非闻所未闻。在这种情况下,签名者和发行商是同一家公司,所以如果他们认为文件被修改了,他们就可以停止分发。
总的来说,这是一种糟糕的形式,但并不令人惊讶。
发布于 2021-12-30 18:39:38
我最近也有同样的问题,我学到并提醒自己:
文档声明:
执行策略不是限制用户操作的安全系统。例如,当用户无法运行脚本时,可以通过在命令行键入脚本内容轻松地绕过策略。相反,执行策略帮助用户设置基本规则并防止他们无意中违反这些规则。
另一个文档说:
脚本中的数字签名在签名证书过期之前是有效的,或者只要时间戳服务器能够验证脚本是否在签名证书有效时签名。由于大多数签名证书的有效期仅为一年,所以使用时间戳服务器可以确保用户可以在今后的许多年中使用您的脚本。
因此,一些重要的事情实际上是可以信任的,在这种情况下发生了什么。
你能相信那个剧本里没有bug吗?希望时间能告诉你。这个行业没有办法提前完全信任类似的事情。
但是,有了这样一个严格的执行策略,所有者和开发人员就能够更好地分辨出假设的问题是由什么引起的。这也意味着它可能会防止一些绝望用户的意外运行。最终,这意味着更好的体验。
https://security.stackexchange.com/questions/191297
复制相似问题