新規投稿のお知らせを受信されたい方は、サブスクリプションをご登録ください:

新しいCloudflare Webアプリケーションファイアウォール

2021-03-29

6分で読了
この投稿はEnglish繁體中文Indonesiaไทย简体中文でも表示されます。

CloudflareのWebアプリケーションファイアウォール(WAF)は、1日あたり570億を超えるサイバー脅威をブロックしています。これは、毎秒650,000件のHTTPリクエストをブロックしている計算です。このトラフィックをフィルタリングするオリジナルコードは、Cloudflareの現在のCTOによって書かれたもので、WAFは2020年 GartnerのWAFのためのマジッククアドラントの実行能力で最高スコアを獲得するなど、これまで多くの称賛をいただいています。

Cloudflareでは、コードが保持できなくなったり、パフォーマンスが十分でなくなったり、以前ほどスケーラブルでなくなった場合に、そのコードを置き換えることを重要視しており、Cloudflareスタックの重要な部分を定期的に書き直しています。これは、当社が大きく成長するにつれて、かつてのソリューションが機能しなくなるため、必要なことなのです。かなり長い期間、CloudflareではJohnが書いたLunaJITコードを Rustで書かれた新しいコードや改良したUIに書き換えるという作業を行ってきました。

この度、新しいCloudflare Webアプリケーションファイアウォールを発表できることとなりました。

本日から、Cloudflareで新しく作成されたアカウントの10%は、Proプランのゾーン以上を追加すると、新しいWAFにアクセスできるようになります。この割合は、4月中には新規アカウントの100%まで増加する予定です。その後、既存のお客様の移行作業を開始いたします。Enterpriseプランのお客様は、アカウントチームにご連絡いただければ早期移行が可能です。

変更される点

Webアプリケーションファイアウォール(WAF)は、Cloudflareプラットフォームのコアコンポーネントです。ポートフォリオで最も使用されることが多い製品の一つとして、WAFを大規模に実行することで、Cloudflareでは多くのフィードバックと経験を得ており、これらがこの大きなイテレーションにおける指針になりました。新しいWAFがもたらすもの:

  • ルールの閲覧と設定の向上 - 高度なフィルタリング、一括編集、ルールタグなど、強力なツールを失うことなく、ワンクリックで簡単にデプロイできます。WordPressのすべてのルールをオンにし、Cloudflareのマネージドルールをすべてログに設定したり、実行されていないルールを特定することが簡単にできるようになりました。

  • 新しいマッチングエンジン - Rustで書かれており、 wirefilter構文(ファイアウォールルールで使われるのと同じ構文)をサポートします。このエンジンにより、より高速なマネージドルール展開が可能となり、さらに多くのトラフィックにWAFを展開して、次のレベルまで拡張できるようになります。さらに、パフォーマンスとセキュリティの向上も同時に実現します。

  • 更新されたルールセット - 新しいWAFには、ルールステータスをアクションから分離してより優れた制御を提供する、更新されたルールセットが搭載されています。Cloudflare OWASPコアルールセットも、最新バージョンのOWASPコアルールセット (本稿執筆時点でv3.3) に基づいて改良されています。これにより、パラノイアレベルが追加され、現在利用可能なバージョンと比較して誤検知率が改善されています。

  • グローバル設定 - アカウント全体に同じ設定をデプロイします。ルールをルールセットとしてグループ化し、ネイティブのバージョン管理とロールバック機能を活用します。

上記のリストは、当社が楽しみにしていることのほんの一部分にすぎず、それぞれのポイントが記事一つ分に値するものですが、以下に注目点を挙げてみます。

ルールの閲覧と設定の向上

Cloudflare Specials1グループを含むCloudflareマネージドルールセットは、WAFの主要コンポーネントの1つです。これには、Cloudflareによって提供され、保持されている数百のルールが含まれます。デフォルト設定では、あらゆるWebアプリケーションに対して非常に優れたセキュリティベースラインを提供しながら、非常に低い誤検知率を達成することを目指しています。しかし、最高のセキュリティスタンスを得るには、できるだけ多くのルールを有効にする必要があります。つまり、基盤となるアプリケーションに基づいてルールセットの動作を深く掘り下げてカスタマイズすることも時に必要になります。

新しいWAFでは、デフォルト設定で、マネージドルールセットをワンクリックで有効にしたいと考えました。一方で、関心のある人に向けては、はるかに優れた設定エクスペリエンスを実現したいと考えました。

新しいWAF UI。Cloudflare のマネージドルールセットと Cloudflare OWASP ModSecurity コアルールセットをワンクリックでオンにします。

