※ 本記事は、Catalin Andreiによる”Difference between Web Application Firewall and Network Firewall service“を翻訳したものです。

2023年2月9日


概要

Web Application FirewallとNetwork Firewall Serviceは、ネットワークのレイヤーで顧客のワークロードを保護する非常に重要な2つのサービスです。一見したところ、慣れていない人にとっては、これらのサービスは機能が重複しており、2 つのサービスの違いと、どちらが他のサービスよりもどこに最も適しているかについての混乱があります。

この投稿では、テストで、次のシナリオを使用しました: トラフィックがインターネット・ゲートウェイ・レベルでOCIに到達し、Network Firewallに転送され、その後、WAFがアタッチされ、最後にWebサーバーに到達したLBに転送されます。

3b3e53a44a6274bc5905af3d411942a9.png

インターネット・ゲートウェイには、Network Firewallサービスを介したLB IPアドレスのルートを持つルーティング表がアタッチされています。

ネットワーク・ファイアウォール・サービス(NFWS)

このサービスは、ネイティブのOCIセキュリティ・リストおよびネットワーク・セキュリティ・グループに対する機能強化であり、Palo Altoのベースになっています。
Palo Alto VMのMarketplaceインスタンスとServiceの間に機能の同等性はありません。サービスのリリース時には、2 つの実装の間にギャップがあり、私の意見では、これらのギャップは時間とともに縮小されます。
NFWSはVCN内トラフィックとVCN間トラフィックを検査でき、トラフィックをホワイトリストに登録できるネイティブ・セキュリティ・リストと比較すると、NFWSには「許可」、「ドロップ」、「侵入検出」、「侵入防止」、「拒否」などのアクションがあります。

fca88cc663f8153a1d335f527f0c7279.png

NFWSに関する最初の記事については、公式のリファレンス・アーキテクチャから始め、続けて、同僚のBogdanとAdityaからの詳細をお勧めします。:

ファイアウォールには、次のルールがあります。:

ソース 宛先 アプリケーション アクション
Any IP Address IP_LB https Intrusion Prevention
Any IP Address IP_LB http Intrusion Prevention
net_192_168_110_0 Any IP Address Any Protocol Allow

HTTPSトラフィックを検査するために、ファイアウォールは復号化プロファイルを利用してトラフィックを復号化します。このブログでは、この機能を使用していないため、侵入防止はHTTPで行います。

HTTPで攻撃を作成すると、ファイアウォールによってその攻撃が検出され、アクションが実行されます。

次に、侵入防止がトリガーされたときのNetwork Firewallからのサンプル・ログを示します。

要約すると、Network Firewallは、OCIネイティブのセキュリティ・リストおよびNetwork Firewallグループの機能強化として、ネットワーク・レベルでより専門化されています。侵入防止メカニズムは構成できないため、ユーザーはアクティブな署名を選択できません。

Web Application Firewall

このサービスはApplication Load Balancerにアタッチされ、レイヤー 4の機能がありますが、レイヤー 7 HTTP検査に最適です。サービスはHTTPトラフィックを検査し、構成されたアクションを実行します。この投稿では、特定のソースIPアドレスと特定のHTTPホスト・ヘッダーおよび保護ルールを許可するために、アクセス・コントロール・ポリシーを使用している複数のレイヤーを構成できます。
テストWAFに適用したポリシーのアクセス・コントロールを次に示します。

条件 アクション
i_equals(http.request.host, ‘web.ateam-oracle.tk’) && address_in(connection.source.address, [‘188.X.X.X/32’]) Allow

これらのアクセス制御は、レイヤー 4とレイヤー 7の組合せであり、JMESPath言語を使用します。この例では、レイヤー 4 の詳細はいくつかのレイヤー caner 7 の詳細はHTTPホスト・ヘッダーです。条件の詳細はこちらをご覧ください。

保護機能は、CVE番号またはOWASP、PCIなどによって発行された方法論によって、「SQLインジェクション」などの1つのセキュリティ脅威にグループ化できる署名のコレクションを使用しています。

WAFはLBにアタッチされているため、HTTPおよびHTTPSトラフィックを表示でき、ルールがトリガーされるとすぐにアクションを実行できます。

下には、URLにSQLインジェクション攻撃があるWebサーバーへのHTTPSに対するリクエストが表示されます(”id=1%27%20or%201=1″ translates to “id=1′ or’1=1″)。

538e50a761d57796f0f1d310ce50169a.png

WAFがトリガーされ、構成されたレスポンスHTTP 403で応答しました。このリクエストのログの一部を次に示します。

"datetime": 1671219822903,
  "logContent": {
    "data": {
      "clientAddr": "188.X.X.X",
      "countryCode": "ro",
      "host": "web.ateam-oracle.tk",
      "listenerPort": "443",
      "request": {
        "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",
        "httpVersion": "HTTP/1.1",
        "method": "GET",
        "path": "/?id=1%27%20or%201=1",
      },
      "requestAccessControl": {
        "matchedRules": "allow-host"
      },
      "requestProtection": {
        "matchedData": "Matched Data: s&1 found within ARGS:id: 1' or 1=1;Matched Data: ' or 1= found within ARGS:id: 1' or 1=1",
        "matchedIds": "9421000_v002;942432_v001",
        "matchedRules": "protection"
      },
      "response": {
        "code": "403",
        "contentType": "application/json",
        "size": "145"
      },
      "responseProtection": {},
      "responseProvider": "requestProtection/protection",
      "timestamp": "2022-12-16T19:43:41Z"
    }    
  }
"datetime": 1671219822903,
  "logContent": {
    "data": {
      "clientAddr": "188.X.X.X",
      "countryCode": "ro",
      "host": "web.ateam-oracle.tk",
      "listenerPort": "443",
      "request": {
        "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",
        "httpVersion": "HTTP/1.1",
        "method": "GET",
        "path": "/?id=1%27%20or%201=1",
      },
      "requestAccessControl": {
        "matchedRules": "allow-host"
      },
      "requestProtection": {
        "matchedData": "Matched Data: s&1 found within ARGS:id: 1' or 1=1;Matched Data: ' or 1= found within ARGS:id: 1' or 1=1",
        "matchedIds": "9421000_v002;942432_v001",
        "matchedRules": "protection"
      },
      "response": {
        "code": "403",
        "contentType": "application/json",
        "size": "145"
      },
      "responseProtection": {},
      "responseProvider": "requestProtection/protection",
      "timestamp": "2022-12-16T19:43:41Z"
    }    
  }

このサービスは、HTTPワークロードに特化しており、レイヤー 7の保護に向けてさらにターゲットを絞っています。

まとめ

現在の世界では、企業はワークロードをデータ・センターから移動させています。データ・センターでは、すべてのレイヤーをコントロールしているデータ・センターを物理からアプリケーションへと移動し、多くの脅威が発生するマルチテナント環境でホストされています。
サイバーセキュリティは、このコンテキストではより関連性が高く、クラウドにおける「多層防御」戦略の一部は、OCIにおけるネットワーク・セキュリティであり、他のメカニズムにはNetwork FirewallとWeb Application Firewallを含める必要があります。