※ 本記事は、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に転送されます。

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

NFWSに関する最初の記事については、公式のリファレンス・アーキテクチャから始め、続けて、同僚のBogdanとAdityaからの詳細をお勧めします。:
- OCI Network Firewall – Concepts and Deployment
- OCI Network Firewall – NAT Gateway use case
- OCI Network Firewall – Hub and Spoke traffic inspection
- OCI Network Firewall – Securing the LBaaS traffic
- URL Filtering using OCI Network Firewall
ファイアウォールには、次のルールがあります。:
| ソース | 宛先 | アプリケーション | アクション |
|---|---|---|---|
| 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″)。

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を含める必要があります。
