CloudflareはASNを使用して悪意のあるクローラーをブロックします。
Index
最近、私たちのウェブサイトがクローラーによって頻繁にアクセスされるようになりました。IPアドレスを頻繁に変更されるためブロックが難しく、最終的には ASN(自律システム番号) を使って遮断することで解決しました。
🧭 ASNとは?
ASN(Autonomous System Number / 自律システム番号) とは、インターネット上で各自律システム(AS)を識別するために使われる一意の番号です。
自律システムとは、統一されたルーティングポリシーのもとで運用されている、1つまたは複数のIPプレフィックス(IPアドレスの範囲)の集合です。ASNは BGP(Border Gateway Protocol) においてルーティング情報を交換するために使われます。
各自律システムには、BGPルーティングにおいて識別されるための一意なASNが割り当てられています。ASNには次の2種類のフォーマットがあります:
- 16ビットASN:1〜65534
- 32ビットASN:131072〜4294967294
ASNの主な目的は、AS間でルーティング情報を交換し、データが最適な経路を通って届くようにすることです。
Cloudflare の ファイアウォールルール を使えば、ASNを指定して悪意のあるクローラーをブロックすることができます。以下に手順を紹介します。
ステップ1:悪質なクローラーのASNを調べる
アクセスログや統計から問題のあるIPを特定し、そのIPのASNをインターネットで検索します。
例:
- ipinfo.io や bgp.he.net を使って、IPに紐づくASNを調べることができます。
ステップ2:Cloudflareの設定
- Cloudflareダッシュボードにアクセスし、該当のサイトを選択します。
- 左側のメニューから セキュリティ > WAF > ファイアウォールルール を選択します。
- ファイアウォールルールの作成 をクリックします。
設定内容の例:
- フィールド(Field):
ip.geoip.asnum - オペレーター(Operator):
equalsまたはin(複数のASNを指定する場合) - 値(Value):例
AS12345
ルール例:
ip.geoip.asnum in {12345 54321}
アクション(Action)
- ブロック(Block) または チャレンジ(Challenge) を選択します。
反映タイミング
ルールは即時に適用され、指定されたASNに属するIPはウェブサイトへアクセスできなくなります。
☁️ 主なクラウドプロバイダとそのASN一覧
以下は、Cloudflareのファイアウォールルールに活用できる、主要なクラウドサービスプロバイダのASN一覧です:
| クラウドプロバイダ | ASN | 説明 |
|---|---|---|
| Amazon Web Services (AWS) | AS16509、AS14618、AS8987 | AWSはリージョンやサービスによって複数のASNを使用しています。 |
| Google Cloud Platform (GCP) | AS15169、AS19527、AS396982 | Googleのグローバルインフラ向けの主要ASNです。 |
| Microsoft Azure | AS8075、AS3598、AS8070 | MicrosoftはAzureサービスで複数のASNを使用しています。 |
| Alibaba Cloud | AS37963、AS45102、AS58593 | Alibaba Cloudは地域に応じて異なるASNを使用しています。 |
| Oracle Cloud | AS31898 | Oracleの主要ASNです。 |
| IBM Cloud | AS36351 | IBM Cloudの主要ASNです。 |
| DigitalOcean | AS14061 | DigitalOceanの主要ASNです。 |
| Hetzner Online | AS24940 | Hetznerの主要ASNです。 |
| OVHcloud | AS16276 | OVHの主要ASNです。 |
| Linode | AS63949 | Linodeの主要ASNです。 |