ブロードバンド ケーブル : ケーブル セキュリティ

cable source-verify と IP アドレス セキュリティ

2003 年 3 月 3 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 11 月 1 日) | フィードバック

目次

概要
はじめに
     表記法
     前提条件
     使用するコンポーネント
保護されていない DOCSIS 環境
CMTS CPE データベース
cable source-verify コマンド
     例 1 - IP アドレスが重複している場合
     例 2 - IP アドレスが重複している場合 - 未使用の IP アドレスの使用
     例 3 - サービス プロバイダーが提供していないネットワーク番号の使用
cable source-verify の設定方法
     リレー エージェント
まとめ
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

シスコでは、Cisco Cable Modem Termination System(CMTS; ケーブル モデム終端システム)製品に、IP アドレスのスプーフィングに基づくある種のサービス拒絶攻撃と、Data-over-Cable Service Interface Specifications(DOCSIS)ケーブル システムでの IP アドレスの盗用を阻止する改良を実装しています。この文書では、IP アドレス セキュリティに関するこれらの拡張の一部である cable source-verify コマンド群について説明します。

はじめに

表記法

文書表記の詳細については、「シスコ テクニカル ティップスの表記法」を参照してください。

前提条件

この文書には前提条件は特にありません。

使用するコンポーネント

この文書は、特定のソフトウェアとハードウェアのバージョンに限定されません。

保護されていない DOCSIS 環境

DOCSIS Media Access Control(MAC; メディア アクセス制御)ドメインは、本質的にイーサネット セグメントに似ています。保護せずに放置しておくと、セグメント内のユーザはレイヤ 2 およびレイヤ 3 アドレッシング ベースの各種サービス拒絶攻撃に対して無防備になります。また、他のユーザの機器でのアドレス設定の不良が原因で、サービス レベルが低下するおそれもあります。具体的には、次のような設定不良が考えられます。

  • 異なるノードでの重複した IP アドレスの設定

  • 異なるノードでの重複した MAC アドレスの設定

  • Dynamic Host Configuration Protocol(DHCP; ダイナミック ホスト コンフィギュレーション プロトコル)によって割り当てられた IP アドレスではなく、スタティックな IP アドレスの不正使用

  • 同一セグメント内での異なるネットワーク番号の不正使用

  • 適切に設定されていないエンド ノードがセグメントの IP サブネット部分を代表して ARP 要求に応答する

この種の問題は、イーサネット LAN 環境では問題の機器を物理的に突き止めて取りはずすことにより、容易に解決できますが、DOCSIS ネットワークではネットワークのサイズが潜在的に大きいため、問題を切り離したり、解決、防止したりすることが難しい場合があります。また、Customer Premise Equipment(CPE; 顧客宅内機器)を操作および設定しているエンド ユーザがローカルの IS サポート チームのサポートを受けられず、自分のワークステーションおよび PC が、故意にせよ過失にせよ、正しく設定されていないことを確認できない場合もあります。

CMTS CPE データベース

シスコの CMTS 製品群は、接続された CPE の IP アドレスと MAC アドレスが動的に入力された内部データベースを保持しています。CPE データベースにも、これらの CPE デバイスが属するケーブル モデムの詳細情報が格納されています。

CMTS の隠しコマンド show interface cable X/Y modem Z を実行すると、特定のケーブル モデムに対応する CPE データベースの一部を表示できます。ここで、X はラインカード番号、Y はダウンストリーム ポート番号、Z はケーブル モデムの Service Identifier(SID; サービス識別子)です。Z を 0 に設定すると、特定のダウンストリーム インターフェイス上にあるすべてのケーブル モデムと CPE についての詳細情報が表示されます。このコマンドによって生成される典型的な出力例を次に示します。

