1. Content Hub開発者

Webサーバーのセキュリティ

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Webサーバーのセキュリティを強化するには、ServerX-Powered-By、バージョン固有のヘッダーなど、機密情報を公開するヘッダーを削除し、X-Content-Type-OptionsX-XSS-Protectionなどのセキュリティに重点を置いたヘッダーを追加して一般的な攻撃を軽減します。

ヘッダーの削除

デフォルトでは、一部のHTTPヘッダーは、攻撃に対するサーバーの脆弱性を高める可能性のある情報を明らかにする可能性があります。このリスクを軽減するために、それらを無効にすることを強くお勧めします。

IIS 10以降

Windows Server 2016に付属するIISバージョン10では、web.configファイルを更新することでServerヘッダーを削除できます。

例:

 <system.webServer> 
  <security> 
   <requestFiltering removeServerHeader="true"/> 
  </security> 
 </system.webServer> 

古いIISバージョン

古いIISバージョンではヘッダーの削除はサポートされていませんが、書き換えルールを使用して値を変更できます。

例:

 <system.webServer> 
  <rewrite> 
   <outboundRules> 
    <rule name="changeServerHeader"> 
     <match serverVariable="RESPONSE_Server" pattern=".*" /> 
     <action type="Rewrite"/> 
    </rule> 
   </outboundRules> 
  </rewrite> 
 </system.webServer> 

これにより、Serverヘッダーが空の値で上書きされます。

X-パワード・バイ

設定を使用してX-Powered-Byヘッダーを削除することもできます。

例:

 <system.webServer>  
   <httpProtocol allowKeepAlive="true"> 
    <customHeaders> 
     <remove name="X-Powered-By" />    
    </customHeaders> 
   </httpProtocol> 
 <system.webServer/> 

X-AspNet版

X-AspNet-Versionヘッダーを削除するには、system.web要素を見つけて、行を追加しますhttpRuntime enableVersionHeader="false"/ .

例:

 <system.web> 
   <httpRuntime enableVersionHeader="false"/> 
 </system.web> 

X-AspNetMvc-バージョン

X-AspNetMvc-Versionを削除するには、global.asaxファイルに次のコード行を追加します。

MvcHandler.DisableMvcResponseHeader = true;
メモ

ポータルWebアプリケーションでは、既定ではこのヘッダーは省略されます。

X-コンテンツタイプ-オプション

X-Content-Type-Optionsヘッダーをnosniffに設定することもできます。これにより、ブラウザがレスポンスのコンテンツタイプを「mime-sniff」または推測しようとするのを防ぎ、サーバーによって宣言されたコンテンツタイプを確実に使用するようにします。

 <system.webServer> 
   <httpProtocol> 
    <customHeaders> 
     <remove name="X-Content-Type-Options"/> 
     <add name="X-Content-Type-Options" value="nosniff"/> 
    </customHeaders> 
   </httpProtocol> 
 </system.webServer> 

ヘッダーを追加

また、MIMEタイプ スニッフィング、クロスサイト スクリプティング (XSS)、クリックジャッキングなどの一般的な脆弱性から保護し、Cookieが安全に処理されるように、他のいくつかのヘッダーを追加することもお勧めします。

X-フレームオプション

X-Frame-Optionsヘッダーを設定して、フレーム内のContent Hubを含む他のWebサイトを防ぎます。

可能な値は次のとおりです。

DENYを使用することをお勧めします。ただし、特定の実装のフレームとしてContent Hubを使用できるようにする必要があります。例えば:

 <httpProtocol> 
  <customHeaders> 
   <add name="X-Frame-Options" value="DENY" /> 
  </customHeaders> 
 </httpProtocol> 

X-XSSプロテクション

XSS攻撃に対する追加の保護レイヤーとしてX-XSS-Protectionヘッダーを使用します。

可能な値は次のとおりです。

  • 0 - XSSフィルタリングを無効にします。

  • 1 - XSSフィルタリングを有効にします (通常はブラウザーのデフォルトです)。クロスサイトスクリプティング攻撃が検出された場合、ブラウザは安全でない部分を削除してページをサニタイズします。

  • 1; mode=block - XSSフィルタリングを有効にします。攻撃が検出された場合、ブラウザはページをサニタイズするのではなく、ページのレンダリングを防ぎます。

  • 1; mode=report - XSSフィルタリングを有効にします。クロスサイトスクリプティング攻撃が検出された場合、ブラウザはページをサニタイズし、違反を報告します。これは、CSP report-uriディレクティブを使用してレポートを送信します (Chromiumのみ)。

    例えば:

 <httpProtocol> 
  <customHeaders> 
   <add name="X-XSS-Protection" value="1; mode=block" /> 
  </customHeaders> 
 </httpProtocol> 
手記

Mozillaは、X-XSS-Protectionに関する詳細な情報をMozillaのWebサイトで提供しています。

安全なクッキー

Cookieが第三者に盗まれるのを防ぐには、SecureフラグとHTTPOnlyフラグを追加します。 Secureフラグは、CookieがHTTPS接続を介してのみ送信されることを保証し、HTTPOnlyフラグはJavaScript Cookieへのアクセスを防ぎ、XSS攻撃に対する保護レイヤーを追加します。

例えば:

 <system.web> 
   <httpCookies httpOnlyCookies="false" requireSSL="true" /> 
 </system.web> 
この記事を改善するための提案がある場合は、 お知らせください!