FortiWeb とは|提供形態と機械学習による防御の仕組み

  • URLをコピーしました!
目次

はじめに

Fortinet 製品で構成した環境に Web アプリケーションファイアウォールを追加する際、選択肢のひとつになるのが FortiWeb です。FortiGate(NGFW)にも WAF の機能はありますが、専用 WAF である FortiWeb とは守備範囲が異なります。導入を検討するうえでは、FortiWeb の提供形態と機能、そして FortiGate の WAF との使い分けを押さえておくと判断しやすくなります。

この記事でわかること
  • FortiWeb の提供形態(アプライアンス・VM・クラウド)
  • 機械学習ベースの防御や API 保護などの主要機能
  • FortiGate の WAF 機能や AWS WAF との違いと使い分け

FortiWeb は、Fortinet が提供する専用の WAF です。機械学習でアプリケーションの挙動をモデル化し、シグネチャと組み合わせて Web アプリケーションと API を保護します。提供形態はハードウェアアプライアンス、仮想アプライアンス(FortiWeb-VM)、クラウド(FortiAppSec Cloud)の 3 つです。FortiGate(NGFW)にも簡易的な WAF 機能はありますが、FortiWeb はより高度な専用 WAF として位置づけられます。WAF 全般の仕組みは、別記事『WAF とは|仕組みと種類、選定のポイント』で扱います。

FortiWeb とは

FortiWeb は、Web アプリケーションと API を、既知および未知の脆弱性を狙う攻撃から保護する WAF です。SQL インジェクションや XSS をはじめとする OWASP Top 10 の脅威に対し、シグネチャと機械学習を組み合わせた多層的なアプローチで対応します。

参考: Fortinet – FortiWeb Web Application Firewall
“Using machine learning (ML) algorithms, it protects applications and APIs”
(機械学習(ML)アルゴリズムを用いて、アプリケーションと API を保護します)
https://www.fortinet.com/products/web-application-firewall/fortiweb

シグネチャは FortiGuard Labs の Web Application Security Service から提供され、脆弱性の悪用、bot、マルウェアのアップロード、DoS 攻撃、ゼロデイ攻撃などに対応します。FortiGate や FortiSandbox、サードパーティの脆弱性スキャナとも連携し、検出した脆弱性を一時的な防御ルールに変換する仮想パッチングにも対応します。

FortiGate は主にネットワーク境界を守る NGFW で、FortiWeb は Web アプリケーション層に特化した専用 WAF です。両者の WAF 機能の違いと使い分けは、後半の章で詳しく扱います。

FortiWeb の提供形態

FortiWeb は、配置と運用の方法に応じて 3 つの形態で提供されます。同じ保護機能を、環境や調達方法にあわせて選べます。

ハードウェアアプライアンス

専用のハードウェアアプライアンスです。データセンターでの高いスループットが求められる場合に向き、HTTP・HTTPS のスループットに応じてモデルを選びます。買い切り(CAPEX)型の調達に適します。

FortiWeb-VM

仮想アプライアンスです。VMware などの主要なハイパーバイザーに加え、AWS・Azure・Google Cloud・Oracle Cloud のパブリッククラウドに対応します。サブスクリプション型の FortiWeb-VM S シリーズもあり、クラウドやオンプレミスで柔軟にスケールさせたい場合に向きます。

FortiAppSec Cloud(旧 FortiWeb Cloud)

クラウドで提供される WaaS(WAF-as-a-Service)です。従来「FortiWeb Cloud」として提供されていたサービスは、現在は FortiAppSec Cloud に統合・改称されています。Standard・Advanced・Enterprise のプランがあり、帯域と保護する Web アプリケーション数に応じて課金されます。構築や運用の負荷を抑えたい場合に向きます。

提供形態概要主な用途
ハードウェアアプライアンス専用機器(買い切り型)データセンターでの高スループット
FortiWeb-VM仮想アプライアンス(各クラウド・ハイパーバイザー対応)柔軟なスケール、クラウド / オンプレミス
FortiAppSec Cloud(旧 FortiWeb Cloud)WaaS(マネージド)構築・運用の負荷を抑えたい場合

FortiWeb の主要機能

FortiWeb は、シグネチャと機械学習を組み合わせ、複数の手法でリクエストを検査します。主要な機能を整理します。

機械学習による検知