The new WAF UI. One click to turn on the Cloudflare Managed Ruleset and the Cloudflare OWASP ModSecurity Core Ruleset.

現在、Cloudflareマネージドルールセットを有効にするには、グローバルWAFスイッチを有効にし、目的のルールグループを設定する必要があります。WordPress、Joomla、PHP、および類似のシステムを含む10のルールグループは、オン/オフの切り替えで直接ページに表示されます。このUIでは、各ルールを個別にチェックしないでグループ内のルールを簡単にフィルタリングまたは構成することはできません。

現行の(古い)管理ルールセット WAF UI。グループをクリックすると、各グループのルールのリストを表示します。

The current (old) Managed Ruleset WAF UI. Clicking on a group displays a list of rules in each group.

UIはシンプルでしたが、一般的なタスクを瞬時に実行することはできませんでした。たとえば、_オフになっているすべてのルールを表示する、または、XSS攻撃を軽減するすべてのルールを表示する_などです。これからは、すべてのルールが1つの表に表示され、ルールのステータス、アクション、タグ別のフィルタリングはワンクリックするだけで実行できます。ルールタグはグループに取って代わり、ルールには1つ以上のタグがつくため、システムの柔軟性が格段に高まります。タグは次の目的で使用されます 。

  • ルールが特定のソフトウェアコンポーネントに適用可能であるかどうかを識別する

  • 攻撃ベクトルを特定する (例:XSS, SQLi, RCE)

  • CVE 固有のルールを識別する

最後に、インラインの単一のルールコントロールに加えて、一括編集コントロールが可能になり、特定のユースケースに基づく設定変更が迅速に行えます。

新しいWAFルールセットブラウザ。一括オプション、タグ、フィルタリングコンポーネントを一つの場所に表示。

The new WAF ruleset browser. Bulk options, tags and filtering components in one place.

利用可能なルールの数が増えることが予想され、より多くのユーザーがカスタム構成を採用できるように、設定変更をデプロイする際の確認画面を追加しました。ここから、デフォルトからの変更を簡単に確認でき、必要に応じて元に戻すことができます。

ルールセット展開のレビュー画面。ここから、デフォルトからのカスタム設定のオーバーライドを確認できます。

Ruleset deployment review screen. From here you can review any custom configuration overrides from defaults.

新しいマッチングエンジン

マネージドルールセットの実行を担当する現行のCloudflare WAFは、LuaJITで書かれており、NGINX モジュールとして実装されています。ルール構文は、ModSecurityで実装された構文のスーパーセットにCloudflareの実装に固有の機能を追加したものに倣っています。

新しいエンジンに移行することで、次のことを実現したいと考えました。

  • Cloudflareで使用される他のテクノロジーとの一貫性がある、より安全で、良質、高性能な環境

  • 高性能なフィルタリング機能とマッチング機能により、柔軟性の高い展開と例外処理をより簡単に行う

  • マネージドルールセットの基盤としてwirefilter構文を採用することにより、製品の機能セットを統合

最後の点は、Cloudflareにとってだけでなくユーザーにとっても特に重要なことでした。なぜなら、この構文はカスタムファイアウォールルールですでに使用されていて、同じ基盤となるRustライブラリを使用してフィルタリングを実行することもあるためです!

新しいエンジンはRustに実装されています。このブログでは、Cloudflareがどれだけこれを気に入っているか、何回もお伝えしてきました。また、この新しい実装では、安全性の向上だけでなく、速度も向上できるように尽力しているところです。この詳細については、今後のブログ記事で説明する予定です。

Cloudflareルールセットの更新

Cloudflare ルールセットが更新され、新しいWAFへと移行しました。特に、ルールセットはwirefilter構文を使用し、ルールステータスはルールアクションから分離されているため、両方を個別に設定できます。

Cloudflare OWASP コアルールセットもエンジンから独立してメジャーアップデートされます。現行のCloudflare WAFは、公式OWASP ModSecurity Core Rulesetの2.xバージョンを実装しています。新しいWAFでは、Cloudflare OWASPコアルールセットは、GitHubリポジトリから入手可能な最新の3.3バージョンが直接ベースになったものです。

新しいCloudflare OWASPコアルールセットは、追加されたエンジン機能とともに、既存のものにいくつかの改善を加えています。

  • 誤検知の数を減らし、アプリケーション汎用ルールを強化

  • 感度スコアをより詳細に制御し、各ルールがスコアにどれくらい貢献しているか、トリガーされたリクエストの合計スコアをわかりやすく表示

  • パラノイアレベルの追加 - 誤検知リスクに基づく含有/除外/ルールグループを容易に実現

  • アプリケーションに基づく適切なルールを使用した展開を可能にするルールタグ

