開発のスピードを低下させないセキュリティ: WAF Simulator が DevSecOps ワークフローを変革する理由

Daniel Corbett

プリンシパルプロダクトマネージャー

Liam Mayron

プリンシパルプロダクトマネージャー

Simran Khalsa

Staff Security Researcher

CyberRisk Alliance が主催した最近のウェビナーでは、Fastly のセキュリティ専門家3名が一堂に会し、現代のソフトウェア開発における最大の課題の一つである、DevOps のスピードとセキュリティの厳格さのバランスについて考察しました。Defenders Initiative の Adrian Sanabria がモデレーターを務めたこのディスカッションでは、Fastly のプリンシパルプロダクトマネージャー Liam Mayron、プリンシパルプロダクトテクノロジーマネージャー Daniel Corbett、スタッフセキュリティリサーチャー Simran Khalsa によるインサイトが発表されました。以下はディスカッションの要約です。ウェビナー全編をご覧ください。

DevOps チームが直面する多くの課題の中でも特に大きなものは、包括的かつ効果的なセキュリティテストを統合し、全体の進行を遅らせることなく実施することです。リリースサイクルの後半に追加されるセキュリティテストは、しばしばボトルネックを引き起こし、チーム間の摩擦を生み出し、その結果、セキュリティの失敗が見過ごされ、ついには手遅れになる可能性があります。

Fastly の WAF Simulator は、その状況を変えるために構築されました。このツールは、開発フローを中断することなく、統合された継続的かつ自動化されたセキュリティテストを可能にすることで、DevOps チームとセキュリティチームが WAF (Web アプリケーション ファイアウォール) ルールを検証する方法を再構築します。

セキュリティは依然としてボトルネック

多くの人にとって、セキュリティテストは、ほとんどが後回しにされるものとなっています。これにより、開発サイクルが中断され、プロダクトのリリースが遅くなり、開発チームとセキュリティチームの関係に緊張が生じることが避けられなくなります。セキュリティの義務化が遅れたり、何かが壊れたり、単にプロダクトの目標と一致しなかったりするというのは、よくある話です。さらに悪いことに、セキュリティコントロールが追加されても、必ずしも検証されないため、実際には何も保護しないルールが生まれてしまいます。

さらに悪いことに、DevOps チームは適切なツールがないままセキュリティの責任を負わされることがよくあります。「どちらのケースも見たことがあります」と、Liam は説明しました。「開発者が積極的にセキュリティを推進することもあれば、サポートなしでセキュリティが押し付けられることもあります。」

WAFシミュレーターの原点

Liam、Daniel、Simran と同様に、この問題を直接体験した人もいます。開発者は、自らの WAF ルールが実際に機能しているかどうか確信が持てず、長い間、セキュリティチームには次のペネトレーションテスト (あるいは、現実の攻撃という最悪の出来事) を待つ以外に WAF ルールを検証する簡単な方法がありませんでした。

社内のニーズと顧客からのフィードバックから、明らかなギャップが浮かび上がりました。チームは、コードをテストするのと同様にセキュリティルールをテストする方法を必要としていました。これを調査しているときに、Fastly がインタビューした DevOps チームからパターンが浮かび上がり、本番前検証、ルールレベルの可視性、統合ユニットテスト、デフォルトとカスタムの両方の WAF ルールのサポートが必要であることが明らかになりました。

こうして、Fastly WAF Simulator が誕生しました!

Fastly WAF Simulator を使用すると、ユーザーはサンプルのリクエストとレスポンスを入力し、Web アプリケーションファイアウォールがどのように応答するかをリアルタイムで確認できます。API ファーストで、探索的ワークフローの UI ベースのテストをサポートし、CI/CD パイプラインにシームレスに統合されます。

主な機能は次のとおりです。

  • 期待されるルールの行動をテストするための、リクエストやレスポンスのシミュレーション

  • ボット分析、ビジネスロジックの適用、ブロックステータスコードを含むルールベースのシグナルの可視性

  • 共通脆弱性識別子 (CVE) タグ付けや複雑なロジックを用いたカスタムルールの検証

  • チームの変更を超えて保持されるバージョン管理されたテストケース

