CloudFlareファイアウォールのホワイトリストにIPアドレスを一括登録(IPリスト機能)

最新の更新日
Feb 17, 2022 1:07 PM
Target Keywords
vol.

の記事で書いたように、AhrefsクローラーがCloudFlareファイアウォールに引っかかり、サイト監査で予期せぬ403 Forbiddenエラーとして警告されてしまう、という状態に陥っていました。

本記事ではCloudFlareのIPリスト機能を利用し、AhrefsクローラーのIPアドレスを一括でホワイトリスト登録する方法をご紹介します。

CloudFlareでAhrefsクローラーのIPアドレスをホワイトリスト個別登録

image

まず、一括登録のためのIPリストを使わない、個別登録の方法からおさらい。

CloudFlareのファイアウォールルールを変更し、ファイアウォールの通過を許可するIPアドレスを指定します。

Firewall > Tools の画面からIPアドレスを指定してホワイトリスト登録することができます。

Cloudflareホワイトリストに登録すべきahrefsのIPアドレスは下記から確認。

リンク先のNote:にもあるとおり、Cloudflareは /26 rangeでのIP登録を受け付けていません。 そのため、51.222.253.0/26 のIP登録については個別に1つずつ、51.222.253.0 〜 51.222.253.63 までの番号を登録する必要があります。

実際、Pv4の範囲内の/16または/24で終わるIPアドレスの値は通常のとおり登録できますが、/26の形で登録しようとすると、下記のエラーメッセージが表示されます。

Only an IPv4 range (CIDR) value of /16 or /24 is allowed for IP Access Rules

しかし、CloudFlareクローラーが利用するIPアドレスは数が多い(サブネットマスクの範囲で指定できない個別IPが多い)ので、下記のように1つ1つ入力していくと大変時間がかかってしまいます…!

image

そこで、以下で説明するようにIPリスト機能を使ってCloudflareにホワイトリストIPを一括登録していくと便利です。

IPリスト機能を使ってCloudFlareホワイトリストにIPを一括登録

Introducing IP Lists によると、IPリスト機能を利用すれば合計1,000までのIPアドレスのリストを作成し、一括ホワイトリスト登録できるとのこと。

リスト機能はドメインごとの設定画面ではなく、自身のアカウントページで設定することとなります。

(旧ダッシュボードの場合)右上のプロフィールアイコン > Account Home > Configurations > Lists

Cloudflare旧ダッシュボードの場合: アカウントホーム > 画面上: Configuration > Lists
Cloudflare旧ダッシュボードの場合: アカウントホーム > 画面上: Configuration > Lists

(新ダッシュボードの場合)画面左側メニュー: アカウントの管理 > 構成 > リスト

Cloudflare新ダッシュボードの場合は画面左メニュー: アカウントの管理 > 構成 >  リスト
Cloudflare新ダッシュボードの場合は画面左メニュー: アカウントの管理 > 構成 > リスト

Create New List (新規リストを作成) をクリックします。

任意の名称をつけてリストの空箱を新規作成。

image

次画面の Add items to list (項目をリストに追加)で What is the list of your IP ranges? | Help Center - Ahrefs に列挙されているIPアドレスリストをコピーして、作成するリストの中身とします。

ただし、前述のとおり最初の51.222.253.0/26 は/26で終わるため登録できません。個別に1つずつ、51.222.253.0 〜 51.222.253.63 までの番号を登録します。

また、” We also use the individual IPs in the code block below.” にある部分のIPも登録します。

この入力フォームを見たときは、わざわざCSVを作成してアップロードしなければならないのか…と思ったのですが

image

IP Addressの空白欄に入力カーソルを置いてコピーしたIPアドレス列挙列をペーストしたところ…

image

このように一括でペーストされました!!!神です。

Add to listをクリックしてリストの作成を完了させます。

実に169項目のリストとなりました。

作成したIPリストをホワイトリストとして適用させる

リスト作成が完了したら、作成したIPリストを適用させる工程が必要です。 適用させたいドメインにホワイトリストとしてリストを登録させていきます。

アカウントページから離れ、ルール適用させたいドメインを選択。 アカウントページ > Webサイト > ドメイン選択)

Firewall > Firewall Rules > Create Firewall Rules

image

ファイアウォール名を任意のもので作成。下記のようにそれぞれ設定してホワイトリストとしてIPリストを登録します。

  • Field: IP Source Address (送信元のIPアドレス)
  • Operator: is in list (リストに含まれる)
  • Value: 作成したリスト名称
  • Then....(以下を実行) : Allow (許可)
image

内容を確認したらDeployで有効化。

下記のように登録されていたら、作成したIPリストがホワイトリストとして機能しているはずです。

image

これで完了です!

なお、ホワイトリストが実際に適用された状態でアクセスするには、各所のDNSサーバーのキャッシュが更新されることを待つ必要があります。

Ahrefs IPアドレスのホワイトリスト登録が面倒なら、Known Botsを一括で許可するという手も

あまり推奨はしませんが、既知のbot群(Known Bots)を一律にアクセス許可させる方法もあります。

CloudFlareでは、ahrefs, apple, baido, google, yahoo, yandexなどのbotがが Known Botsとしてあらかじめ登録されています。

Known Botsを一律にアクセス許可する方法は下記。

ドメイン設定で Firewall > Firewall Rules > Create a Firewall Rule

Known Botsをすべてアクセス許可にする

image

WordPressの場合はファイアウォールプラグインにもホワイトリスト登録をしておくなど、ソフトウェアレイヤーにも必要な設定を実施

Cloudflareにおいては上記でホワイトリスト登録が完了です。

しかし、WordPressなどのソフトウェアにおいてはセキュリティプラグインが存在し、そのファイアウォール設定によってアクセスが弾かれている場合もあります。

Cloudflareのファイアウォール設定を確認したら、ソフトウェア・サーバーなど他のレイヤーにおいても設定を確認しておきましょう。

WordPressのセキュリティ・ファイアウォールプラグインである”Wordfence”および”BBQ Pro”のホワイトリスト設定については

の記事に設定方法を記述しています。