Cloudflare OWASP コアルールセット‌‌

The Cloudflare OWASP Core Ruleset

Cloudflare OWASP コアルールセット確認画面‌‌

The Cloudflare OWASP Core Ruleset review screen

OWASP ModSecurity コアルールセットの最新バージョンをCloudflare実装に変換する取り組みの一環として、チームはModSecurityからwirefilter構文コンバーターも構築しました。これにより、アップストリームが改善された直後にルールセットを簡単にデプロイや更新ができるようになり、お客様が常に最新バージョンにアクセスできるようになります。また、お客様がModsecurityベースのWAFからCloudflareへと簡単に移行できるように、将来的にはオープンソースでコンバーターをUIに公開する予定です。

グローバル設定

Cloudflareは当初からCloudflare WAFのゾーンベースモデルを運用しています。これは、少数のアプリケーション、またはゾーンごとに非常に多様なアプリケーションセットを保護するシンプルなユースケースに適しています。

複数のゾーンにまたがる、より複雑で統一されたデプロイメントは通常、APICloudflare Terraform Providerなどの自動化ツールを利用して実装されます。

新しいWAFでは、単一のアカウントを使って任意のトラフィックフィルターでルールセットの展開を行うことができます。例としては、

  • Cloudflareの管理ルールセットをすべてのゾーンにデプロイする

  • パスに  /api/ * を含まないすべてのトラフィックに Cloudflare OWASP コアルールセットをデプロイする

  • 自分が使っているIPから来るトラフィックに対して、自分のアカウント全体でマネージドルールセットを無効にする

これにより、数回のクリックでアカウント全体の強力なWAF設定が可能になります。

アカウントの任意のアプリケーションにデプロイする3つのルールセット。 ‌‌

Three rulesets deployed on arbitrary applications on the account.

これを実現するために、ルールセット(ルールのグループ)はファーストクラスのコンセプトになり、ネイティブのバージョンで、UIで直接ロールバック機能と差分機能の両方を使用できます。この機能は、今後数ヶ月以内に公開される予定です。

アカウントベースの構成については、最初に現在アカウントチームに連絡して、早期アクセスをお願いできるEnterpriseプランのお客様に限り、ご利用いただくことになります。カスタムファイアウォールルール自体は間もなく新しいエンジンに移行されるため、お客様は独自のカスタムファイアウォールルールセットを作成し、必要に応じて任意のトラフィックフィルタに展開できます。

新機能のための新しいプラットフォーム

WAFには見かけ以上にたくさんの機能がたくさんあり、チームはすでに新しいWAF上に構築された一連の追加機能の完成に向けて鋭意作業中です。これには、エンジン自体の改善や、分析や実用的なイベントの可視性の向上などが含まれます。エンジン全体は、Cloudflareのルールベースの多くの製品基盤になるように設計されており、最終的にCloudflareの構成全体を一連のルールとして表すことを目的としています。

完成までの間、皆様のご意見をお待ちしております。どこまで刷新することができるか楽しみにしたいと思います。

.......

1Cloudflare Specialsは、Cloudflareのセキュリティチームによって書かれたルールであり、Cloudflareプラットフォームの背後にある何百万ものWebアプリケーションの監視と保護に基づいて書かれています。

Cloudflareは企業ネットワーク全体を保護し、お客様がインターネット規模のアプリケーションを効率的に構築し、あらゆるWebサイトやインターネットアプリケーションを高速化し、DDoS攻撃を退けハッカーの侵入を防ぎゼロトラスト導入を推進できるようお手伝いしています。

ご使用のデバイスから1.1.1.1 にアクセスし、インターネットを高速化し安全性を高めるCloudflareの無料アプリをご利用ください。

より良いインターネットの構築支援という当社の使命について、詳しくはこちらをご覧ください。新たなキャリアの方向性を模索中の方は、当社の求人情報をご覧ください。
Security WeekWAFFirewall製品ニュース

Xでフォロー

Michael Tremante|@MichaelTremante
Cloudflare|@cloudflare

関連ブログ投稿

2024年10月24日 13:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....

2024年10月08日 13:00

Cloudflare acquires Kivera to add simple, preventive cloud security to Cloudflare One

The acquisition and integration of Kivera broadens the scope of Cloudflare’s SASE platform beyond just apps, incorporating increased cloud security through proactive configuration management of cloud services. ...

2024年9月27日 13:00

AI Everywhere with the WAF Rule Builder Assistant, Cloudflare Radar AI Insights, and updated AI bot protection

This year for Cloudflare’s birthday, we’ve extended our AI Assistant capabilities to help you build new WAF rules, added new AI bot & crawler traffic insights to Radar, and given customers new AI bot ...