1. インフラ

ウェブサーバーのセキュリティ

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

このページの翻訳は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> </system.webServer>

旧IISバージョン

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

例:

<system.webServer> </system.webServer>

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

Xパワードバイ

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

例:

<system.webServer> <system.webServer/>

X-AspNetバージョン

system.web要素を見つけて行httpRuntime enableVersionHeader="false"/を追加することでX-AspNet-Versionヘッダーを削除できます。

例:

<system.web> </system.web>

X-AspNetMvc-バージョン

global.asaxファイルに以下のコードを追加することでX-AspNetMvc-Versionを解除できます。

MvcHandler.DisableMvcResponseHeader = true;

!注ポータルのウェブアプリケーションでは、このヘッダーはデフォルトで省略されています。

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

また、X-Content-Type-Optionsヘッダーをnosniffに設定することもできます。これにより、ブラウザが「マイムスニッフ」や応答の内容タイプを推測しようとするのを防ぎ、サーバーが宣言したコンテンツタイプを確実に使うことができます。

<system.webServer> </system.webServer>

ヘッダーの追加

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

X-フレーム-オプション

X-Frame-Optionsヘッダーを設定して、フレーム内の他のウェブサイトの入Content Hubを防ぎましょう。

可能な値は以下の通りです:

特定の実装のフレームとして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> </system.web>

この記事を改善するための提案がある場合は、 お知らせください!