単一のロードバランサの背後にある複数のWebサイトへの異なるOCI WAF保護ルールの適用 (2025/05/24)
単一のロードバランサの背後にある複数のWebサイトへの異なるOCI WAF保護ルールの適用 (2025/05/24)
投稿者:Amit Chakraborty
企業は通常、異なるアプリケーションに対して複数のWebサイトを持っています。これらのWebサイトは、通常、高可用性を実現するためにロードバランサの背後にあります。ビジネス要件に応じて、様々なデプロイメント・アーキテクチャを使用できます。Webサイトごとにロードバランサを使用することも、1つのロードバランサで異なるWebアプリケーションをロードバランシングすることもできます。OCIロードバランサは、両方のユースケースをサポートできます。
次の図は、複数のWebサイトを含む単一のロードバランサを示しています。
図1
ロードバランサを複数のWebサイトを処理するように構成するには様々な方法があります。ここでは、ロードバランサにはアクセスしません(後でアプローチについてブログで説明します)。重要な点は、前述のシナリオでは、WebアプリケーションはWeb攻撃に対して脆弱である可能性があることです。Web Application Firewall (WAF)がすべての受信HTTPリクエストをスキャンし、必要に応じて防御アクションを実行することをお薦めします。次の図は、WAFが混在する改善されたシナリオを示しています。
図2
WAFでは、通常、様々な攻撃ベクトルを定義する様々な保護ルールを構成します。WAFは、受信HTTPリクエストをこれらの保護ルールと照合し、一致が正の場合は必要なアクション(構成済)を実行します。私たちのユースケースに戻って、上記の図2、適切な保護ルールを構成する必要があります。ただし、保護ルールは、通常、(Web)アプリケーション・テクノロジ・スタックと連携されます。アプリケーションがLinuxベースの場合、またはその逆の場合、Windows固有のルールを選択する意味はありません。したがって、前述の図2では、app1.acmecorp.com用とapp2.acmecorp.com用の2組の保護ルールが必要です。
本当の事
OCIでは、1つのWAFポリシー(保護ルール・セットを含む)をロードバランサにアタッチできます。問題は、1つのWAFポリシー内で2つの異なるWebサイトに対して2つの異なる保護ルール・セットを構成する方法です。
OCI WAFでは、条件とアクションを保護ルール・セットに関連付けることができます。たとえば、OCIテナンシでは、デモ目的で、amitwebappsとamitmobileの2つのWebサイトを定義しました。次の図3に示すように、amitwebappsおよびamitmobileの条件とアクションを使用して、2つの保護ルール・セット(Webサイトと同じ名前)を構成しました。
図3
両方の保護ルール・セットには、次の図4のように単一のルールがあります。
図4
保護ルール・セットamitwebappsがWebサイトamitwebappsのリクエストにのみ適用されるように、ルール・セット内の条件を使用できます。
図5
図5の条件は、HTTPホストヘッダーをチェックする。Webサイトamitwebapps宛のリクエストのみが保護ルール・セットをトリガーします。同様に、Webサイトamitmobileの保護ルール・セットには、対応する条件があります。
図6
XSS攻撃でamitwebappsで次のテストを実行すると、次のようになります。
図7
リターンコード401は、図3のamitwebappsに対して定義されたアクションと一致しています。WAFログを調べると(関連するセクションのみが表示されます)、次の内容が表示されます。
図8
ログは、正しい保護ルール(およびレスポンス)が機能していることを確認します。同様に、amitmobileのWebサイトで同じテストを実行すると、- になります
図9
繰り返しますが、これは図3のamitmobileアプリに定義された「チェック」アクションと一致しています。ログをチェックすると、amitmobile Webサイト用に構成された保護ルールのみがトリガーされることを確認します。
図10
まとめ
OCI WAFは、Webアプリケーションの保護に強力な構造を提供します。このブログ投稿では、ロードバランサの背後にある複数のWebサイトを保護する方法を、独自の保護要件とともに調査しました。
コメント
コメントを投稿