FortiWeb は、アプリケーションの正常な挙動を機械学習で継続的にモデル化します。特徴的なのは、検出した異常を一律に脅威とみなさず、分類して扱う点です。

参考: Fortinet – FortiWeb Data Sheet
“machine learning evaluates application requests to determine if they are normal, benign anomalies, or anomalies”
(機械学習がアプリケーションのリクエストを評価し、正常か、無害な異常か、(悪意ある)異常かを判定します)
https://www.fortinet.com/content/dam/fortinet/assets/data-sheets/FortiWeb.pdf

異常を「正常」「無害な異常」「悪意ある異常」に分類することで、誤検知の抑制を狙う点が、シグネチャだけの検知との違いです。誤検知が多いと、運用者がルールを緩めてしまい WAF が監視ツール化しやすいため、この分類は運用負荷の軽減につながります。

シグネチャと FortiGuard 連携

既知の攻撃に対しては、FortiGuard Labs の Web Application Security Service が提供するシグネチャで対応します。脆弱性の悪用、bot、マルウェアのアップロード、DoS 攻撃などを対象とし、シグネチャは継続的に更新されます。

bot 対策(bot mitigation)

機械学習と挙動分析に加え、bot deception(おとり)やバイオメトリクスによる判別を組み合わせ、人間の利用者・正規の bot(検索エンジンなど)・悪意ある bot を見分けます。不要な CAPTCHA やチャレンジを減らし、利用者の体験を損なわずに bot を制御することを狙います。

API の自動検出と保護

機械学習でトラフィックを評価し、API を自動的に検出します。OpenAPI・XML・JSON のスキーマから、許可する通信のみを通すポジティブセキュリティモデルのポリシーを自動生成し、API への攻撃に対応します。CI/CD パイプラインへの組み込みにも対応します。

クライアントサイド保護

ブラウザ環境で発生する脅威に対応する、ポリシーベースの機能です。サードパーティスクリプトの注入、DOM の操作、フォームハイジャックなどを検出・緩和します。リクエスト・レスポンスの検査だけでは捉えにくい、コンテンツ配信後の攻撃に対応するもので、決済ページのスクリプト監視を求める PCI DSS の要件への対応にもつながります。

脅威分析(Threat Analytics)

複数のアプリケーションにまたがる攻撃のパターンを集約し、セキュリティインシデントとして可視化する機能です。FortiWeb と FortiAppSec Cloud で保護するアプリケーションを横断して、SOC のアナリストが優先度の高い脅威に集中できるようにします(Advanced Bundle で提供)

FortiGate の WAF 機能との違いと使い分け

FortiGate にも WAF プロファイル(waf-profile)という機能があり、Web アプリケーションへの基本的な保護を提供できます。ただし、専用 WAF である FortiWeb とは守備範囲が異なります。「どちらを使うべきか」は、保護したいアプリケーションの重要度と必要な機能で判断します。

FortiGate の WAF プロファイルでできること

FortiGate の WAF プロファイルは、シグネチャと HTTP プロトコル制約を使って Web トラフィックを検査します。

参考: FortiGate / FortiOS 管理ガイド – Web application firewall
“WAF profiles can detect and block known web application attacks”
(WAF プロファイルは、既知の Web アプリケーション攻撃を検出・ブロックできます)
https://docs.fortinet.com/document/fortigate/7.0.1/administration-guide/64335/web-application-firewall

具体的には、既知の攻撃を検出するシグネチャ(signature)、HTTP ヘッダー長やコンテンツ長などを制限するプロトコル制約(constraint)、許可する HTTP メソッドを制御するポリシー(method)、カスタムシグネチャなどを設定できます。なお、WAF プロファイルはプロキシベースの検査モードで適用されます。

ポイントは、FortiGate の WAF が対応するのは主に「既知の」攻撃である点です。シグネチャと制約による検査が中心で、機械学習によるアプリケーションのモデル化や API の自動検出といった、FortiWeb の高度な機能は備えていません。

FortiWeb との機能差

両者の主な機能を対比すると次のようになります。

機能FortiGate の WAF プロファイルFortiWeb
既知の攻撃のシグネチャ検出対応対応
HTTP プロトコル制約(長さ制限など)対応対応
HTTP メソッド制御・カスタムシグネチャ対応対応
機械学習によるアプリのモデル化なし対応
API の自動検出と保護なし対応
高度な bot 対策(deception・biometric)限定的対応
クライアントサイド保護なし対応
脅威分析・仮想パッチングなし対応