CMTS# show interface cable 3/0 modem 0
 SID   Priv bits  Type      State     IP address    method    MAC address
 1     00         host      unknown   192.168.1.77  static    000C.422c.54d0
 1     00         modem     up        10.1.1.30     dhcp      0001.9659.4447
 2     00         host      unknown   192.168.1.90  dhcp      00a1.52c9.75ad
 2     00         modem     up        10.1.1.44     dhcp      0090.9607.3831

注:このコマンドは隠しコマンドであるため、変更される可能性があります。また、Cisco IOS(R) ソフトウェアのすべてのリリースで使用できることが保証されているわけではありません。

上記の例では、IP アドレス 192.168.1.90 のホストの method カラムが dhcp となっています。これは、CMTS がホストとサービス プロバイダーの DHCP サーバとの間の DHCP トランザクションを監視することで、このホストについて学習したことを意味します。

IP アドレス 192.168.1.77 のホストの method カラムは static となっています。これは、CMTS が最初にこのデバイスと DHCP サーバとの間の DHCP トランザクションによってこのホストを学習しなかったことを意味します。その代わりに CMTS は、このホストから他の種類の IP トラフィックを観測しました。このトラフィックには、Web ブラウジング、電子メール、「ping」パケットなどが該当します。

192.168.1.77 にはスタティック IP アドレスが設定されているように見えますが、このホストは実際には DHCP リースを取得している可能性があります。CMTS がそのイベントの後でリブートされた場合は、そのトランザクションを記憶していません。

CPE データベースは通常、CPE デバイスとサービス プロバイダーの DHCP サーバとの間の DHCP トランザクションから情報を取得している CMTS によって入力されます。また、CMTS は CPE デバイスから到達したその他の IP トラフィックを受信し、どの CPE の IP アドレスと MAC アドレスがどのケーブル モデムに属しているかを判断することができます。

cable source-verify コマンド

シスコはケーブル インターフェイス コマンド cable source-verify [dhcp] を実装しました。このコマンドを使用すると、CMTS が CPE データベースを利用して、CMTS のケーブル インターフェイスで受信された IP パケットの有効性を確認できるようになるため、そのパケットを転送するかどうかについてインテリジェントな決定を下すことができます。

次のフローチャートは、ケーブル インターフェイスで受信された IP パケットが CMTS で処理される前に必ず通過する追加のプロセスを示しています。

source_verify1.gif

フローチャート 1

フローチャートは CMTS のアップストリーム ポートでパケットが受信されたところから始まり、そのパケットが後続の処理を許可されるか、または廃棄されるかで終ります。

例 1 - IP アドレスが重複している場合

最初に取り上げるサービス拒絶のシナリオは、重複した IP アドレスが関係している場合です。お客様 A がサービス プロバイダーに接続し、PC にとって有効な DHCP リースを取得しました。お客様 A が取得した IP アドレスを X とします。

A が DHCP リースを取得した後、お客様 B が偶然、お客様 A の機器が現在使用している IP アドレスと同じアドレスをスタティック IP アドレスとして自分の PC に設定しました。IP アドレス X に関する CPE データベースの情報は、最後にどの CPE デバイスが X の ARP 要求を送信したかによって変わります。

保護されていない DOCSIS ネットワークでは、お客様 B がネクストホップ ルータ(ほとんどの場合 CMTS)に X の ARP 要求を送信するだけで、CMTS またはネクストホップ ルータはお客様 B が IP アドレス X を使用する権利を持つと見なす可能性があります。こうなると、サービス プロバイダーからのトラフィックはお客様 A には転送されません。

cable source-verify を有効にすると、IP アドレス X の IP パケットと ARP パケットが誤ったケーブル モデムから発信されていることを CMTS が確認できるため、これらのパケットは廃棄されます。フローチャート 2 を参照してください。これには、X を送信元アドレスとするすべての IP パケットと X の ARP 要求が含まれます。CMTS のログには次のようなメッセージが表示されます。