そして、おそらく最も重要なのは、シミュレーターを使用することで、curl の専門家にならなくてもセキュリティテストを簡単に行えることです。

実際の使用: トラブルが発生する前にテスト

Simran は、セキュリティ調査チームがシミュレーターを使用して新たな脆弱性のカバレッジを検証する方法を説明しました。「もし共通脆弱性識別子を取得したら即座に知りたいです。私たちの WAF はこれを検出できるでしょうか?できない場合は、エスカレーションを行い、ルールを作成して迅速にテストする必要があります。」

最も重要なメリットは、設定ミスを防げることです。デモ中、一見無害な除外ルールによってクロスサイトスクリプティング(XSS)の検知が完全に破壊され、検知と関連するCVEタグ付けの両方が排除されました。GitHub Actions で自動テストを実行し、Slack アラートを有効にしていれば、問題はすぐに検出されていたはずです。

Daniel はこれを次のように説明しました。「私たちは破損を防ぐだけでなく、変更から解決までの時間を短縮しています。1,000 以上のサイトを管理する場合、これは非常に大きなことです。」

「コードを用いた検出」という考え方を可能にする

Fastly の WAF Simulator は、「コードを用いた検出」という考え方を完全に採用しており、バージョン管理、コードレビュー、自動テストなどのソフトウェアエンジニアリングの原則をセキュリティ検知ルールの作成と管理に適用しています。

「コードを用いた検出」は、その場限りの設定や手動で更新された構成に頼るのではなく、検知ロジックを構造化された、バージョン管理された、共同作業可能な資産として扱います。このアプローチにより信頼性が向上し、迅速な反復が可能になり、チームは環境間で一貫性を維持しながら脅威検知のスケーラビリティを向上させることができます。開発ライフサイクルに検知を組み込むことで、セキュリティチームは DevOps のプラクティスにより効果的に連携し、進化する脅威に迅速に対応することができます。ルールは、アプリケーションロジックと同様に文書化され、バージョン管理され、テストされます。

WAF Simulator は以下をサポートしています。

  • Terraform を使用した設定管理

  • YAML で定義されたユニットテスト

  • CI/CD テストの失敗に対する Slack および GitHub Action のアラート

  • ルール変更時に自動検証をトリガーする Webhook サポート

セキュリティチームは、このようなアプローチによって窮地から脱出できる状況に常に直面しています。それは、メンバーが異動のためチームを去るという単純なことかもしれません「コードを用いた検出」により、セキュリティは開発ワークフローの自然な延長線上にあるように感じられ、避けるべき障害にはなりません。

セキュリティが DevOps チームに組み込まれている場合でも、専用のセキュリティ組織が所有している場合でも、WAF Simulator は両方を推進します。開発者がアプリ固有のセキュリティロジックを管理し、中央チームがグローバルポリシーを監督する責任共有モデルをサポートします。

Simran は次のように要約しています。「セキュリティは開発者としての役割の一部になります。アプリのことを一番よく知っているのはあなたです。これにより、盲目的に行動することなく、安全に管理するためのツールを手に入れることができます。」

開発のスピードで進むセキュリティ

セキュリティコントロールは、機能している場合にのみ効果的です。多くの組織は、セキュリティ侵害、ペンテスト、または不満を抱いたユーザーがそれを発見するまで、機能しているかどうかを把握していません。

DevSecOps ワークフローにスピード、可視性、信頼性をもたらすことで、WAF Simulator は状況を一変させます。これにより、ルールが意図したとおりに機能し、チームが同期し、セキュリティが開発とともに進化し、開発の後れを取らないことが保証されます。

実際に使ってみませんか?GitHub で Fastly の WAF Simulator 自動化プロジェクトを検索して、速度を低下させることなくスマートで安全なワークフローの構築を始めましょう。