mattintosh note

どこかのエンジニアモドキの備忘録

2024-06-05: 現在ホビー関連の記事を 新しいブログ に移行しています(一部の国、ISP からは閲覧できません)

Cloudflareで47.128.0.0/14のようなレンジをIPアクセスルールに登録する

Cloudflare の IP アクセスルールには IP アドレスをレンジで登録できる機能があるのですがサブネットマスク/16/24 である必要があります。

例えば不正なアクセスが多い AWS の Singapore には 47.128.0.0/1413.214.0.0/15 といったレンジが割り当てられています。これらはそのままでは IP アクセスルールに登録できませんが /16/24 で分割することで登録ができるようになります。

47.128.0.0/14 の範囲は 47.128.0.047.131.255.255 となっており、/16 では下記の 4 つの範囲で表現できます。

  • 47.128.0.0/16
  • 47.129.0.0/16
  • 47.130.0.0/16
  • 47.131.0.0/16

13.214.0.0/15 の範囲は 13.214.0.013.215.255.255 となっており、/16 では下記の 2 つの範囲で表現できます。

  • 13.214.0.0/16
  • 13.215.0.0/16

これらは自分で計算することもできますが ChatGPT 等を利用すると良いでしょう。例えば ChatGPT で

47.128.0.0/14をサブネットマスク16または24で分割してください

という質問をすると

IPアドレス範囲「47.128.0.0/14」を、サブネットマスク「/16」および「/24」で分割する方法を説明します。

/16で分割したサブネット:

  • 47.128.0.0/16
  • 47.129.0.0/16
  • 47.130.0.0/16
  • 47.131.0.0/16

という回答を返してくれます。あとはこれを Cloudflare WAF の IP アクセスルールに登録するだけです。

Cloudflare WAF
Cloudflare WAF

怪しいアクセスは Cloudflare WAF がボットファイトモードでブロックしてくれたりもするのですがマネージドチャレンジの機会を与えてしまうので前段の IP アクセスルールでブロック対象にした方が確実でしょう。

レンジによっては /24 で分割されて 32 個くらい登録しなければならないこともあるのですがその場合は頑張って登録するか、カスタムルールの ip.src in {} でブロックしています。