アプリケーションは、現代の組織におけるデジタル戦略の中心です。 F5 Labs の調査によると、企業組織は平均 983 個のアプリケーションを管理しており、多くの場合、複数のクラウドとデータ センターにまたがっています。 現代のアプリケーションは一般的に分散アーキテクチャで設計され、コンポーネント レベルに至るまでアジャイル開発手法を使用して構築されます。 この継続的インテグレーションと継続的デリバリー (CI/CD) のフレームワークにより、DevOps はソフトウェア ライフサイクルをスピードと効率の両方で管理できます。 市場投入までの時間を主要な KPI (主要業績評価指標) として、DevOps では最新のワークフローと自動化を採用しています。 しかし、セキュリティは CI/CD セキュリティ ワークフローから除外されることがよくあります。
DevOps ワークフローにアプリケーション セキュリティ コントロールが存在しないということは、アプリケーション コードと一緒にテストされないことを意味します。 その結果、開発サイクルの終盤で運用テストが実行されるまで、アプリケーション セキュリティの欠陥が発見されない可能性があり、欠陥の解決にはさらに多くのコストがかかります。 影響としては、市場投入までの時間の大幅な遅延、修復コストの増加、セキュリティ管理の不十分さなどが挙げられます。
CI/CD プロセスの早い段階でセキュリティ テストを導入することが、アプリケーション チームとセキュリティ チーム間のギャップを解決するための最も効率的なソリューションです。 課題は、これを大規模かつ効率的に実行することであり、そのためには、アプリケーション開発フェーズの一部として運用セキュリティ テストを重視する文化的および技術的な変化の両方が必要です。
F5 Advanced Web Application Firewall を使用すると、開発パイプラインの早い段階で運用アプリケーション セキュリティ テストを統合できます。 これにより、パイプラインの早い段階で機能仕様とセキュリティ ポリシーの両方を包括的にテストできるようになります。 DevOps チームは、アプリケーションの開発中に、セキュリティ ポリシーまたはアプリケーション自体のセキュリティ上の欠陥を発見できるようになりました。 チームがエラーを発見した場合、より効率的に、そして大幅にコストを削減して修復を実行できます。
宣言型 API を使用すると、アプリケーション セキュリティを開発パイプラインに統合することが容易になります。 これらの API コマンドは、Advanced WAF を展開および構成するための自動開発パイプラインの一部として使用できます。 自動化は、GitLab、Jenkins、Bitbucket など、DevOps チームがすでに使用しているツールを通じて実行できます。
WAF セキュリティ ポリシーは、同じ自動化プロセスを使用して既存の WAF インスタンスに適用することもできます。 セキュリティ ポリシーは、単純な JavaScript Object Notation (JSON) ファイルとして定義できます。 ファイルには、通常は GitHub などのリポジトリにある WAF ポリシーの名前と場所へのポインターを含めることができます。
このフレームワークを使用すると、SecOps チームは開発チームが簡単に使用できるセキュリティ ポリシーを作成、公開、および維持できます。 ポリシーはアプリケーションによって異なる場合があります。 たとえば、SecOps チームは、Web アプリケーションに対する最も重要なセキュリティ リスクを定義する OWASP Top 10 から保護するアプリケーションのベースライン ポリシーを持つことができます。 追加の制御を必要とするアプリケーション(機密データを処理したり金融取引を実行したりするアプリケーションなど)に対して、他のポリシーを公開することもできます。 開発チームは、他のアプリケーション コードを使用するのと同じように、これらのポリシーを使用します。
図1: 組織は宣言型 API を使用して、アプリケーション セキュリティを自動化された開発パイプラインに統合し、Advanced WAF を展開および構成できます。
セキュリティ「コード」への変更は、CI/CD パイプライン自動化ツールセットによって自動的に統合、適用、テスト、および構築されます。 このアプローチにより、セキュリティ制御が CI/CD パイプラインのさらに左 (前) にシフトされ、プロセス全体でセキュリティを共有責任にすることができます。 これにより、アプリケーションの他の部分と同様に、開発、テスト、品質保証、運用といった開発ライフサイクルのすべての段階で一貫したセキュリティ実装が保証されます。
部門横断的な DevSecOps チームは、追加の ChatOps (Slack など) 統合機能を使用して効率を高め、常に同じページにいることを保証できます。 ただし、ChatOps はメッセージングやアラートだけにとどまりません。 パイプライン ツールと統合すると、ChatOps はリアルタイムの DevOps の進行状況を提供し、Advanced WAF ポリシーの更新などのパイプライン アクションを開始することもできます。
高度な WAF の詳細については、以下をご覧ください。