Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Application Security - はじめに

この動画では、よくある攻撃に対してすぐに保護を有効にする方法を学びます。

トランスクリプト

Cloudflare Application Security ダッシュボードでは、ドメインとアプリケーションを

さまざまな Web 攻撃や脅威から守るセキュリティ機能を管理できます。

この動画では、よくある攻撃に対してすぐに保護を有効にする方法を

学びます。

Analytics でトラフィックのパターンとイベントを監視・調査します。

誤検知に対処します。

フィルターを使ってカスタムルールを作成します。

プランによっては、一部の機能が使えないことが

あります。詳細は、開発者ドキュメントをご覧ください。

Analytics の確認やルールの調整を始める前に、

受信する脅威を検査して緩和するルールを設定し、有効にする必要があります。

まず、Cloudflare の Managed Ruleset を設定します。

このルールセットには、既知の脆弱性とよくある攻撃経路を検出する

複数のルールが含まれています。

毎週更新され、ゼロデイ脅威向けの緊急パッチも含まれます。

Free プランでは、Free Managed Ruleset がすでにデプロイ

済みです。この手順では何もする必要はありません。

まず Cloudflare ダッシュボードにログインし、アカウントとドメインを選んで

Security Settings を開きます。次に、Web Application Exploits カテゴリで

Cloudflare Managed Ruleset を見つけてオンにします。

このルールセットを有効にすると、誤検知が少なく幅広い保護を

すぐに得られます。ルールセットを有効にしたら、

Analytics ページを開いて、ルールの動作を確認できます。

システムがデータを収集するには時間がかかります。

ルールセットを有効にした直後は、受信トラフィックが

Cloudflare で分析されるまで待ちます。

Analytics ページを見てみましょう。

Traffic タブは、ドメインへの受信 HTTPリクエストをすべて表示します。

セキュリティルールで緩和されていないリクエストも含みます。

Events タブは、Cloudflare のセキュリティアクションが発動した

リクエストだけを表示します。たとえば Block、Challenge、Log です。

まず Traffic タブから始めます。

ここでは、リクエストのプロパティなどのフィルターでトラフィックのパターンを

確認できます。Path、Source IP、Action taken、Rule ID などです。

例を見てみましょう。

たとえば、login パスへの POST リクエストで漏洩した認証情報を含むものだけを

見たいとします。まず Add filter をクリックし、Path equals login と入力します。

Apply をクリックします。次にHTTP method equals POST と、

Leaked credentials Scan results equalsusername and password leaked を追加します。

Served by origin にカーソルを合わせ、Filter をクリックします。

これで、漏洩した認証情報を含み、実際にオリジンに到達したリクエストで

絞り込んでいます。これらのリクエストはすべて同じ IP アドレスから来ています。

IP アドレスは、Sample logs のSource IP 列に表示されます。

Top statistics の Source IPs でも確認できます。

その IP をフィルターに追加します。

Source IP equals に、ここに表示されているIP を指定します。

フィルターは特定の種類のリクエストを分析するだけでなく、

独自のセキュリティルールを作る出発点にもなります。

いま適用したフィルターを使ってルールを作成します。

このルールは、漏洩した認証情報を含むPOST リクエストのうち、指定した

IP アドレスからのものにセキュリティチャレンジを出します。

Create Custom Security Rule をクリックします。

プレビューのサイドパネルが開きます。

このプレビューには、作成中のルールの先頭部分が表示されます。

リクエストがこのルールに一致したときのアクションは、まだ決めていません。

そこで Configure Rule action を選びます。

Security Rule セクションのRule Builder ページに移動します。

まずルールに名前を付けます。

次に、ルール式には Analytics ページでいま適用したフィルターが

入っています。ルール式は、ルールが実行されるために満たすべき条件を

指定します。ルール式は Expression Builder で作るか、

手動で書くこともできます。

次に、一致したリクエストに対してこのルールが行うアクションを選びます。

Challenge 系のアクションは、いずれもCloudflare の Challenge プラットフォームを

使い、訪問者が実際の人間であり、ボットや自動スクリプトではないことを

確認します。

Interactive Challenge は、リクエストを成功させるために訪問者が解く必要のある

チャレンジを表示します。

JavaScript Challenge は、訪問者のWeb ブラウザーに JavaScript ベースの

チャレンジをバックグラウンドで解かせます。Interactive Challenge と違い、

訪問者の操作は必要ありません。

Managed Challenge では、Cloudflare が訪問者に提示するチャレンジの種類を

リクエストの特性に応じて動的に選びます。

Challenge 以外では、一致するリクエストをすべて完全にブロックする Block や、

選択した他のルールをスキップする Skip を選べます。

Enterprise アカウントでは、ルールに一致したリクエストを Log する選択肢もあります。

記録したリクエストは、Security Analytics のEvents タブで確認できます。

この例では、ルールに一致したリクエストへのアクションとして Managed Challenge を

選びます。

最後に、Select Order のドロップダウンで、このルールを実行順の

先頭か末尾のどちらに置くかを選びます。

リクエストに一致したルールは、配置された順に実行されます。

終端アクションなら、以降のルールは実行されません。

実行順の特定の位置に置きたい場合は、

ルールのデプロイ後に編集できます。

ルールの作成が終わったら、Deploy を選びます。

Security Rules Overview ページに移動します。ここでカスタムセキュリティルールを

管理・作成します。いま作ったルールがここにあります。

作成したルールを編集したり、実行順の位置を変えたりするには、

正当なリクエストが、Cloudflare が作成・管理する Managed Ruleset のルールで

ブロックされることもあります。

これが誤検知です。

Analytics ページに戻り、Events タブを開きます。

Action を Block、Service をManaged rules で絞り込みます。

必要なら期間も調整できます。

ルールセット全体を無効にしないでください。

まず、許可すべき Block リクエストに共通するプロパティを確認します。

たとえば login のような同じパスです。

追跡したい Block リクエストのログ詳細を展開し、Rule ID をコピーします。

これらのリクエストを許可するため、Managed Ruleset 名も控えます。

このルールをバイパスするには、特定のパスへのリクエストでルールを Skip する例外を

追加するか、オーバーライドを設定してルールを無効にします。

Security Rules で、特定のパス向けの例外を作る方法を見てみましょう。

Create rule を選び、Managed rules を選びます。

例外の名前を入力します。Field に URI Path、Operator に equals、Value に

login を入力します。次にSkip specific rules from a managed rule set を

選び、先ほど確認した Managed Ruleset でSelect Ruleset を選びます。

Select rules を選びます。Skip したいルールをRule ID で検索し、

チェックボックスで選びます。Next を選びます。

Rules being skipped で設定を確認し、Deploy を選びます。

次に、その特定のルールに対するオーバーライドの設定を見ます。

オーバーライドは、すべての受信リクエストに対してルールを変更します。

ルール名を選んでサイドバーを開き、View を選びます。

Security rules で Browse rules を選びます。

コピーした Rule ID で、Skip したいルールを検索します。

すべてのリクエストでルールを無効にするには、Status を Off にします。

Next を選び、Save します。

これで全体の保護は維持したまま、既知のケースでは正当なトラフィックを

通せます。これでドメインとアプリケーションを守るアプリケーションセキュリティ機能を

設定できます。詳細は、開発者ドキュメントをご覧ください。