NGINXとF5 Distributed Cloud WAAPによるマルチクラウドAPIセキュリティ

NGINX | 2023年8月01日

もはや問われているのは、クラウドを利用しているかどうかではなく、いくつのクラウドを利用しているかです。現在、ほとんどの企業は、あらゆるニーズに対応できる単一のクラウドソリューションは存在しないと認識し、ハイブリッドクラウドまたはマルチクラウドアーキテクチャへと移行しています。F5の「2023年版アプリケーション戦略の現状」レポートのデータによると、企業の85%が、2種類以上の異なるアーキテクチャでアプリケーションを運用しています。

開発チームとAPIチームには、これが大きな負担となります。複雑な分散環境で、APIを大規模かつセキュアに提供することが求められるためです。接続はもはやクライアントとバックエンドサービスの間だけではなく、異なるクラウド、リージョン、データセンター、エッジロケーションにデプロイされたアプリケーション間にも及びます。同時に、すべてのAPIは、デプロイ先や提供およびセキュリティ確保に使用するツールにかかわらず、組織のセキュリティ要件とコンプライアンス要件を満たす必要があります。

このような高度に分散した環境でAPIを保護するには、特有の機能とベストプラクティスが必要です。以前、私はAPIセキュリティに対する2つの側面からのアプローチの重要性について取り上げました。これは、開発の初期段階からセキュリティを組み込む「シフトレフト」と、グローバルなポスチャ管理の一連のプラクティスによる「シールドライト」を組み合わせるアプローチです。このブログ記事では、クラウド、オンプレミス、エッジの各環境でAPIを安全に提供しながら、この戦略を実践する方法をご紹介します。

ハイブリッドおよびマルチクラウドAPIセキュリティのリファレンスアーキテクチャ

ハイブリッドクラウドおよびマルチクラウドのアーキテクチャには、特に俊敏性、拡張性、レジリエンスの面で明確なメリットが数多くあります。一方で、複雑さがさらに増します。実際、F5の「2023年版アプリケーション戦略の現状」レポートでは、複雑化が今日の組織にとって最も一般的な課題であることが示されています。では、2番目に多い課題は何でしょうか。一貫したセキュリティの適用です。

現在の問題は、一部のWAFなどのセキュリティソリューションには、APIに必要なコンテキストと保護機能が不足していることです。一方、API専用のセキュリティソリューションには、攻撃を阻止するためのポリシーを作成して適用する機能が不足しています。必要なのは、アーキテクチャとテクノロジーを、検出、可観測性、管理、適用までを網羅する相互接続されたスタックとして扱うソリューションです。

実際には、APIトラフィックが重要なインフラストラクチャポイントを通過する際に保護できるよう、APIセキュリティを3つの階層にわたって組み込む必要があります。

  • グローバル層 – ボット攻撃やDoS攻撃に対するエッジでの保護に加え、検出と可視化
  • サイト層 – 個々のクラウド、データセンター、またはエッジ環境内での保護
  • アプリ層 – APIランタイムの近くに導入される、きめ細かなアクセス制御と脅威対策

以下のリファレンスアーキテクチャでは、F5 Distributed Cloud ServicesとF5 NGINXが連携し、マルチクラウドおよびハイブリッドアーキテクチャで包括的なAPI保護を提供する仕組みの概要を示します。

F5 Distributed Cloudは、エッジ、クラウド、オンプレミスの各環境にわたるグローバルな保護レイヤーを提供します。

このリファレンスアーキテクチャでは、F5 Distributed Cloudがエッジ、クラウド、オンプレミスの各環境にわたるグローバルな保護レイヤーを提供します。NGINX PlusとNGINX App Protect WAFを組み合わせ、ソフトウェア開発ライフサイクルに統合してランタイムセキュリティを適用することで、サイトレイヤーやアプリケーションレイヤーにきめ細かな保護を提供します。

このアーキテクチャの各コンポーネントが提供するセキュリティ保護について見ていきます。

F5 Distributed CloudによるAPIの検出と監視

まず、パブリッククライアントからのAPIトラフィックは、エッジに導入された「F5 Distributed Cloud Web Application and API Protection (WAAP)」を経由します。特に重要なのは、これにより「DDoS攻撃」、ボットによる不正利用、その他のエクスプロイトからグローバルに保護できることです。また、さまざまなクラウド、オンプレミスデータセンター、エッジ環境に流入するAPIトラフィックをグローバルに可視化できます。

APIトラフィックは急速に増加しており、ほとんどのAPI攻撃は数週間、場合によっては数か月かけて徐々に進行します。大量の通常のAPIリクエストとレスポンスの中から悪意のあるトラフィックを見つけ出すことは、干し草の山から針を探すようなものです。この問題を解決するため、F5 Distributed Cloudは人工知能(AI)と機械学習(ML)を活用し、APIの検出、エンドポイントのマッピング、継続的な学習、さらには新たな脅威の兆候である可能性がある異常の検出など、APIトラフィックに関するインサイトを生成します。

アプリとAPIのセキュリティをグローバルレベルで担うF5 Distributed Cloud WAAPには、次のメリットがあります。

  • APIの自動 検出— APIを検出してマッピングし、サードパーティAPIやシャドーAPI、認証ステータスなどを可視化することで、エコシステムの全体像を把握できます。
  • 機密データ漏えい防止– 社会保障番号、クレジットカード番号、その他の個人を特定できる情報(PII)などの機密データを検出、分類、マスキングし、外部への露出を防ぎます。
  • 監視と異常検知– AIおよびMLツールを使用してトラフィックを継続的に検査・分析し、異常や脆弱性を検知します。
  • APIの可視性を強化 – すべてのAPIエンドポイントにわたるトラフィックフローを監視し、エッジAPI、内部サービス、サードパーティ統合間の接続状況を把握します。
  • 環境全体でのセキュリティの適用– スキーマ検証とレート制限を適用し、望ましくないトラフィックや悪意のあるトラフィックをブロックするポジティブセキュリティモデルを使用します。