%UBR7200-3-BADIPSOURCE:Interface Cable3/0, IP packet from invalid source.IP=192.168.1.10, MAC=0001.422c.54d0, Expected SID=10, Actual SID=11

source_verify2.gif

フローチャート 2

この情報を使用して両方のクライアントを識別し、重複した IP アドレスが接続されたケーブル モデムを無効にできます。

例 2 - IP アドレスが重複している場合 - 未使用の IP アドレスの使用

もう 1 つのシナリオとして、ユーザが CPE アドレスの正規の範囲内にある未使用の IP アドレスを、自分の PC にスタティックに割り当てた場合が考えられます。このシナリオでは、ネットワーク内のどのユーザにもサービスの中断は起こりません。お客様 B が自分の PC にアドレス Y を割り当てたとします。

次に起こりうる問題は、お客様 C がワークステーションをサービス プロバイダーのネットワークに接続し、IP アドレス Y の DHCP リースを取得することです。CPE データベースは一時的に、IP アドレス Y をお客様 C のケーブル モデムの背後にあるものとしてマークします。しかし、お客様 B(非正規ユーザ)が一連の適切な ARP トラフィックを送信し、ネクストホップによってお客様 B が IP アドレス Y の正規の所有者であると見なされるまで、それほど時間はかかりません。こうなると、お客様 C のサービスが中断します。

この 2 番目の問題も、cable source-verify をオンにすることで解決できます。cable source-verify をオンにすると、DHCP トランザクションから詳細情報を取得して生成された CPE データベースのエントリは、他の種類の IP トラフィックによって置き換えられなくなります。エントリが置き換えられるのは、その IP アドレスについて別の DHCP トランザクションが起こった場合と、CMTS 上のその IP アドレスの ARP エントリがタイムアウトした場合のみです。そのためエンド ユーザは、特定の IP アドレスの DHCP リースを正常に取得していれば、CMTS が混乱してその IP アドレスが別のユーザのものであると見なすような事態を心配する必要はありません。

ユーザが未使用の IP アドレスを使用できないようにするという最初の問題を解決するには、cable source-verify dhcp を使用します。このコマンドの最後に dhcp パラメータを追加すると、CMTS は LEASEQUERY という特別な DHCP メッセージを DHCP サーバに発行することにより、新たに受信した送信元 IP アドレスの有効性をチェックできます。フローチャート 3 を参照してください。

source_verify3.gif

フローチャート 3

LEASEQUERY メッセージは、特定の CPE IP アドレスについて、対応する MAC アドレスとケーブル モデムを問い合せます。詳細については、DHCPLEASEQUERY メッセージを参照してください。

この例では、お客様 B がスタティック アドレス Y を使用してワークステーションをケーブル ネットワークに接続しようとしたときに、CMTS は DHCP サーバに LEASEQUERY を送信して、アドレス Y がお客様 B の PC にリースされているかどうかを確認します。DHCP サーバは IP アドレス Y のリースが付与されていないことを CMTS に通知するため、お客様 B のアクセスは拒否されます。

例 3 - サービス プロバイダーが提供していないネットワーク番号の使用

ユーザがサービス プロバイダーの現在のネットワーク番号と競合しないスタティック IP アドレスを、ケーブル モデムの背後にあるワークステーションに設定している場合がありますが、これは将来的に問題を引き起こす可能性があります。そのため、CMTS で cable source-verify を使用して、CMTS のケーブル インターフェイスに設定した範囲に含まれない送信元 IP アドレスから到達したパケットを除去できます。

お客様がルータを CPE デバイスとして使用していて、トラフィックをこのルータにルーティングするよう依頼している場合があります。CMTS が CPE ルータから Z を送信元 IP アドレスとする IP トラフィックを受信した場合、cable source-verify は、その CPE デバイス経由で所属しているネットワーク Z へのルートが CMTS 上に存在すれば、そのパケットを通過させます。フローチャート 3 を参照してください。

ここで、次の例について考えます。

