|
目次
Barry Greene、Philip Smith共著、『ISP Essentials』
Vijay Gill、John Heasley、David Meyer共著、『RFC 3682 ― The Generalized TTL Security Mechanism (GTSM)』
Vijay Gill著、『Lack of Priority Queuing on Route Processors Considered Harmful』
『Improving Security on Cisco Routers』
P. Ferguson、D. Senie共著、『RFC 2827 ― Network Ingress Filtering:Defeating Denial of Service Attacks which Employ IP Source Address Spoofing』
アプリケーション ノート
Cisco CRS-1のセキュリティ
Cisco®キャリア ルーティング システムおよび、それに搭載された分散型モジュラ式のCisco IOS® XRソフトウェアのマイクロカーネル アーキテクチャを使用すると、アクセス制御、および管理、制御、データの各プレーン間におけるプロセス分離という内蔵セキュリティ制御機能を介して高セキュリティな常時稼働のシステムを実現します。
サービス プロバイダーの収益拡大に対する脅威
サービス プロバイダーにとって、ネットワーク セキュリティはビジネスの存続にもかかわる問題です。ウィルス、侵入、オペレータの誤操作、およびソフトウェアの誤設定によりセキュリティ問題が発生すると、必然的にサービスの中断、財務上の損失、お客様の不満、生産性の低下といった結果を招き、メディアの注目を集めることさえあります。また、それに伴う損益も膨大となります。サービス プロバイダーは収益を守るために、インフラストラクチャを保護し、安全な接続、セキュリティを脅かす問題の阻止、エンドポイント保護を提供できるマネージド サービスを整備する必要があります。
セキュリティへの脅威(Distributed-DoS[分散DoS]攻撃など)がますます増加し、ポリシーが複雑になっていく環境においてハイ アベイラビリティを維持するために、サービス プロバイダーは新たな自己防衛型のネットワークを実現できるルーティングおよびスイッチング ソリューションを模索しています。つまり、内蔵型でハードウェアベースのセキュリティ制御機能を備えたソリューションが必要とされています。新たな常時稼働のシステムがこれらの今までにない高セキュリティ ソリューションを実現するためには以下の項目をサポートする必要があります。
・
サービスの分離、障害の隔離、およびメモリの保護
・
シームレスなソフトウェアとハードウェアの回復
・
コンフィギュレーションと管理の保護
・
障害を予測し、かつ迅速な対処
Ciscoキャリア ルーティング システム
Cisco Carrier Routing System(CRS-1;キャリア ルーティング システム-1)は、モジュラ式の分散型マイクロカーネル オペレーティング システム、Cisco IOS XRを基盤としたマルチシェルフ ルーティング プラットフォームです(図1を参照)。
図1
Cisco IOS XRソフトウェアのアーキテクチャ

