Web アプリケーション ファイアウォール

Web アプリケーション ファイアウォール (WAF) は、OSI (オープン システム相互接続) スタックの第 7 層で動作するリバース プロキシー テクノロジーの一種です。 通常、悪意のあるトラフィックやユーザーから Web アプリケーションと Web サービスを保護するために実装されます。 WAF は一般的にハードウェア コンポーネントまたはソフトウェア コンポーネントとして、またはクラウドネイティブのマネージド サービスとしてデプロイされ、主にリバース プロキシーとして動作します。また、時にはバックエンド システムとの 1 対 1 の構成で動作し、複数のバックエンド システムと複数のフロントエンド IP またはホスト名をサポートすることもあります。

注意:

このトピックは、通常、ArcGIS Enterprise デプロイメントにのみ関連します。 ArcGIS Online には、この記事で説明したものと同様のセキュリティ機能が備わっていますが、お客様がデプロイした WAF を ArcGIS Online のリソースまたはコンテンツにアクセスするためのフロントエンド URL として使用しないでください。サポートされていないパターンなので、予期しない動作を引き起こす可能性があります。

WAF は、バックエンド アプリケーションを保護するように設計されているため、通常のリバース プロキシーとは異なります。 単にリクエストを透過的に渡すのではなく、通常、リクエストの URL、ヘッダー、ソースの場所、本文など、悪意のある (またはその可能性がある) コンテンツがないか、リクエストを検査するロジックがあります。 ほとんどの WAF は、SQL 注入の試み、SSRF (サーバーサイド リクエスト フォージェリー)、その他の挙動など、一般的な悪意のある試みを特定するために、メーカーやコミュニティーで定義された共通のルールセットを実装しています。 WAF は、特定の期間内のリクエスト数を制限したり、DoS (サービス拒否) 攻撃から保護したり、特定の地理的領域やソースからの IP をブロックするためのアクセスをフィルターするための計測を実装することもできます。 これらの各ルールは個別にオンまたはオフにできます。また、WAF では数百または数千ものルールを、保護されたアプリケーションに適用することもできます。

ほとんどの WAF では、次のような 2 つのモードを構成できます。

  • 検出モード – 検出モードでは、通常、トラフィックは WAF を透過的に通過できますが、ルール検出をトリガーするすべてのリクエストがログに記録されます。そのため、管理者はこのリストを参照し、有効なトラフィックと思われるものを特定し、有効なリクエストがブロックされないようにルールを無効化または調整できます。
  • 保護モード – 保護モードは、これらのルールをトリガーするすべてのリクエストを積極的にブロックします (HTTP エラーまたはタイムアウトを返します)。

インバウンド トラフィックの監視

インバウンド トラフィックの監視とは、内部ソースまたはパブリック ソースからシステムへの受信リクエストを検査またはフィルターすることを指します。 インバウンド トラフィックの監視は、WAF 以外の他の方法やアプローチを指すこともありますが、これらの概念はしばしば密接に関連しています。

WAF を使用した ArcGIS システムへのアクセス

ArcGIS ソフトウェアは、GET、POST、OPTIONS リクエストから、大規模なコンテンツ本文、一意のヘッダー、トークンベースの認証のさまざまな方法まで、幅広い HTTP リクエスト タイプと応答に依存しています。 過度に保守的な WAF は、ArcGIS Enterprise デプロイメントのクライアント アプリケーションに問題を引き起こす可能性があります。

ArcGIS デプロイメントで WAF を実装または使用する場合は、次のガイダンスの一部を考慮してください。

  • 実際のユーザー トラフィックでの検出モードから開始する。これは、有効な (実際の有用なユーザー アクティビティーを表す) リクエストを特定するのに役立ちますが、保護モードに設定されている WAF によってブロックされます。
  • 既存の Esri ガイダンスを確認する。Esri では、Azure WAF 製品に対して推奨される一連のルール設定を用意しています。これを使用して、他の WAF 製品で問題となりうる他のルールを特定できます。
  • とにかくテストする。保護モードを有効にする場合は、データの公開から操作、ダウンロードまで包括的なワークフロー セットをテストして、誤って構成されている可能性のあるルールを特定します。 たとえば、実行時間の長い同期ジオプロセシング リクエストをテストして、システムのデフォルト タイムアウトが短すぎないことを確認します。
  • 1 対 1 のテストによるトラブルシューティング。リクエストがブロックされたり、WAF を通じてエラーが返される場合は、まず HTTP クライアントを使用してバックエンド URL (WAF の背後にある) に対してリクエストをテストし、システムの問題ではないことを確認してから、必要に応じて要求を許可するように WAF 構成を調整する方法を検討します。

Esri では、Azure WAF サービスに基づいて、WAF ルールの互換性の詳細な例を提供し、ArcGIS デプロイメントで問題を引き起こす可能性があるため無効にする必要があるルールまたは構成を特定します。 このドキュメントは、ArcGIS Trust Center: ArcGIS Enterprise Web Application Filter Rules (ArcGIS ログインが必要) で入手できます。

この例には、特定の WAF プロバイダーの特定のルールが含まれていますが、将来的には組織特有の WAF ルール セットを構成するためのより簡単な方法を提供する可能性もあります。 また、特定のアプリケーション機能が WAF によってブロックされることがあります。そのアプリケーションやサービスがシステムで使用される予定がない場合、トラフィックがブロックされても問題ではないと見なされる可能性があります。 さらに WAF のテストまたは検証が完了すると、このページでより多くのリソースが参照されます。現時点では、Azure WAF ルールセットのみ詳細の例を提供できますが、これが他の WAF 製品やサービスの適切な構成を示す場合もあります。

Top