CMTS は次のように設定されています。

interface cable 3/0
  ip address 10.1.1.1 255.255.255.0
  ip address 24.1.1.1 255.255.255.0 secondary
  cable source-verify
 !
 ip route 24.2.2.0 255.255.255.0 24.1.1.2
 
 注: この設定は、この例に関連する部分のみを示しています。
 

172.16.1.10 を送信元 IP アドレスとするパケットが ケーブル モデム 24.2.2.10 から CMTS に到達したと仮定します。CMTS の CPE データベースには 24.2.2.10 は存在しません(show int cable x/y modem 0)。しかし cable source-verify により、24.2.2.10 のネクストホップが確認されます。上記の設定に含まれる ip route 24.2.2.0 255.255.255.0 24.1.1.2 は、ネクストホップが 24.1.1.2 であることを意味します。ここで 24.1.1.2 が CPE データベースの有効なエントリであれば、CMTS はそのパケットを問題なしと見なし、フローチャート 4 に従ってパケットを処理します。

source_verify4.gif

フローチャート 4

cable source-verify の設定方法

cable source-verify を設定するには、この機能を有効にしたいケーブル インターフェイスに cable source-verify コマンドを追加します。ケーブル インターフェイスのバンドルを使用している場合は、マスター インターフェイスの設定に cable source-verify を追加する必要があります。

cable source-verify dhcp の設定方法

注:cable source-verify は Cisco IOS ソフトウェア リリース 12.0(7)T で初めて導入され、Cisco IOS ソフトウェア リリース 12.0SC、12.1EC、および 12.1T でサポートされています。

cable source-verify dhcp の設定にはいくつかの手順が必要です。

DHCP サーバが特別な DHCP LEASEQUERY メッセージをサポートしていることを確認します。

cable source-verify dhcp 機能を利用するためには、draft-ietf-dhcp-leasequery-XX.txt で示されているように、DHCP サーバが LEASEQUERY メッセージに応答する必要があります。Cisco Network Registrar は、バージョン 3.5 以降でこのメッセージへの応答に対応しています。

DHCP サーバがリレー エージェント情報オプション処理をサポートしていることを確認します。下記の説明を参照してください。

DHCP サーバがサポートしていなければならないもう 1 つの機能は DHCP リレー情報オプション処理です。これは「Option 82 処理」とも呼ばれます。このオプションについては、DHCP Relay Information Option(RFC 3046)に説明があります。Cisco Network Registrar バージョン 3.5 以降はリレー エージェント情報オプション処理をサポートしていますが、Cisco Network Registrar のコマンドライン ユーティリティ nrcmd で次の一連のコマンドを入力してアクティブにする必要があります。

nrcmd -U admin -P changeme -C 127.0.0.1 dhcp enable save-relay-agent-data

nrcmd -U admin -P changeme -C 127.0.0.1 save

nrcmd -U admin -P changeme -C 127.0.0.1 dhcp reload

上記のコマンドはデフォルト値を示しています。ユーザ名、パスワード、およびサーバの IP アドレスは適切なものに置き換えてください。また、nrcmd のプロンプト(>nrcmd)で次のように入力する方法もあります。

dhcp enable save-relay-agent-data

save

dhcp reload

CMTS で DHCP リレー情報オプション処理をオンにします。

リレー エージェント

cable source-verify dhcp を有効にするためには、CMTS がケーブル モデムおよび CPE からの DHCP 要求にリレー エージェント情報オプションをタグ付けする必要があります。Cisco IOS ソフトウェア リリース 12.1EC、12.1T、またはそれ以降のバージョンの Cisco IOS を実行している CMTS では、グローバル設定モードで次のコマンドを入力します。

ip dhcp relay information option

Cisco IOS ソフトウェア リリース 12.0SC 群を実行している CMTS では、上記のコマンドの代わりに cable relay-agent-option ケーブル インターフェイス コマンドを使用します。

