3 追加のHTTPレスポンス・ヘッダーの構成
この章では、ブラウザのセキュリティを向上させるために使用できるデフォルトのHTTPレスポンス・ヘッダーに関する情報と、追加ヘッダーの追加および管理方法について説明します。
この章の内容は次のとおりです。
- デフォルトのHTTPレスポンス・ヘッダー
OWASPセキュア・ヘッダー・プロジェクト(OSHPとも呼ばれる)では、ブラウザのセキュリティを強化するために使用できるHTTPレスポンス・ヘッダーが推奨されます。 - 新規HTTPレスポンス・ヘッダーの追加
推奨ヘッダーがEDQ HTTPレスポンスにない場合は、director.propertiesファイルに定義することで、欠落しているヘッダーを含めることができます。 - キャッシュの無効化に使用されるヘッダーの更新
キャッシュの無効化に使用される2つのデフォルト・ヘッダーは、すべての場合に適しています。ただし、これらを更新する場合は、新しいヘッダー値または置換されたヘッダー値を含む追加のJSONファイルを追加できます。
デフォルトのHTTPレスポンス・ヘッダー
OWASPセキュア・ヘッダー・プロジェクト(OSHPとも呼ばれる)では、ブラウザのセキュリティを強化するために使用できるHTTPレスポンス・ヘッダーが推奨されます。
| ヘッダー | 値 |
|---|---|
| X-Content-Type-Options | nosniff |
| X-XSS-Protection | 1; mode=block |
| X-Frame-Options | deny |
| Content-Security-Policy | default-src 'self' 'unsafe-eval'; img-src 'self' data:; child-src 'none'; object-src 'none'; style-src 'self' 'unsafe-inline'; frame-src 'none'; frame-ancestors 'none' |
| Cross-Origin-Embedder-Policy | require-corp |
| Cross-Origin-Opener-Policy | same-origin |
| Cross-Origin-Resource-Policy | same-origin |
さらに、これらのヘッダーは、キャッシュする必要のない動的レスポンスに追加されます。
| ヘッダー | 値 |
|---|---|
| Cache-Control | no-store |
| Pragma | no-cache |
アプリケーション・サーバー(WebLogicまたはTomcat)では、レスポンスにセキュリティ関連のヘッダーも含まれることに注意してください。
親トピック: 追加のHTTPレスポンス・ヘッダーの構成
新規HTTPレスポンス・ヘッダーの追加
推奨ヘッダーがEDQ HTTPレスポンスにない場合は、director.propertiesファイルに定義することで、欠落しているヘッダーを含めることができます。
追加のレスポンス・ヘッダーを構成するには、属性名がヘッダー名で、値がヘッダー値であるJSONオブジェクトを含むファイルを作成します。レスポンスからデフォルト・ヘッダーを削除するには、値をnullに設定します。
director.propertiesに次の内容を追加します。
http.responseheaders = name of the JSON fileここでの値が絶対ファイル名でない場合、EDQはローカル構成ディレクトリ内のファイルを検索します。
たとえば、デフォルトの X-Frame-Optionsヘッダーを削除し、X-new-headerヘッダーを追加するには、次を含むJSONファイルをheaders.jsonという名前で作成します。
{ "X-Frame-Options" : null,
"X-new-header" : "some new value"
}次に、director.propertiesに次の内容を追加します。
http.responseheaders = headers.jsonすべてのデフォルト・ヘッダーを削除するには、director.propertiesに次の内容を追加します。
http.responseheaders.replace = true親トピック: 追加のHTTPレスポンス・ヘッダーの構成
キャッシュの無効化に使用するヘッダーの更新
キャッシュを無効にするために使用される2つのデフォルト・ヘッダーは、すべての場合に適しています。ただし、これらを更新する場合は、新しいヘッダー値または置換されたヘッダー値を含む追加のJSONファイルを追加できます。
JSONファイルの場所を構成するには、director.propertiesに次の行を追加します。
http.responseheaders.nocache = name of file containing JSON with caching headers標準のno-cacheヘッダーの両方を削除するには、次の行を追加します。
http.responseheaders.nocache.replace = true親トピック: 追加のHTTPレスポンス・ヘッダーの構成