IP ブロックリストの使用
- English
- 日本語
特定の IP アドレスをブロックリストに登録することで、その IP アドレスからのサービスへのアクセスを防ぐことができます。この機能を有効にすると、ブロックされた IP アドレスからサービスにアクセスしようとするユーザーに対して、403エラーを返す条件とレスポンスが作成されます。この機能を利用することで、悪意のあるユーザーが Web アプリケーションの動作を妨害するのを防ぐことができます。
IP ブロックリストの有効化
IP ブロックリストを有効にするには、以下の手順に従ってください。
- Fastly コントロールパネル
- API
Fastly コンソールにログインしてください。
Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
Edit configuration をクリックし、オプションを選択してアクティブバージョンをクローンします。
Settings をクリックします。
IP block list のスイッチをクリックして On にします。

Activate メニューから、Activate on Production を選択して、設定の変更をデプロイします。
端末アプリケーションを開き、次のコマンドを入力して ACL を作成します。
$ curl -i -X POST "https://api.fastly.com/service/[service_id]/version/[service_version]/acl" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -d "name=Generated_by_IP_block_list"次のコマンドを入力して条件を作成します。
$ curl -i -X POST "https://api.fastly.com/service/[service_id]/version/[service_version]/condition" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -d "name=Generated by IP block list&statement=client.ip ~ Generated_by_IP_block_list&type=REQUEST"次のコマンドを入力してレスポンスオブジェクトを作成します。
$ curl -i -X POST "https://api.fastly.com/service/[service_id]/version/[service_version]/response_object" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Content-Type: application/x-www-form-urlencoded" -H "Accept: application/json" -d "name=Generated by IP block list&request_condition=Generated by IP block list&content_type=text/html&response=Forbidden&status=403"
IP アドレスのブロック
IP アドレスをブロックするには、以下の手順に従ってください。
- Fastly コントロールパネル
- API
Add address をクリックします。
Address フィールドに、このサービスでブロックする IP アドレスまたはサブネットマスク (IP アドレスの範囲) を入力します。IP アドレスの例外を追加するには、感嘆符を使用します (例: 、
!192.0.2.0``!192.0.2.0/24)。(オプション) Comment フィールドには、IP アドレスやサブネットマスクを説明するコメントを入力します。
Add をクリックします。IP アドレスまたはサブネットマスクがリストに表示されます。追加された項目は直ちに有効となります。

