Cloudflare の DDoS Botnet Threat Feed は、ホスティングプロバイダーやインターネットサービスプロバイダー(ISP)などのサービスプロバイダー(SP)向けの脅威インテリジェンスフィードです。Cloudflare のグローバルネットワークで観測された、自社の IP アドレスが HTTP DDoS 攻撃に関与した情報を提供します。このフィードは、サービスプロバイダーが自社ネットワーク内からの不正利用を止め、発信元となる DDoS 攻撃を減らすことを目的としています。
各違反は、その IP アドレスから送られた、緩和済みの HTTP リクエスト 1 件です。たとえば IP の違反が 3,000 件なら、Cloudflare がその IP からの HTTP リクエストを 3,000 件緩和したことを意味します。
サービスプロバイダーが取得できるのは、自社の自律システム番号(ASN)に紐づく IP アドレスの情報だけです。サービスプロバイダーと ASN の所属関係は、信頼できる国際的な相互接続データベースである PeeringDB ↗ で確認します。
フィードの精度を保つため、Cloudflare は複数の HTTP DDoS 攻撃に関与し、確信度の高いルールをトリガーした IP アドレスだけを含めます。
数千台のボットで構成される 1 回の DDoS 攻撃でも、サービスプロバイダーあたりの IP は 1 つだけのことがあります。サービスプロバイダーは、自社ネットワークから出ていく攻撃トラフィックのごく一部しか見えません。不正利用との関連付けや、不正利用者の特定は難しくなりがちです。
HTTPS の DDoS 攻撃では、サービスプロバイダーは暗号化されたペイロードがネットワークから出ていくことしか見えません。復号して、悪意のあるトラフィックか正規トラフィックかを判断することはできません。一方、攻撃の対象が Cloudflare のサービスを使うインターネットプロパティであれば、Cloudflare は攻撃全体とその発信源をすべて見られます。このグローバルな視点が、サービスプロバイダーの不正利用停止に役立ちます。
詳細は DDoS 保護の仕組み を参照してください。
Cloudflare の DDoS Botnet Threat Feed は、サービスプロバイダーに無償で提供します。詳細は 利用規約 ↗ を参照してください。
次を確認してください。
- Cloudflare アカウントを作成済み であること。
-
Cloudflare ダッシュボードで、アカウント設定ページを開きます。
Configurations を開く ↗ -
DDoS Threat Feed ASNs を選択します。
-
脅威フィードに設定済みの ASN 一覧で、Add ASN を選択します。
-
PeeringDB の認証ページにリダイレクトされます。ログインし、所属データを Cloudflare と共有することに同意します。成功すると、設定ページに戻ります。
少なくとも次のアカウントレベルの権限を持つ Cloudflare API トークンを取得 してください。
- DDoS Botnet Feed > Read
Botnet Threat Feed API のいずれかのエンドポイントを呼び出します。
API エンドポイントを呼び出すには、Cloudflare API のベース URL に操作エンドポイントを付けます。
https://api.cloudflare.com/client/v4指定した ASN について、ボットネット追跡データベース内の全データ(現在は約 2 週間分)を取得します。
- HTTP メソッド:
GET - 操作エンドポイント:
/accounts/{account_id}/botnet_feed/asn/{asn}/full_report
指定する {asn} は、アカウントに所属している必要があります。
Required API token permissions
At least one of the following token permissions is required:DDoS Botnet Feed WriteDDoS Botnet Feed Read
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/botnet_feed/asn/$ASN_ID/full_report" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"result": [
{
"cidr": "127.0.0.1/32",
"date": "1970-01-01T00:00:00Z",
"offense_count": 10000
},
// ... other entries ...
],
"success": true,
"errors": [],
"messages": []
}指定した ASN と日付について、ボットネット追跡データベースが持つデータをすべて取得します。この操作は 2 週間より前の日付も受け付けますが、その場合は空のデータセットを返します(データベースは現在 2 週間分だけ保存します)。
- HTTP メソッド:
GET - 操作エンドポイント:
/accounts/{account_id}/botnet_feed/asn/{asn}/day_report?date={date}
指定する {asn} は、アカウントに所属している必要があります。
{date} は ISO 8601 形式の日付(YYYY-MM-DD)である必要があります。日付を指定しない場合、API は前日のデータを返します。
Required API token permissions
At least one of the following token permissions is required:DDoS Botnet Feed WriteDDoS Botnet Feed Read
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/botnet_feed/asn/$ASN_ID/day_report" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"result": [
{
"cidr": "127.0.0.1/32",
"date": "2024-05-05T00:00:00Z",
"offense_count": 10000
},
// ... other entries ...
],
"success": true,
"errors": [],
"messages": []
}