MBSA 顯示伺服器需要 .NET 3.5,但伺服器已安裝 .NET 4.0

MBSA 顯示伺服器需要 .NET 3.5,但伺服器已安裝 .NET 4.0

我有一台伺服器需要 .NET3.5 修補程式 KB951847(根據 MBSA),但漏洞掃描未根據需要報告該修補程式...詳細資訊:伺服器 W2003 安裝了 .NET4.0,但 MBSA 告訴我需要安裝安裝.NET 3.5的KB 951847 補丁,為什麼?我只安裝了 .NET2 SP2 和 .NET 4 ,所以 .NET 4.0 不應該讓 .NET 3.5 變得無關緊要嗎?

-伺服器 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 之間的關係。

如何設定 IIS 應用程式或 AppPool 以使用 ASP.NET 3.5 而不是 2.0

答案3

漏洞掃描有幾個問題:誤報和漏報。

這就是為什麼您總是需要檢查結果,以及為什麼除了漏洞掃描之外,適當的滲透測試產業也蓬勃發展。

一般來說,MBSA 非常擅長整理依賴關係,因此您可能將 .NET 的一部分安裝為應用程式之一。

答案4

.net 的每個不同主要版本(2.0、3.0、3.5、4.0)都是完全獨立的,並且需要自己的一組更新。如果您有一個使用 .NET 3.5 的應用程序,即使您有 4.0,您仍然需要 3.5。

您需要為已安裝的所有 .NET 版本安裝安全性更新。如果您不使用 .NET 3.5,您可以卸載它

相關內容