Cloudflare Radar に ASPA 検証ツールが登場!怪しい BGP 経路をブラウザで一発診断
やっほー、しぃちゃんだよ!今日は BGP の経路をブラウザでサクッと検証できちゃう、ちょっとマニアックだけど便利なツールのお話だよ。
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog から届いたニュースだよ。Cloudflare Radar の Routing セクションに、「ASPA 検証ツール」が新しく追加されたの。BGP の AS_PATH(経路を通ってきた AS 番号の並び)を入力すると、RPKI に登録されている ASPA(Autonomous System Provider Authorization)のレコードと照らし合わせて、その経路が正しいかどうかを判定してくれるんだよ。
判定結果は次の 3 パターン。
- Valid — 経路全体がプロバイダー認可の連鎖でカバーされている
- Invalid — カバーされていない箇所がある。これは経路が漏れてしまった「ルートリーク」のサインなの
- Unknown — 判定に必要な情報が足りない
検証は draft-ietf-sidrops-aspa-verification という IETF のドラフト仕様に沿っているよ。まだ RFC にはなっていない、策定途中の仕様なんだって。
なぜ重要なの?
BGP はインターネットの経路を決める基本の仕組みだけど、設定ミスや不正な経路の広告によって「ルートリーク」と呼ばれるトラブルが起きることがあるの。本来通らないはずの経路にトラフィックが流れ込んでしまうと、通信が遅くなったり、最悪の場合は盗聴や妨害のリスクにもつながるんだよ。
ASPA は、AS(自律システム)ごとに「自分の正規のプロバイダーはここだよ」と宣言しておくことで、経路が正規のプロバイダーの連鎖を通っているかを検証できるようにする仕組みなの。ただ、これまでは仕様を読み解いて自分で検証ロジックを組むか、専用のツールを用意する必要があったんだよね。それが Radar の中でブラウザから手軽に試せるようになったのが、今回のポイントだよ。
これで何が変わるの?
ネットワークエンジニアが「この AS_PATH、本当に正しいルートかな?」と気になったときに、Radar を開いて経路を入力するだけで、Valid / Invalid / Unknown の判定とグラフでの可視化がすぐ手に入るようになるよ。ルートリークの調査や、自分の AS のプロバイダー関係が正しく ASPA に反映されているかの確認が、専用ツールを構築しなくてもできるようになるの。
深く潜ってみよう
検証アルゴリズムは、経路をどちらの方向から見るかで 2 種類から選べるよ。
- Upstream — 顧客・ピア・ルートサーバーのクライアントから受け取った経路向け。アップランプ(プロバイダー方向への遷移)のみが許可される
- Downstream — プロバイダーから受け取った経路向け。アップランプに加えてダウンランプ(顧客方向への遷移)も許可される
AS_PATH は BGP のワイヤー順(一番右が経路の発信元、一番左が観測点に一番近い AS)で入力する仕組みで、AS 番号はスペース・カンマ・ハイフンのいずれで区切ってもよく、AS プレフィックスの有無も問わないよ。
検証結果は「ASPA validation graph」としてホップごとに描画され、各ホップが Provider+ / Not Provider+ / No attestation のいずれかでマークされるの。ASPA のスナップショットは最初にブラウザへ丸ごと読み込まれる仕組みだから、経路を編集するたびに追加の通信をせずに、グラフと判定がその場で更新されるんだって。
サンプルの経路もいくつか用意されていて、AS0 の ASPA(「プロバイダーを一切持たない」という宣言)を使ったルートリークの例など、判定のクセがわかる典型的なケースを試せるようになっているよ。
まとめ
- Cloudflare Radar の Routing セクションに ASPA 検証ツールが追加された
- AS_PATH を入力すると Valid / Invalid / Unknown でルートリークの可能性を判定
- draft-ietf-sidrops-aspa-verification(策定中の IETF ドラフト)に準拠
- Upstream / Downstream の 2 つの検証アルゴリズムを選べる
- ホップごとの可視化グラフとサンプル経路で、判定のロジックを直感的に確認できる
BGP や RPKI まわりを扱うネットワークエンジニア、ルートリークの調査をしたい人にきっと役立つツールだよ。