MBSA はサーバーに .NET 3.5 が必要であると表示しますが、サーバーには既に .NET 4.0 がインストールされています

MBSA はサーバーに .NET 3.5 が必要であると表示しますが、サーバーには既に .NET 4.0 がインストールされています

.NET3.5 パッチ KB951847 (MBSA による) が必要なサーバーが 1 台ありますが、脆弱性スキャンではそのパッチが必要であると報告されません... 詳細: Server 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 では、Microsoft は実際に 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 を 2.0 ではなく ASP.NET 3.5 を使用するように設定する方法

答え3

脆弱性スキャンには、誤検知と誤検知といういくつかの問題があります。

そのため、常に結果を確認する必要があり、脆弱性スキャンに加えて適切な侵入テストの業界が盛んになっています。

一般的に、MBSA は依存関係を整理するのに非常に優れているため、アプリケーションの 1 つに .NET の一部がインストールされている可能性があります。

答え4

.NET の各メジャー バージョン (2.0、3.0、3.5、4.0) は完全に独立しており、それぞれに更新が必要です。.NET 3.5 を使用するアプリがある場合は、4.0 があっても 3.5 が必要です。

インストールしたすべてのバージョンの.NETのセキュリティ更新プログラムをインストールする必要があります。.NET 3.5を使用していない場合はアンインストールできます。

関連情報