F5 Distributed Cloud WAAPの利用を開始するには、F5 Distributed Cloud Servicesの無料エンタープライズトライアルをお申し込みいただけます。このトライアルには、APIセキュリティ、ボット対策、エッジコンピューティング、マルチクラウドネットワーキングが含まれます。

F5 NGINXによるアクセス制御とランタイム保護

APIトラフィックは、グローバル層を通過すると、サイト層やアプリ層に到達します。グローバル層は通常、ITネットワークチームとセキュリティチームが管理しますが、サイト層とアプリ層の個々のAPIは、ソフトウェアエンジニアリングチームが構築・管理します。

アクセス制御には、一般的にAPIゲートウェイが選ばれます。開発者は、一般的なセキュリティ要件の一部を、アプリケーションの上位にある共有インフラストラクチャ層にオフロードできるためです。これにより、開発者やチームごとに独自の認証・認可サービスを構築するなど、作業の重複を減らせます。

F5 NGINX Management Suite API Connectivity Managerを使用すると、プラットフォームエンジニアリングチームとDevOpsチームは、開発者にリクエストチケットの記入などの煩雑な手続きを求めることなく、APIゲートウェイや開発者ポータルなどの共有インフラストラクチャへのアクセスを提供できます。

API Connectivity Managerでは、セキュリティポリシーを設定してNGINX PlusをAPIゲートウェイとして構成できるほか、NGINX App Protect WAFポリシーの構成と監視も行えます。これらを組み合わせることで、以下の機能を含む重要なAPIランタイム保護を実現できます。

  • アクセス制御を適用 – APIエンドポイントへのきめ細かなアクセス(認証と認可)を管理し、IPアドレスまたはJWTクレームに基づいてトラフィックを許可または拒否するアクセス制御リストを作成します。
  • 機密データの暗号化とマスキング – mTLSとエンドツーエンド暗号化によりAPI間の通信を保護し、APIレスポンスに含まれるクレジットカード番号などの機密データを検出してマスキングします。
  • 脅威を検知してブロック – OWASP API Security Top 10への対策にとどまらず、7,500を超える脅威キャンペーンと攻撃シグネチャに対する高度な保護を提供します。
  • WAFとAPIトラフィックを大規模に監視 – NGINX App Protect WAFを使用して、すべてのAPIゲートウェイにわたるAPIトラフィックを可視化し、誤検知や潜在的な脅威を検出します。

You can start a NGINX API Connectivity Stackの30日間無料トライアルを開始すると、NGINX Management Suiteと、そのAPI Connectivity Manager、Instance Manager、Security Monitoringの各モジュールに加え、APIゲートウェイとしてのNGINX Plus、およびWAFとDoS対策のためのNGINX App Protectをご利用いただけます。

まとめ

NGINXは、クラウドおよびオンプレミスのデータセンター環境全体で優れたランタイム保護を提供します。F5 Distributed Cloudと組み合わせることで、セキュリティチームとプラットフォームエンジニアリングチームは、関連するアプリのデプロイ先を問わず、APIエンドポイントを継続的に可視化できます。F5 Distributed CloudとNGINXを併用すれば、ニーズに応じた方法でアーキテクチャを構築し、保護するための柔軟性を最大限に確保できます。

関連リソース


共有

関連するブログ記事

チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する
NGINX | 2024/01/18

チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する

OpenTelemetryを使用してNGINXサーバーの状態と健全性をより明確に把握することで、問題のトラブルシューティングを行い、Webアプリケーションのパフォーマンスを向上できます。

AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正
NGINX | 2023/05/31

AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正

Akita SoftwareのAPIオブザーバビリティ向け新しいNGINX Plus Certified Moduleを活用して、APIエンドポイントの問題をより迅速に特定し、修正できます。

JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法
NGINX | 2023/02/09

JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法

Red HatのシニアプリンシパルデベロッパーアドボケイトであるDaniel Oh氏が、Javaプロジェクトをゼロから構築するためのひな形を作成し、Kubernetesネイティブアプリケーションとしてビルドする方法を解説します。

F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング
NGINX | 2022/05/24

F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング

NGINXaaS for Azureは、NGINX PlusをAzureネイティブのSaaSとして利用できるサービスです。NGINXの設定を容易にリフト&シフトできるため、クラウド導入とモダンアプリの展開を加速できます。

SELinuxでNGINXおよびNGINX Plusを使用する
NGINX | 2018/08/17

SELinuxでNGINXおよびNGINX Plusを使用する

Red Hat Enterprise Linux(RHEL)および関連ディストリビューションでSecurity-Enhanced Linux(SELinux)を有効にすると、デフォルト設定によりNGINXとNGINX Plusの一部の操作が制限されます。この記事では、すべての機能を利用できるようにSELinuxの設定を変更する方法について説明します。

NGINX PlusによるAWS Auto Scalingグループの負荷分散
NGINX | 2017/03/06

NGINX PlusによるAWS Auto Scalingグループの負荷分散

新しいnginx-asg-sync統合ソフトウェアにより、NGINX PlusはAWS Auto Scalingグループの負荷を直接分散できるため、クラウドでの負荷分散がさらに柔軟になります