我有一台服务器需要 .NET3.5 补丁 KB951847(根据 MBSA),但漏洞扫描未报告需要该补丁...详细信息:服务器 W2003 已安装 .NET4.0,但 MBSA 告诉我需要安装安装 .NET 3.5 的 KB 951847 补丁,为什么?我只安装了 .NET2 SP2 和 .NET 4,因此 .NET 4.0 不应使 .NET 3.5 无关紧要?
-Server W2003 SP2 (x86) -Nessus 扫描未显示任何 .NET 漏洞
请帮我解决这个差异,我正在尝试避免安装不必要的软件(.NET 3.5)。
谢谢 :)
答案1
.NET 3.0/3.5/3.5 SP1 是在 .NET 2.0 基础上的 DLL/功能添加/优化。
在内部,所有这些版本的 .NET 都使用相同的核心 CLR(通用语言运行时)可执行文件。因此,只要您的计算机上有 .NET 2.0 SP2,就足以暴露 MBSA 标记的漏洞。
在 .NET 4.0 中,微软实际上重写了 CLR,创建了一个新的、独立的可执行文件。如果你的机器上只有 4.0,那么你可能不会因为这个补丁而被标记。
这篇 TechNet 文章解释了 .NET 2.0 和 3.0/3.5/3.5 SP1 之间的关系:
.NET Framework 3.5.1 功能概述
答案2
Scott Hanselman 在他的博客文章中出色地解释了 .NET 的版本控制:
.NET 版本控制和多目标 - .NET 4.5 是 .NET 4.0 的就地升级。
简而言之,.NET 3.5 是 .NET 2 的就地升级,因此需要安装它。他还有另一篇博客文章,虽然以 IIS 为中心,但其中包含大量信息,解释了 .NET 2.0 和 .NET 3.5 之间的关系。
答案3
漏洞扫描存在一些问题:误报和误报。
这就是为什么您总是需要检查结果,以及为什么除了漏洞扫描之外,适当的渗透测试行业也蓬勃发展。
通常,MBSA 在整理依赖关系方面相当出色,因此您可能已将 .NET 的各部分作为您的某个应用程序的一部分进行安装。
答案4
.net 的每个主要版本(2.0、3.0、3.5、4.0)都是完全独立的,需要各自的更新集。如果您的应用程序使用 .NET 3.5,即使您有 4.0,您仍然需要 3.5。
您需要安装已安装的所有 .NET 版本的安全更新。如果您不使用 .NET 3.5,则可以将其卸载