IIS 7.0
integrated mode
では、Response.ClearHeaders()
IISを含むすべてのヘッダーを削除した後、Server
やX-Powered-By
これはハッカーに良い情報を明らかにします。どうすればこの動作を停止できますか(まだカスタムヘッダーを追加する必要があると考えます)。
これをWeb.Configに追加できます。
<system.webServer>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
更新:MVCフレームワークを使用している場合は、X-AspNetMvc-Version
およびX-AspNet-Version
ヘッダーも削除することをお勧めします。これは、MvcHandler.DisableMvcResponseHeader = true
ファイルにGlobal.asax
を設定し、<system.web><httpRuntime enableVersionHeader="false" /></system.web>
にWeb.config
をそれぞれ設定することで実現されます。
X-Powered-By
はIIS内で構成されます。 Windows 7では、具体的には次のとおりです。
X-Powered-By
しかし、何がServer
ヘッダーを生成するのかわかりません。
IIS7 +統合モードの場合、eth0にはそれがあります:<customHeaders>
web.configのタグ。それをありがとう。 "Server"ヘッダーについては、MVCを使用している場合は、次のコードを追加するだけです。
protected void Application_PreSendRequestHeaders()
{
Response.Headers.Remove("Server");
}
global.asaxのMvcApplicationクラスに追加します。それ以外の場合は、カスタムHttpモジュールを追加して、PreSendRequestHeadersイベントを処理するだけで、同じことができます。
ここで、web.configファイルがなくなったASP.NET Coreバージョンでは、別のアプローチが必要であることをここに追加します。
ASP.NET Core 2.1でヘッダーを削除するために、次の調整を行いました。
X-powered-byヘッダーを削除するには、
<customHeaders>
<clear />
<add name="X-Powered-By" value="ASP.NET" />
</customHeaders>
と
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
プロジェクトの.vs\configフォルダーにあるapplicationhost.configファイル内。
サーバーヘッダーは、
.UseKestrel(c => c.AddServerHeader = false)
program.csファイル内。
次の回答には、URLScanまたはカスタムHttpModuleを必要としない完全なソリューションが含まれており、言及するすべての関連ヘッダーを削除します。 Azureでも動作します。
URLScanを使用して、サーバーヘッダーを削除したり、別のサーバーヘッダーを構成したりできます http://learn.iis.net/page.aspx/938/urlscan-3-reference/
しかし、実際にハッカーが何を使用しているのかをハッカーが知ることは決してありません。サーバー情報を検出する方法は明らかに他にもあります。
Appcmd.exe(IIS 7以降)を使用してジョブを実行できます。スクリプトは次のようになります。
C:\Windows\System32\inetsrv\appcmd.exe set config -section:system.webserver/httpProtocol /-customHeaders.["name='X-Powered-By'"] /commit:apphost
/commit:apphost
:これにより、構成設定がApplicationHost.configファイルの適切な場所セクションにコミットされます。
私は通常、これらのすべてのスクリプトのバッチファイルを作成し、アプリケーションのインストール後にWebサーバーで実行します。
ASP.NET MVCアプリケーションの場合、アプローチは異なり、ここに記載されている他の回答を参照できます。