どちらを選ぶか(使い分け)

コストを抑えたいとき、FortiGate の WAF は有力な選択肢になります。ただし「安いから精度が一律に下がる」と捉えるのは正確ではありません。FortiGate の WAF はシグネチャと制約による既知の攻撃への対応が主軸で、FortiWeb のような機械学習による未知の攻撃の検知や誤検知の抑制、API 保護、クライアントサイド保護といった機能が使えない、という違いです。つまり、精度というより対応できる範囲と検知手法が限られる、という整理になります。

判断の目安は次のとおりです。

FortiGate の WAF で足りるケース:

  • Web アプリケーションが少数でシンプル
  • 既知の攻撃への基本的な保護が主目的
  • 既に FortiGate を運用しており、機器を増やさず保護を加えたい
  • コストと運用をシンプルに保ちたい

FortiWeb が適するケース:

  • 業務クリティカルで複雑な Web アプリケーションや API
  • 機械学習による未知の攻撃の検知や、誤検知の抑制が必要
  • API 保護、高度な bot 対策、クライアントサイド保護が必要
  • 決済ページのスクリプト監視など、関連するコンプライアンス要件がある

多層防御としての組み合わせ

両者は二者択一ではなく、組み合わせる構成も有効です。FortiGate を境界の NGFW として配置し、その内側で FortiWeb が Web アプリケーション層を守る、という役割分担です。FortiWeb は Security Fabric を通じて FortiGate や FortiSandbox と連携できるため、Fortinet 製品で統一した環境では運用面の利点もあります(FortiGate の設定の詳細は、関連記事『FortiGate UTM 機能の仕組みと IPS 誤検知のリスクと対処』を参照してください)

AWS WAF との違い

同じ WAF でも、AWS WAF と FortiWeb では提供のされ方と検出の考え方が異なります。AWS WAF はクラウドネイティブなマネージドサービスで、CloudFront や ALB などの AWS リソースに関連付けて使います。一方 FortiWeb は、アプライアンス・VM・クラウドから配置形態を選べ、マルチクラウドやオンプレミスをまたいで利用できます。

検出の面では、AWS WAF はマネージドルールやレートベースルールなど、ルールの組み合わせによる制御が中心です。FortiWeb は機械学習によるアプリケーションのモデル化を前面に出している点が特徴です。AWS 環境に閉じてクラウドネイティブに運用するなら AWS WAF、配置形態の柔軟性や機械学習ベースの検知を重視するなら FortiWeb、といった選び方になります。AWS WAF の構成や料金の詳細は、関連記事『AWS WAF の構成と設計の基礎|保護対象・ルール・料金の全体像』で扱っています。

まとめ

本記事では、FortiWeb の提供形態・主要機能と、FortiGate の WAF 機能や AWS WAF との使い分けを整理しました。FortiWeb は機械学習を前面に出した Fortinet の専用 WAF で、アプライアンス・VM・クラウドの 3 形態で提供されます。FortiGate の WAF プロファイルは既知の攻撃への基本的な保護を担い、複雑なアプリケーションや高度な機能が必要な場面では FortiWeb が適します。

  • FortiWeb は機械学習を用いる Fortinet の専用 WAF
  • 提供形態はアプライアンス・FortiWeb-VM・FortiAppSec Cloud
  • クラウド版は FortiWeb Cloud から FortiAppSec Cloud へ改称
  • 異常を分類する機械学習で誤検知の抑制を狙う
  • FortiGate の WAF は既知の攻撃への基本的な保護が主軸
  • 複雑なアプリや API・高度な検知には FortiWeb が適する
  • 境界の FortiGate とアプリ層の FortiWeb で多層防御も可能

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

関西を拠点に活動する、現役インフラエンジニア。経験20年超。

大手通信キャリアにて、中〜大規模インフラ(ネットワーク・サーバ・クラウド・セキュリティ)の設計・構築およびプロジェクトマネジメントに従事。現場で直面した技術課題への対処や、最新の脆弱性情報への実務対応を、一次情報として発信しています。

保有資格
CCIE Lifetime Emeritus(取得から20年以上)/ VCAP-DCA / Azure Solutions Architect Expert

▶ 運営者プロフィール(詳細)

目次