使用している Cisco IOS のバージョンに応じて適切なコマンドを使用してください。Cisco IOS のリリース群を変更する場合は、必ず設定を更新してください。

relay information option コマンドは、CMTS が DHCP パケットを中継するときに、Option 82 と呼ばれる特別なオプション(リレー情報オプション)を、中継する DHCP パケットに追加します。

Option 82 には Agent Circuit-ID というサブオプションが含まれています。これは、DHCP 要求を受信した CMTS の物理インターフェイスを参照します。この他に、Agent Remote ID という別のサブオプションも含まれます。これは、DHCP 要求の発信元のケーブル モデム、または DHCP 要求を通過させたケーブル モデムの 6 バイトの MAC アドレスを示します。

たとえば、MAC アドレス aa:bb:cc:dd:ee:ff のケーブル モデムの背後にある、MAC アドレス 99:88:77:66:55:44 の PC が DHCP 要求を送信した場合、CMTS は Option 82 の Agent Remote ID サブオプションをケーブル モデムの MAC アドレス aa:bb:cc:dd:ee:ff に設定してから DHCP 要求を転送します。

CPE デバイスからの DHCP 要求にリレー情報オプションを含めることで、DHCP サーバは、どの CPE がどのケーブル モデムの背後にあるかについての情報を保存できます。これは、CMTS で cable source-verify dhcp が設定されている場合に特に役立ちます。というのは、特定のクライアントがどの MAC アドレスを持っているかだけでなく、どのケーブル モデムに接続するかについても、DHCP サーバから CMTS に確実に通知できるためです。

適切なケーブル インターフェイスのもとで cable source-verify dhcp コマンドを有効にします。

最後に、この機能を有効にしたいケーブル インターフェイスのもとで cable source-verify dhcp コマンドを入力します。CMTS がケーブル インターフェイスのバンドルを使用している場合は、バンドルのマスター インターフェイスのもとでコマンドを入力する必要があります。

まとめ

サービス プロバイダーは cable source-verify コマンド群を使用することで、不正な IP アドレスを使用するユーザからケーブル ネットワークを保護できます。

cable source-verify コマンドはそれだけで、IP アドレス セキュリティを実装するための効果的かつ容易な手段となります。すべてのシナリオに対応できるわけではありませんが、少なくとも、割り当てられた IP アドレスを使用する権利を持つお客様を確認し、それらの IP アドレスの使用を他のユーザに許可することで中断を招くような事態を防ぐことができます。

この文書で説明した最も単純な形態では、DHCP を通じて設定されていない CPE デバイスはネットワークにアクセスできません。これは、IP アドレス スペースを保護し、Data over Cable サービスの安定性と信頼性を向上させる最もよい方法です。しかし、スタティック アドレスが必要な商用サービスを提供している Multiple Service Operator(MSO)は、コマンド cable source-verify dhcp による厳重なセキュリティを実装する必要がありました。

Cisco Network Registrar バージョン 5.5 には、IP アドレスが DHCP を通じて取得されていない場合でも、「予約された」アドレスについてのリース問い合せに応答する新しい機能が追加されています。DHCP サーバは DHCPLEASEQUERY に対してリース予約データを含めて応答します。Network Registrar の前のバージョンでは、DHCPLEASEQUERY の応答は、MAC アドレスが保存されているリース済みクライアント、または以前にリースしたクライアントについてのみ可能でした。Cisco uBR リレー エージェントは、たとえば、MAC アドレスとリース時間を持たない DHCPLEASEQUERY データグラムを廃棄します(dhcp-lease-time オプション)。

Network Registrar は、予約されたリースについて、DHCPLEASEQUERY 応答で 1 年(31536000 秒)のデフォルト リース時間を返します。アドレスが実際にリースされている場合は残りのリース時間を返します。詳細な機能については、「DHCP スコープとリースの設定」の「リースの問い合せ」の項を参照してください。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 20691