ニュースレターNo.64/2016年11月発行
インターネットからの到達性を確認するために 〜経路情報の確認について〜
重要なWebサイトを構築してもインターネットの一部からそのサーバにアクセスできなくなることがあります。本稿ではインターネット側からの到達性に着目して、到達性の確認方法と監視の技術を紹介します。
はじめに
経路情報がなくなる事件はどれくらい起きているのでしょうか。右にURLを挙げたインターネットの経路情報を調査しているDyn ResearchやBGPmonのブログなどを見ていると、海外では高い頻度で起きていることが分かります。国内では、JPNICで観測できるものは月に10件以上あります。ただしネットワーク機器のメンテナンスに伴って経路情報が変更されるような通常のものも含まれています。
- Dyn Researchのツイート
- https://twitter.com/DynResearch
- BGPmonのブログ
- http://www.bgpmon.net/blog/
自組織サーバのIPアドレスに対する経路情報が、インターネットで存在しているのかどうかを調べるには、RIPE NCCが運営しているRIPEstatと呼ばれるWebサイトが利用できます。あらかじめIPアドレスが分かっていれば、閲覧しているWebサイトがどの通信事業者のネットワークに収容されているのか、そしてインターネットからの到達性がどれくらいあるのかを見ることもできます。
- RIPEstat
- https://stat.ripe.net/
下図はJPNIC Blogのサーバが含まれているIPアドレスを検索した結果です。経路情報が欠けることなく観測されていることが分かります。(図)
経路情報の監視方法
経路情報がなくなったり、おかしな経路情報がインターネットに流れたりした時に気づくためには、どういう方法があるのでしょうか。海外のものにはBGPmonのサービスがあります。BGPmonにユーザー登録をすると、限られた数の経路情報を監視することができます。一方、国内で利用できるものとして、JPNICでは二つの方法を提供しています。
経路奉行
- JPIRRのroute objectにメールアドレスを記述しておく方法
- JPNICでおかしな経路情報が観測された時には、登録されているメールアドレスに通知が送られる
https://www.nic.ad.jp/doc/jpnic-01077.html#3
ROA(Route Origin Authorization)
- 本来の経路情報をROAとして登録しておく方法
- 対応したBGPルータなどで経路情報をチェックするために利用できる
- 国際的に普及が始まっている方式で、国内外の多くの箇所で経路情報をチェックするために使うことができる
https://www.nic.ad.jp/ja/rpki/howto-usepubcache.html
ROAの確認方法
また、ROAが登録されているかどうかを確認できるように、下記のWebサイトを公開しています。
- RPKI Validator(日本語版)
- http://roa2.nic.ad.jp:8080/bgp-preview
このRPKI ValidatorにIPアドレスを入力すると、ROAと経路情報を比較した結果が表示されます。具体的には、ROAに対応したBGPルータにおいてどのように見えるかについて、RRC(Remote Route Collector)を使って再現しています。RPKI Validatorでは、ROAに記載されている本来の経路情報と、RRCによって収集された経路情報を比較しています。ROAに記載された通りの経路情報があれば「Valid」、ROAの記載と違う経路情報があれば「Invalid」、ROAの記載はあっても該当する経路情報が見つからない場合には「Unknown」となります。
RPKI ValidatorはRRCによって蓄積された経路情報を定期的にダウンロードしているため、最終更新日が画面に表示されます。またピア先(接続先)が多いほど、インターネットの主要な箇所であることがわかります。その地点からのVisibilityは、より広範囲からの到達性に影響することになります。
210.173.160.0/19や210.251.160.0/20と入力すると「Valid」と表示されます。これはROAが登録済で、しかもインターネットで観測されている経路情報と一致していることを意味しています。「5より多くのピア先」の観測ですので、インターネットの狭い範囲からではなく、比較的広域のインターネットから到達性があると考えられます。
2001:7fb:ff03::/48(RPKI Validatorの例)を入力すると、ROAに対応した経路情報がないため「Unknown」と表示されます。ROAは登録されていても、実際には経路情報が存在しないケースです。将来的に現れる経路情報を予めROAとして登録されたものである可能性もあるため、静観しておいても問題ありません。
93.175.147.0/25(RPKI Validatorの例)と入力すると「INVALID ASN」と表示されます。これは本来とは異なるネットワークでIPアドレスが使われていることを示しています。この例は、ネットワーク機器を不適切に操作してIPアドレスを勝手に使い、本来のネットワークへの到達性を奪っているようなケースではなく、RPKI Validatorでこの表示が出ることを見込んであえて設けられたアドレスです。
IPアドレスを入力しても、「No matching records found」と表示される場合にはROAが存在していないことを示しています。ROAがないと本来の経路情報が分からないため、インターネットで存在すべき経路情報があるかどうかの判定を行うことができません。
なおWebブラウザのFirefoxには、アクセスしているWebサーバが、ROAとして登録されているIPアドレスの範囲に入っているかを簡単に確認できるAdd-onがあります。
- RPKI Validator :: Add-ons for Firefox
- https://addons.mozilla.org/ja/firefox/addon/rpki-validator/
ROAを登録するためには
ROAを登録するにはどうすればいいでしょうか。JPNICのIPアドレスの申請で使われている電子証明書の発行を受けていて、インストールされている場合は、そのWebブラウザで下記のWebサイトにアクセスするとROAの登録ができます。電子証明書がインストールされていない場合や、入手方法をお知りになりたい場合、またROAの詳細などにつきましては下記までお問い合わせください。
- JPNIC RPKIシステム
- https://rpki.nic.ad.jp/
- お問い合わせ先: JPNIC RPKI担当
- rpki-query@nic.ad.jp
インターネットからサーバへの到達性が失われる要因はいろいろと考えられますが、インターネット上に正しい経路情報がなければ、IPパケットが転送されてくることはありません。この機会に、経路奉行やROAの登録をご検討いただければと思います。
(JPNIC 技術部/インターネット推進部 木村泰司)