したがって、ASP.NETアプリケーションは、とりわけ、次のヘッダーをクライアントに送信します(値は異なる場合があります)。
- サーバー :Microsoft-IIS / 6.0
- X-Powered-By :ASP.NET
- X-AspNet-Version :2.0.50727
- (オプション) X-AspNetMvc-Version :1.0
これらのヘッダーを削除することで、リクエストごとにトラフィックを約100バイトだけ「促進」しますが、 まず 、これらの100バイトにサーバーへの何万ものリクエストを掛けたものが具体的な役割を果たすことに注意してください。 第二に、ヘッダーがないため、サーバーバージョン、ASP.NETバージョン、およびプラットフォーム全般に関する情報を奪われる攻撃者の生活が複雑になります。
ここまでがポイントです。
X-AspNet-Versionヘッダーを削除します。
ここではすべてが簡単です。 web.configに次の行を追加するだけです:
< httpRuntime enableVersionHeader ="false" />
ヘッダーX-AspNetMvc-Versionを削除します
ASP.NET MVCフレームワークを使用している場合、Global.asaxファイルのApplication_Startハンドラーに次のコードを追加します。
MvcHandler.DisableMvcResponseHeader = true ;
X-Powered-Byヘッダーを削除する
IIS管理スナップインを起動し、Webサイトのプロパティの[サービス]タブに移動します。
![画像](https://habrastorage.org/getpro/habr/post_images/14e/e2a/6cc/14ee2a6cc46b13f222bb8f0d1086632e.gif)
IIS7を使用している場合-すべてが次のようになります。
![画像](https://habrastorage.org/getpro/habr/post_images/8e0/9cd/ecf/8e09cdecfa4bda0dc111f5cb60f49761.gif)
サーバーヘッダーを削除する
ここではすべてがより複雑です。 このヘッダーはIIS自体によって追加されるため、Application_PreSendRequestHeadersハンドラーで、Global.asaxの小さなハックを使用して、手でクリーンアップする必要があります。
//
HttpContext .Current.Response.Headers.Remove( "Server" );
残念ながら、これは統合パイプラインモード設定がオンになっている場合にのみ機能します。「IIS7のみ」をお読みください。 IIS6の場合、Microsoftの無料ユーティリティ-UrlScanの助けを借りる必要があります。