REST APIがインターネットに公開されており、フォームベース認証を備えた別のアプリケーションがあります。これらのアプリケーションはWebアプリケーションファイアウォールの背後にあります。
質問は、WAFまたはコードレベルで、以下のセキュリティHTTPヘッダーをどこに実装する必要があるかです。
2番目の質問:ヘッダーがコードレベルとWAFレベルで構成されている場合はどうなりますか?ヘッダーを2回取得しますが、間違っていますか?
クライアントの観点からは、これらのヘッダーがどこに実装されているかは重要ではありません。のみかどうか実装されています。
ただし、展開の観点からは、WAFは追加の防御線としてのみ扱われ、単一の防御線として扱われるべきではありません。これは、少なくともほとんどのヘッダーについて、Webアプリケーション自体とセキュリティヘッダーの適切な設定で適切な入力チェックを行う必要があることを意味します。もちろん、HPKPは、WAFである可能性のある証明書を所有するTLSエンドポイントでのみ設定できます( 非推奨 )以降に設定する必要がある場合。
Webアプリケーション自体にセキュリティヘッダーを設定することも、開発の観点からは優れています。開発者は、特定の入力の予想されるタイプとそのチェック方法を知っている必要があるだけでなく、アプリケーションがどのように機能するか、たとえば最も厳しいContent-Security-Policyが何であるかについても知っています。代わりに、WAFは、アプリケーションの深い知識がない別のチームによって配備されることが多いため、セキュリティヘッダーをアプリケーションが許容できる最も厳しい値に簡単に設定できません。
したがって、サードパーティのアプリケーションの場合のように、アプリケーション自体で設定できない場合にのみWAFで設定する必要があります。ただし、追加の防御線として、WAFを使用してヘッダーが存在し、ヘッダーが十分に厳格であることを確認できます。これは、開発者がヘッダーを設定するのを忘れた可能性があるためです。
いくつかの考えのためだけに、これは言うまでもなく適切な推奨事項です。
構成を混在させたくない場合(例:ここにいくつかのヘッダーを設定し、そこにいくつかヘッダーを設定します)、アプリケーションでそれらを保持します