- インフラ
ウェブサーバーのセキュリティ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Server、X-Powered-By、バージョン固有のヘッダーなど、機密情報を露出させるヘッダーを削除したり、X-Content-Type-OptionsやX-XSS-Protectionなどのセキュリティ重視ヘッダーを追加することで、一般的な攻撃を軽減するためにウェブサーバーのセキュリティを高めることができます。
ヘッダーを削除してください
デフォルトでは、一部のHTTPヘッダーがサーバーの攻撃脆弱性を高める情報を漏らす場合があります。このリスクを減らすために、これらのヘッダーを無効化することを強くお勧めします。
IIS 10以上
Windows Server 2016に付属するIISバージョン10以降、web.configファイルを更新することでServerヘッダーを削除できます。
例:
<system.webServer>
旧IISバージョン
古いIISバージョンではヘッダーの削除はサポートされていませんが、リライトルールを使って値を変更できます。
例:
<system.webServer>
これによりServerヘッダーが空の値で上書きされます。
Xパワードバイ
設定でX-Powered-Byヘッダーを削除することもできます。
例:
<system.webServer>
X-AspNetバージョン
system.web要素を見つけて行httpRuntime enableVersionHeader="false"/を追加することでX-AspNet-Versionヘッダーを削除できます。
例:
<system.web>
X-AspNetMvc-バージョン
global.asaxファイルに以下のコードを追加することでX-AspNetMvc-Versionを解除できます。
MvcHandler.DisableMvcResponseHeader = true;
!注ポータルのウェブアプリケーションでは、このヘッダーはデフォルトで省略されています。
X-コンテンツタイプ-オプション
また、X-Content-Type-Optionsヘッダーをnosniffに設定することもできます。これにより、ブラウザが「マイムスニッフ」や応答の内容タイプを推測しようとするのを防ぎ、サーバーが宣言したコンテンツタイプを確実に使うことができます。
<system.webServer>
ヘッダーの追加
また、MIME型スニッフィング、クロスサイトスクリプト(XSS)、クリックジャッキングなどの一般的な脆弱性から保護し、クッキーが安全に扱われるようにするために、いくつかのヘッダーを追加することを推奨します。
X-フレーム-オプション
X-Frame-Optionsヘッダーを設定して、フレーム内の他のウェブサイトの入Content Hubを防ぎましょう。
可能な値は以下の通りです:
- DENY
- SAMEORIGIN
- ALLOW-FROM https://example.com/
特定の実装のフレームとしてContent Hubを有効にする必要がある場合は、DENYの使用を推奨します。例えば:
X-XSSプロテクション
X-XSS-ProtectionヘッダーをXSS攻撃に対する追加の保護層として使用してください。
可能な値は以下の通りです:
-
0 - XSSフィルタリングを無効にする。
-
1 - XSSフィルタリングを有効にする(通常はブラウザのデフォルト機能)。クロスサイトスクリプティング攻撃が検出された場合、ブラウザは安全でない部分を削除してページをサニティ化します。
-
1; mode=block - XSSフィルタリングを有効にする。攻撃が検出された場合、ブラウザはページのレンダリングを阻止する。
-
1; mode=report - XSSフィルタリングを有効にする。クロスサイトスクリプティング攻撃が検出された場合、ブラウザはページをサニティ化し、違反を報告します。これはCSPのreport-uri指令を使って報告を送信します(Chromiumのみ)。
例えば:
!注MozillaはX-XSS-Protectionに関する詳細情報を自社のウェブサイトで提供しています。
セキュアクッキー
第三者によるクッキーの盗難を防ぐために、SecureとHTTPOnlyフラグを追加してください。 SecureフラグはクッキーがHTTPS接続経由でのみ送信されることを保証し、HTTPOnlyフラグはJavaScriptクッキーへのアクセスを防ぎ、XSS攻撃に対する追加の保護層を加えます。
例えば:
<system.web>