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

Last Edited Time
Nov 26, 2021 4:28 PM
Category
インフラ・サーバー
Not yet (Unpublish)
Podcast
Super Published

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

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

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

image

まず、IPリストを使わない通常の方法からおさらい。

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

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

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

とCloudFlareで表示されたので、IPv4の範囲内の/16または/24で終わるIPアドレスの値を入力していきましょう。

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

image

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

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

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

右上のプロフィールアイコン > Account Home > Configurations > Lists

image

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

image

What is the list of your IP ranges? | Help Center - Ahrefs に列挙されているIPアドレスリストをコピーして、作成するリストの中身とします。

ただし最初の51.222.253.0/26 は/26で終わるため登録できません。

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

image

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

image

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

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

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

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

作成したIPリストを、適用させたいドメインにホワイトリストとして登録させていきます。

アカウントページから離れ、ルール適用させたいドメインを選択します。

Firewall > Firewall Rules

image

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

  • Field: IP Source Address
  • 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