IP ブロックリスト ACL の ID を確認します。端末アプリケーションを開き、次のコマンドを入力してサービスの ACL を表示します。
$ curl -i "https://api.fastly.com/service/[service_id]/version/[service_version]/acl" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json"出力から IP ブロックリスト ACL の ID を確認します。
[{"updated_at":"2023-11-01T20:46:51Z","version":"3","deleted_at":null,"created_at":"2023-11-01T20:46:51Z","id":"[acl_id]","service_id":"[service_id]","name":"Generated_by_IP_block_list"}]%その ACL ID を使用して次のコマンドを入力することで、新規 ACL エントリーを作成して任意の IP アドレスをブロックできます。
$ curl -i -X POST "https://api.fastly.com/service/[service_id]/acl/[acl_id]/entry" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Content-Type: application/json" -H "Accept: application/json" -d "{\"ip\":\"192.168.1.1\"}"
ブロックされた IP アドレスの編集
ブロックされた IP アドレスやサブネットマスクは、いつでも編集することができます。IP アドレスまたはサブネットマスクを編集するには、以下の手順に従ってください。
- Fastly コントロールパネル
- API
- お客様のサービスに関連付けられ、編集したい IP アドレスまたはサブネットマスクが含まれている IP ブロックリストを探します。これらのエントリーはバージョン管理されていないため、選択するサービスのバージョンは関係ありません。お客様にとって最も合理的なものをお選びください。
- IP ブロックリストで編集したいエントリーにカーソルを合わせ、表示される鉛筆をクリックします。
- 必要に応じて IP アドレス、サブネットマスク、またはコメントを編集します。
- Save をクリックします。変更した内容は、すぐに設定に反映されます。お客様の IP ブロックリストが、デプロイされているサービスのバージョンにすでに関連付けられている場合、その変更はライブで反映されます。
IP ブロックリスト ACL の ID を確認します。端末アプリケーションを開き、次のコマンドを入力してサービスの ACL を表示します。
$ curl -i "https://api.fastly.com/service/[service_id]/version/[service_version]/acl" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json"出力から IP ブロックリスト ACL の ID を確認します。
[{"updated_at":"2023-11-01T20:46:51Z","version":"3","deleted_at":null,"created_at":"2023-11-01T20:46:51Z","id":"[acl_id]","service_id":"[service_id]","name":"Generated_by_IP_block_list"}]%その ACL ID を使用して次のコマンドを入力し、サービスで適用される ACL エントリーを表示します。
$ curl -i "https://api.fastly.com/service/[service_id]/acl/[acl_id]/entries?direction=ascend&page=1&per_page=20&sort=created" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json"更新する IP アドレスの ACL エントリー ID を出力で確認します。
[{"acl_id":"[acl_id]","negated":"0","service_id":"[service_id]","ip":"192.168.1.1","created_at":"2023-11-01T22:22:19Z","comment":"","id":"[acl_entry_id]","subnet":null,"updated_at":"2023-11-01T22:22:19Z"}]%更新する IP アドレスの ACL エントリー ID を使用して次のコマンドを入力することで、IP アドレスを更新できます。
$ curl -i -X PATCH "https://api.fastly.com/service/[service_id]/acl/[acl_id]/entry/[acl_entry_id]" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Content-Type: application/json" -H "Accept: application/json" -d "{\"ip\":\"192.168.1.2\"}"
IP ブロックリストのエントリーを削除する
IP ブロックリストの個々のエントリーは、いつでも削除できます。Fastly コントロールパネルで作成した IP アドレスまたはサブネットマスクを削除するには、以下の手順に従ってください。
- Fastly コントロールパネル
- API
- お客様のサービスに関連付けられ、編集したい IP アドレスまたはサブネットマスクが含まれている IP ブロックリストを探します。これらのエントリーはバージョン管理されていないため、選択するサービスのバージョンは関係ありません。
- IP ブロックリストで削除したいエントリーにカーソルを合わせ、表示されるゴミ箱アイコン をクリックします。
- Confirm and Delete をクリックします。
IP ブロックリスト ACL の ID を確認します。端末アプリケーションを開き、次のコマンドを入力してサービスの ACL を表示します。
$ curl -i "https://api.fastly.com/service/[service_id]/version/[service_version]/acl" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json"出力から IP ブロックリスト ACL の ID を確認します。
[{"updated_at":"2023-11-01T20:46:51Z","version":"3","deleted_at":null,"created_at":"2023-11-01T20:46:51Z","id":"[acl_id]","service_id":"[service_id]","name":"Generated_by_IP_block_list"}]%その ACL ID を使用して次のコマンドを入力し、サービスで適用される ACL エントリーを表示します。
$ curl -i "https://api.fastly.com/service/[service_id]/acl/[acl_id]/entries?direction=ascend&page=1&per_page=20&sort=created" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json"削除する IP アドレスの ACL エントリー ID を出力で確認します。
[{"acl_id":"[acl_id]","negated":"0","service_id":"[service_id]","ip":"192.168.1.1","created_at":"2023-11-01T22:22:19Z","comment":"","id":"[acl_entry_id]","subnet":null,"updated_at":"2023-11-01T22:22:19Z"}]%削除する IP アドレスの ACL エントリー ID を使用して次のコマンドを入力することで、その IP アドレスを削除できます。
$ curl -i -X DELETE "https://api.fastly.com/service/[service_id]/acl/[acl_id]/entry/[acl_entry_id]" -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json"
IP ブロックリストの無効化
ロック解除されたサービスバージョンでは、IP ブロックリストとそれに含まれるエントリーを無効にすることができます。IP ブロックリストを無効にするには、以下の手順に従ってください。
- Fastly コントロールパネル
- ロック解除されたバージョンのサービスに関連する IP ブロックリストを探します。
- IP block list のスイッチをクリックして Off にします。
- Yes をクリックします。これにより、ブロックリストが無効になり、関連するすべてのエントリーが削除されます。
Activate メニューから、Activate on Production を選択して、設定の変更をデプロイします。
他の ACL タイプの作成
他のタイプの ACL が必要な場合は、Fastly コントロールパネルの Data ページで ACL を作成する必要があります。