Cisco Systems®の開発チームは、長年に渡る、Cisco IOSソフトウェアでのインターネット セキュリティにおける経験を活用して、CRS-1を設計しました。Cisco IOS XRソフトウェアのモジュラ式で、物理的にも論理的にも分散されたアーキテクチャ(図1)を使用すると、アベイラビリティの高い安全なルーティング プラットフォームとネットワークを構築するための数々の利点を享受することができます。個々のソフトウェア コンポーネント(サブシステム)は、専用の保護されたメモリ アドレス スペースで稼働する個別のソフトウェア プロセスとして実装されます。これにより、1つのサブシステム上で障害が発生しても、ほかのサブシステムへの悪影響を防ぐことができるため、実際にセキュリティ問題が発生しても障害を隔離し、ほかの部分から区分できます。
FreeBSD UNIXなどのモノリシックなカーネル アーキテクチャとは異なり、TCPなどのネットワーク スタックはマイクロカーネル外部の個別のプロセスとして稼働します。したがって、TCPスタックに障害が発生した場合でも、システムの稼働は継続されます。サービスを再開する際には、人手を煩わせることなく、関連するプロセスが自動的に再起動されます。さらに、モジュラ式のソフトウェア アーキテクチャとIn-Service Software Upgrade(ISSU;サービス稼働中のソフトウェア アップグレード)機能を使用して、たとえば、システム全体のリロードを実行せずに、パッチをすばやくインストールできます。
Cisco IOS XRソフトウェア内での高度な障害の隔離とセキュリティ制御機能の実装は、3つのプレーンにまたがる論理的なプロセス分散に基づいています。各プレーンは、安全なネットワーク運用を行うための専用のアクセス制御を備えています。
・
制御プレーン
・
データ プレーン
・
管理プレーン
制御プレーンの保護
制御プレーンでは、すべてのルーティング制御情報が交換されるため、制御プレーンおよびそのコンポーネントが攻撃対象になることがあります。制御プレーンの回復力は、CPUの処理性能とスケーラビリティに依存するため、CPUに対して「out-of-resources」攻撃が仕掛けられることも珍しくありません。
スケーラビリティとパフォーマンスをサポートするために、CRS-1制御プレーンの設計では、Symmetric MultiProcessing(SMP;対称型マルチプロセッシング)CPUを使用する分散型の冗長ルート プロセッサが採用されています。正常な動作時には、CRS-1の転送トラフィックは内蔵のライン カードによってワイヤレートで処理されます。ただし、パケットがルータ自身に転送される場合は例外です。これらの「パントされたパケット」には、ルーティング プロトコル、Internet Control Message Protocol(ICMP)、ネットワーク管理パケットが含まれており、ライン カード パケット プロセッサから、ライン カードCPUまたはルート プロセッサCPUのどちらかへ転送されます。
オープンな環境で制御プレーンをDoS攻撃から守るために、ライン カードおよびパケット プロセッサには、複数の階層化されたセキュリティ機能が分散されています。これらの機能には、次のものがあります。
・
Dynamic Control Plane Protection(DCPP;ダイナミック制御プレーン保護)
・
自動制御プレーン輻輳フィルタ
・
制御プレーンTime-to-Live(TTL)サニティ チェック(RFC 3682、Generalized TTL Security Mechanism[GTSM])
・
Border Gateway Protocol(BGP)によるルーティング プロトコルのフィルタリングとRoute Policy Language(RPL)
ダイナミック制御プレーン保護
侵入者がネットワーク トラフィックの迂回や分析を行ってセキュリティを侵害した場合、未許可の、または悪意を持つルーティング アップデートが意図的に作成され、ネットワーク セキュリティが危険にさらされることがあります。スプーフィングを回避する方法としては、Message Digest Algorithm 5(MD5)を使用して近接ルータの認証を実装する手法が一般的です。これにより、ルータが信頼された送信元から信頼できる情報を受信できるようになります。ただし、これは単なる第1ステップにすぎません。偽装されたBGPパケットがルータ方向へばら撒かれ始めると、これらのパケットの進行方向は、受信パスAccess Control List(ACL;アクセス制御リスト)とModular QoS CLI(MQC)レート制限機能によって厳密に制御されます。ただし、ACLとMQCの制御は自動的には実行されません。BGPピアがダウンする、または再起動した場合には、セッションが再確立されるたびに、レイヤ4ポート番号が変わります。そのため、ネットワーク設計者は、設定済みのBGPピアリング セッションは許可し、未設定のセッションは廃棄できる、自動化された動的な手法を探し求めてきました。
この要求に応え、CRS-1では、ライン カード パケット処理用にDCPP方式が搭載されています。DCPPを使用すると、明示的に設定されたBGPピアリング セッションには自動的に十分なリソースが割り当てられる一方、未設定のセッションは拒否されるか最低限の処理だけが実行されます。この許可/拒否モデルは、静的に設定されたIPアドレスと動的なレイヤ4ポート番号の関連付けに基づいています。アドミッション制御を最大限活用できる認証と確立が実現される以前は、初期接続に関するさまざまなリソース ポリシーが存在していました。制御プレーン パケットは、内部検索テーブルによって許可され、十分なリソースが割り当てられるまで、複数階層からなる事前スクリーニング方式の各階層を経由する必要がありました。このプロセスの自動化が実現されたことにより、ネットワーク管理者は手動設定に費やしていた時間をそのほかのミッションクリティカルなタスクに使用することができるようになります。
自動制御プレーン輻輳フィルタ
ライン カードの負荷がCRS-1スロットのキャパシティを超えてしまうほど極度なDoSまたはDDoS攻撃を受けると、制御メカニズムは、ライン カードのキャパシティを上回るハードウェアApplication-Specific Integrated Circuit(ASIC;特定用途向けIC)レートで稼働し、パケットをレイヤ3 Modular Services Card(MSC)上のSilicon Packet Processor(SPP;シリコン パケット プロセッサ)へ転送し、制御プレーンのパケット処理が優先されるように保証します。この機能によりトポロジーが維持されている間に、ネットワーク管理者はそのほかのセキュリティ ツールを使用して問題を解決するための移行方式をインストールできます。
制御プレーンTTLサニティ チェック(RFC 3682、GTSM)
制御プロトコルのピアリング セッションの大半は、隣接ルータまたは直接接続されたルータとの間で確立されます。GTSM(以前は、BGP TTL Security Hack[BTSH]と呼ばれた)が開発されるまでは、方向性を持たないピアリング ポイントからルータへ向けて転送されたBGPパケットは、ルータCPUによって処理する必要がありました。これらのパケットが大量に生成されると、事実上、大規模なDDoS攻撃を受けた場合と同様にCPUリソースが使い果たされてしまいました。今では、GTSMを使用し、BGPピアリング パケットのTTLをチェックすることで、方向性を持たないすべてのBGPスプーフィングをMSC SPP内で効果的に阻止できます。
これらの技術は、汎用的なGTSMの機能を利用できるLabel Distribution Protocol(LDP)やResource Reservation Protocol(RSVP)などのそのほかの多数のアプリケーションにも適用されることがあります。CRS-1内のMSCアーキテクチャは完全にプログラム可能なため、そのほかのアプリケーション プロトコルに対応するGTSMサポートも簡単にMSCに追加できます。
BGPルーティング プロトコル フィルタリングとRPL
BGPは、インターネットのもっとも基本的なルーティング プロトコルの1つです。残念ながら、適切なプレフィクス フィルタリングが実装されていない状態でBGPが攻撃を受けると、トラフィック「ガベージ」(不要データ)がインターネット全体にフラッディングされてしまうことがあります。そのため、プレフィクス フィルタリングの使用が、長年の間、サービス プロバイダーのベスト プラクティスの1つとなってきました。詳細については、http://www.ispbook.comを参照してください。
しかし、ルーティング ポリシーがますます複雑になり、各ピアリング ルータが通信する必要のあるピアの数が増えるにつれ、問題なくプレフィクス フィルタリングを実装するのが困難になってきました。これに対処するため、シスコはRPLを採用し、Cisco IOS XRソフトウェアに統合しました。大規模なルーティング コンフィギュレーションをサポートしようとする取り組みの中で開発されたRPLには、従来のルートマップやACL/プレフィクスリスト指向のコンフィギュレーションで見られる機能に拡張を加えたいくつかの基本機能があります。
第1の拡張機能として、共通のポリシー ブロックを定義し、独立して管理できるようにするモジュラ方式のポリシー作成機能があります。これらの共通のブロックは、完全なポリシーを作成するためにほかのポリシー ブロックに適用することが可能であり、このため管理する設定情報の量を削減できます。さらに、これらの共通のポリシー ブロックにはパラメータを設定できます。これにより、同じ構造を共有し設定または比較する特定の値が異なるポリシーを作成し、独立したポリシー ブロックとして維持できます。たとえば、ローカル プリファレンス値以外は同一の3つのポリシーを、ポリシーのパラメータに応じてローカル プリファレンス値のみが異なる単一の共通ポリシーとして表すことができます。
また、RPLではセットのコンセプトも導入されています。セットとは、ルート属性の比較操作や設定操作で使用できる類似データのコンテナです。プレフィクスセット、コミュニティセット、ASパスセット、拡張コミュニティセットなど、対応するグループを保持するさまざまなセット タイプがあります。これらのセットは、従来のCisco IOSソフトウェア設定で使用されているプレフィクスリスト、コミュニティリスト、ASパスリスト、拡張コミュニティリストに非常に似ていますが、1点だけ重要な例外があります。それは、対応するCisco IOSソフトウェアには存在する「受け入れ」と「拒否」のコンセプトがセットには含まれていない点です。セットは、単なるデータのコンテナにすぎません。また、大半のセットには、完全にインラインで指定された少数のデータ値のみを比較することができるインライン版があります。したがって、少数のデータ値を比較するために、わざわざ数個の値しか含まない特定の名前付きセットを参照する必要はありません。
ルートを受け入れるか廃棄するかといった意思決定は、ポリシー定義によって明示的に制御されます。RPLを使用すると、ユーザは比較演算子(セットのデータを使用することもある)と従来のブーリアン論理演算子(「and」、「or」、「not」)を組み合わせ、複雑な条件式を作成できます。比較操作はすべて、結果として真(true)または偽(false)のどちらかを返します。また、ユーザが指定した単純な「if-then, else-if, else」構造を使用して、これらの条件式と関連するアクションの実行を制御できます。つまり、完全にユーザ設定可能なポリシーを使用して評価することができます。
RPLの導入によって、ピアリング ポリシーは現在のルートマップベースのピアリング ステートメントに比べ、さらにモジュラ化され、より効率的になると期待されています。RPLにより、CRS-1が実現する単一のマルチシェルフ ルーティング システムから、数千のピア間でピアリングを作成するために必要な今までにない高スケーラビリティの提供が可能になります。
データ プレーンの保護
データ プレーンは、ネットワーク エレメント間でネットワーク データを受信し、処理を行い、送信します。これらは、ルータへ転送され、また、通過するネットワーク トラフィックの大部分に相当します。CRS-1転送エンジンには、CRS-1データ プレーンのトラフィックを既知の攻撃から保護するために多数のサニティ チェック(これらはインターネット コミュニティについて収集された豊富な知識に基づいて決定された内容)がデフォルトで組み込まれています。さらに、CRS-1では、ACL、Unicast Reverse Path Forwarding(uRPF)、MSC上で専用の入出力処理が実行されるNetFlowアカウンティングなどの機能とツールが提供されています。
・
ACL ― ACLは、IPv4およびIPv6の両方で、多数のルータ データ プレーン アプリケーション(パケット分類、レート制限、統計情報とアカウンティング、パケットのpermit/deny演算子など)の重要なエレメントとなっています。
Cisco CRS-1は、ネットワーク負荷が高い状態でもライン レートでACLを処理できるように、もっとも厳しい条件を想定したパフォーマンスとスケーラビリティの要件を満たせるよう設計されています。たとえば、200万のルートと500のBGPピアがある場合、CRS-1はパフォーマンスを劣化させることなく数千のACLとそれらのエントリを処理できます。
・
uRPF ― 検証可能なIP送信元アドレスが欠落しているIPパケットを廃棄すると、不正な形式または偽装されたIP送信元アドレスがネットワークに流入することがあります。Cisco CRS-1は、これによって引き起こされる問題を軽減するために、uRPF(ストリクト モードとルーズ モード)をサポートしています。uRPFストリクト モードがインターフェイス上で有効な場合、すべての受信パケットを調べ、送信元アドレスとインターフェイスがルーティング テーブルに登録されており、パケットを受信したインターフェイスが合致することを確認します。
uRPFルーズ モードは、サービス プロバイダーのコミュニティで広く使用されているトリガード ブラック ホール フィルタリング技術の基礎となっています。ルーズ モードでは、uRPFが、送信元IPアドレスに基づいてDoSおよびDDoS攻撃のパケットを効果的に廃棄し、非常に短時間で数千のルータへその方式を伝えます。
・
NetFlow ― アカウンティングは、トラフィック エンジニアリング、ネットワーク管理、課金といった分野でのネットワーク管理に必要不可欠な部分です。本来アカウンティング アプリケーションであるNetFlowは、個々のパケット ヘッダーの内部を調べ、パケットをトラフィック クラスに集約し、各トラフィック クラスの統計情報と詳細なルーティング情報を収集するメカニズムを備えています。Cisco IOS XRソフトウェア内に実装されたNetFlowの統計情報は、貴重なデータベースを構成します。このデータベースは、トラフィック エンジニアリングとセキュリティ分析に使用でき、微細なレベルのネットワーク トラフィックであっても、その動作をキャプチャできます。
・
スタティックNetFlowとパケット スニフィング ― Cisco IOS XRソフトウェアは、NetFlowを上回る機能を提供するスタティックNetFlowもサポートしています。NetFlowが動的であるのに対し、スタティックNetFlowはACLがデータ パケットを処理するのと同じ方法でパケット フローを処理します。ただし、処理する際には、宛先または宛先自律システム番号、Multiprotocol Label Switching(MPLS)ラベルなどの拡張フィールドを使用します。スタティックNetFlowでは、拡張ACLを使用してフロー フィルタを定義し、特定のフローのパケット カウンタまたはバイト カウンタを追跡できます。大量のNetFlowデータを拡張ACLに関連付けることができるため、オペレータは目的とするフローを正確に取り出し、それを対象にして、DoSとDDoS攻撃を防御するための効果的なツールを作成できます。
Cisco IOS XRスタティックNetFlowから派生した帯域内パケット スニフィングは、ACL同様のフィルタリングなど、スタティックNetFlowと同じ機能を使用しますが、サンプルを収集して設定済みの宛先へそれらを転送することができます。
管理プレーンの保護
管理プレーンは、ルーティング プラットフォームのシステム管理に関連するすべてのトラフィックの論理パスです。分散されたモジュラ式の環境では、管理プレーンの存在により別の新たなレベルの複雑さが生じるため、安全なアクセスを維持するための要件が高くなります。このような安全なアクセスを最適に実現するには、次の機能を使用します。
・
デフォルトのアクセス拒否 ― システムに共通する周知の脆弱性として、いくつかのプロトコルがデフォルトでイネーブルになっている点があります。これらのオープン ポートは、システムへの侵入を招くセキュリティ上の抜け穴を生み出します。サービス プロバイダーの要求に応え、オペレータが手動でイネーブルにするまでこれらのサービスをオフにしておくデフォルト設定がCRS-1計測機能に搭載されています。
・
Authentication, Authorization, Accounting(AAA;認証、許可、アカウンティング)と暗号化プロトコル ― ルータを経由するすべてのアクセスを暗号化し、アクセスを制御する必要があります。Cisco CRS-1は、AAA認証および、暗号化プロトコルとしてSSH、SSL、IPSec、SNMPv3をサポートしています。ACLを使用して制御をさらに追加し、アクセスを特定の送信元ホストだけに制限できます。各ユーザは、ユーザのアクセス権限に応じて、AAAドメイン内で明確に定義できます。
・
管理ポートの隔離 ― コア ルータとコア スイッチには、通常専用の管理イーサネット ポートが組み込まれており、これが時に装置への不正な浸入を招くことがあります。Cisco CRS-1イーサネット管理ポートはルータブルであるため、AAAアクセス制御と暗号化を使用して制御することで、データ プレーンと制御プレーンのトラフィックは互いに「飛び越えて(ホッピング)」行き来できないように隔離します。ACLを使用してホッピングを阻止することもできます。特にマルチシェルフ ルータ管理用に設計された付加価値GUIツールであるCisco Craft Works Interface(CWI)を使用すれば、数回のクリックだけで、複数のポートにまたがり効率的にACLを実装できます。
・
役割ベースの権限モデル ― 未許可の、または未熟なネットワーク オペレータもシステム アベイラビリティに脅威をもたらすことがあるため、サービス プロバイダーには、ユーザが定義した条件に基づいてオペレータ権限を割り当てる柔軟な方法が必要です。
Cisco IOS XRソフトウェアでは、使いやすい柔軟な方法で役割に応じた権限モデルを設定することができます。特定のオペレータやチームに適切なアクセス レベルを割り当てることができ、各種の操作をタスクとして認識します。たとえば、BGPの設定は1つのタスクであり、Open Shortest Path First(OSPF)の設定は別の1つのタスクです。システムのリロードも個別のタスクとなります。各タスクには、タスクIDと呼ばれる識別番号が一意に割り当てられ、読み取り権限または書き込み権限が定義されます。ユーザは、タスク グループに関連付けて、適切なアクセス権を継承させることもできます。セキュリティを設けるために、タスクIDはAAAサーバと連携して動作し、ルータへのアクセスを最大限中央で集中して制御します。
まとめ
DoS攻撃とDDoS攻撃は、今日のインターネットに現存し、サービス プロバイダーの収益を脅かすもっとも深刻な脅威の1つです。サービス プロバイダーの利益を守るために、高度なセキュリティ制御機能に加え、実績のあるシステム、およびネットワーク全体に関するベストプラクティス アプローチを駆使して、次世代ルーティング システムに基づいた自己防衛型ネットワークを構築する必要があります。
Cisco CRS-1の分散型モジュラ アーキテクチャを使用することで、メモリ保護、論理ルータ内でのサービスの分離、および管理、制御、データの各プレーン間でのプロセスの隔離を通じて、安全性の高い常時稼働のシステム運用が可能になります。
CRS-1に内蔵される高度な機能、および推奨されるベスト プラクティスのほかにも、お客様のシスコ製品に関するセキュリティ問題を迅速に解決し、製品の弱点を克服するために、24時間体制で対応する専門家のチームとして、Cisco Product Security Incident Response Team(PSIRT)のご利用も可能です。ネットワーキング分野の市場リーダーの専門知識を活用した先見的かつ迅速な対応により、シスコのお客様に数々の利点を提供します。
Cisco CRS-1セキュリティ機能の詳細については、シスコのお客様担当窓口に問い合わせるか、
http://www.cisco.comを参照してください。Cisco PSIRTの最新情報と現時点での推奨事項については、
http://www.cisco.com/go/psirtを参照してください。
参考文献
『CRS-1 System Overview』
Barry Greene、Philip Smith共著、『ISP Essentials』
Vijay Gill、John Heasley、David Meyer共著、『RFC 3682 ― The Generalized TTL Security Mechanism (GTSM)』
http://www.ietf.org/rfc/rfc3682.txt
Vijay Gill著、『Lack of Priority Queuing on Route Processors Considered Harmful』
http://www.nanog.org/mtg-0302/gill.html
『Improving Security on Cisco Routers』
http://www.cisco.com/warp/public/707/21.html
P. Ferguson、D. Senie共著、『RFC 2827 ― Network Ingress Filtering:Defeating Denial of Service Attacks which Employ IP Source Address Spoofing』
http://www.ietf.org/rfc/rfc2827.txt