(58)【調査した分野】(Int.Cl.,DB名)
1つ以上のマイクロプロセッサで動作するミドルウェアマシン環境におけるスイッチベースのサブネットマネジメントパケット(SMP)のトラフィック保護を提供するための方法であって、
ネットワークスイッチを介して、サブネットマネジメントエージェント(SMA)に宛てられた1つ以上のSMPを受信することと、
前記ネットワークスイッチを介して、前記1つ以上のSMPが正確なマネジメントキーを含むかどうかをチェックすることと、
前記ネットワークスイッチを介して、前記1つ以上のSMPが前記正確なマネジメントキーを含まない場合に、前記1つ以上のSMPが前記宛てられたSMAに転送されることを防止することとを含む、方法。
サブネットマネージャが、前記ネットワークスイッチの固有のスイッチポートを介してサブネットマネジメントエージェント(SMA)と通信するために、1つ以上のSMPを用いるのを可能にすることをさらに含む、請求項1〜3のいずれか1項に記載の方法。
【発明を実施するための形態】
【0008】
詳細な説明:
本明細書では、ミドルウェアマシンまたは同様のプラットフォームを提供するためのシステムおよび方法について説明する。本発明の一実施の形態に従うと、本システムは、たとえば64ビットプロセッサ技術、高性能大型メモリ、ならびに冗長インフィニバンドおよびイーサネット(登録商標)ネットワーキングといった高性能ハードウェアと、ウェブロジックスイート(WebLogic Suite)といったアプリケーションサーバまたはミドルウェア環境との組合せを備えることにより、完全なJava(登録商標) EEアプリケーションサーバ複合体を提供する。この複合体は、大規模並列処理インメモリグリッド(massively parallel in-memory grid)を含み、素早くプロビジョニングすることができ、要求に応じて拡大縮小できる。一実施の形態に従うと、本システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンド(IB)ネットワークを提供する、フルの、2分の1の、もしくは4分の1のラックまたはその他の構成として準備できる。ミドルウェアマシンソフトウェアは、アプリケーションサーバの、ミドルウェアの、または、たとえばウェブロジック(WebLogic)サーバ、ジェイロキット(JRockit)もしくはホストポット(Hostpot)JVM、オラクルリナックス(Linux)(登録商標)もしくはソラリス(Solaris)、およびオラクルVMといった他の機能の実行を提供できる。一実施の形態に従うと、本システムは、IBネットワークを介して互いに通信する、複数のコンピュータノード、IBスイッチゲートウェイ、およびストレージノードまたはユニットを含んでもよい。ラック構成として実装された場合には、その未使用部分は、空のままであってもよく、または、フィラー(filler)によって占められてもよい。
【0009】
本願明細書において「サンオラクルエクサロジック(Sun Oracle Exalogic」または「エクサロジック(Exalogic)」と称される本発明の一実施の形態に従うと、本システムは、オラクルミドルウェアSWスイート(Oracle Middleware SW suite)またはウェブロジック(Weblogic)といったミドルウェアまたはアプリケーションサーバソフトウェアをホスティングするための、展開が容易なソリューションである。本明細書に記載されるように、一実施の形態に従うと、本システムは、1つ以上のサーバと、ストレージユニットと、ストレージネットワーキングのためのIBファブリックと、ミドルウェアアプリケーションをホストするために要求されるすべての他のコンポーネントとを備える「グリッド・イン・ア・ボックス(grid in a box)」である。たとえば、リアルアプリケーションクラスタ(Real Application Clusters)およびエクサロジックオープンストレージ(Exalogic open storage)を用いて大規模並列グリッドアーキテクチャを活用することにより、すべてのタイプのミドルウェアアプリケーションのために有意な性能が与えられ得る。本システムは、リニアI/Oスケーラビリティ(linerar I/O scalability)とともに向上した性能を与え、使用および管理が簡易であり、重要な役割を担う(mission-critical)可用性および信頼性を与える。
【0010】
M_キーの保護モデル
図1は、本発明の一実施の形態に従うミドルウェアマシンのプラットフォームにおけるマネジメントキーの保護モデルのサポートを示す図である。
図1に示されるように、M_キー102のようなマネジメントキーは、IBファブリック(またはIBサブネット)100を保護するために用いられ得る。M_キー102の値は、ファブリックアドミニストレイタ110しか知らないことがあり、ファブリックアドミニストレイタ110は、IBサブネット/ファブリック100の、スイッチ103−104と、指定されたサブネットマネージャ(SM)ノード101とへのアドミニストレイタアクセスをすることができる。M_キー102の完全性は、たとえばデータセンタにおけるIBサブネット/ファブリック100のスイッチ103−104の物理的なアクセス保護と、ファブリックアドミニストレイタ110によって用いられるファブリックレベルのアドミニストレイタパスワードの完全性とに依存する。
【0011】
IBファブリック100において、HCA121−124における安全なHCAファームウェアの実装により、適切に定義された様々なファブリックノードのタイプおよび識別(identity)を保持することができる。HCA121−124の各々は、サブネットマネジメントエージェント(SMA)のコンポーネント131−134を実装でき、各SMAのコンポーネントは、M_キー141−144に関連付けられ得る。さらに、接続されたスイッチA103およびB104は、ファブリックアドミニストレイタ110によってコントロールされ得る。それゆえに、任意の不正なSMAの実装131−134は、ファブリックアドミニストレイタ110が定義し、IBサブネット/ファブリック100で用いられるM_キー102値を危殆化しないかもしれない。
【0012】
ミドルウェアマシンのプラットフォームにおける安全なHCAファームウェアの実装を用いる様々な実施の形態のさらに他の説明が、2012年6月4日に出願された「インフィニバンド(IB)ネットワークにおける安全なサブネットマネジメントエージェント(SMA)を提供するためのシステムおよび方法」と題された米国特許出願第13/487,973号において提供され、その出願は、引用により本出願に援用される。
【0013】
さらに、ファブリックアドミニストレイタ110は、IBサブネット/ファブリック100の新しいM_キー値102がスイッチ103−104に帯域外でインストールされることを確実にできる(対応するサブネットマネージャインスタンス101のためにも)。さらに、ファブリックアドミニストレイタ110は、無限のM_キー102のリース時間(lease time)がスイッチ103−104に存在することを確実にする。それゆえに、ホストベースのソフトウェア161−164、たとえば、(オペレーティングシステム151−154を含む)異なるホスト111−114のホストベースのサブネットマネージャは、IBサブネット/ファブリック100の任意のスイッチ103−104のコントロールをハイジャック(hijack)できない。
【0014】
本発明の一実施の形態に従えば、単一のM_キー102の値(または、M_キー値の単一の組)は、IB仕様で定義されたアクセス制限に基づいて、IBサブネット/ファブリック100における様々なノードのために用いられ得る。現在のM_キー102の正確な値は、M_キー102を読み込む前、または更新する前に特定される必要があるかもしれない。なぜならば、安全なHCAファームウェアは、ローカルHCA121−124に割り当てられ「読み込み保護された」M_キーがローカルホストベースのソフトウェアから見えないことを確実にできるからである。
【0015】
さらに、HCAポートの現在のM_キー値がランタイム(run-time)で定義されている場合には、異なるホスト111−114上のローカルソフトウェア161−164は、それ自身のM_キー値をセットアップすることによって、HCAポートをハイジャックできる可能性がある。また、ホストローカルソフトウェア161−164は、たとえば、指定されたサブネットマネージャ101がHCA121−124のために任意のM_キー102をセットアップする前に、指定されたサブネットマネージャ101のためにHCAポートをマネジメントできないようにする。
【0016】
本発明の一実施の形態に従えば、指定されたサブネットマネージャ101は、未知のM_キー値を有する任意のHCAを無視でき、対応するリンクを初期化されないままにできる。ハイジャックされたHCAポートのM_キーにおけるただ1つの影響は、HCAポートが動作できないようになる可能性があることであり、指定されたサブネットマネージャ101は、通常の通信、すなわち、SMP/VL15を基にしない通信、を用いるこのHCAポートを介してホストベースのソフトウェアが通信することを妨げ得る。
【0017】
さらに、ホストソフトウェア111−114がローカルHCAのM_キー値を危殆化する場合には、問題を起こしているホストソフトウェアは、HCAポートを、活性化されたローカル識別子(LID)およびパーティションメンバシップ(partition membership)を有する動作状態にさせることができ得る。そのような場合において、もしHCA121−124に接続するスイッチ103−104のスイッチポートが、ローカルHCA M_キー値を危殆化したホストソフトウェア111−114に知られていない異なるM_キー値によってコントロールされるならば、その時には、問題を起こしているホストソフトウェア111−114は、リンクを、通常のデータトラフィックを可能にする完全な動作状態にできない可能性がある。
【0018】
本発明の一実施の形態に従えば、IBファブリック100は、様々な潜在的に脅威的な状況を回避するために、様々なホスト111−114の間の直接ルート(direct route)のSMPを防止できる。ある状況において、ホスト、たとえば、ホスト111は、遠隔のホスト112および/または遠隔のHCA122がリセットされた後に、遠隔のホスト、たとえば、112のHCAポートのM_キーをハイジャックするために直接ルートのSMPを使用できる。これにより、遠隔のHCA122ポートは、SM101からアクセスできなくなり、それによって、遠隔のホスト112が通常のIB通信に加わること、すなわち、サービス妨害(Dos)攻撃、を防止できる。別の状況において、2つのホスト、たとえば、ホスト111およびホスト114、がハッカーによって危殆化された場合において、直接ルートのSMPに依存するIBファブリック100における協同管理は、2つの危殆化されたホストが直接ルートのSMPを用いる情報を交換することを可能にしてもよい。
【0019】
IBファブリック100は、直接ルートのSMPに依存することなしに異なるホスト111−114間で情報を交換するために共同管理をサポートしてもよい。たとえば、ホストのためのアドミニストレイタは、IBファブリック100における直接ルートのSMPに依存する代わりに、インターネットの共有ウェブページにアクセスできる。ファブリックのセキュリティの観点から、直接ルートのSMPをIBファブリック上のセキュリティホールのままにすることは、両方のホストアドミニストレイタがインターネットの共有ウェブページにアクセスすることを可能にするよりもより悪い状況と考えられ得る。
【0020】
本発明の一実施の形態に従えば、たとえば、M_キー102のリース期間を維持するサブネットマネージャ101についての高い有効性に起因して、HCAポートは、M_キー102に有限のリース時間をセットアップされ得る。それゆえに、M_キー102は、関連付けられたリンクがダウンすることなしに失効し得る。その結果、HCA121−124の状態、たとえば、パーティションメンバシップは、リンクがいまでもアクティブモードであり、関係するポートのためのLIDルートがいまでも動作可能な間に更新され得る。その後、M_キーによる保護がないIBファブリック100は、ハイジャックされたホストと他のパーティションのホストとの間の通常のIBトラフィックを誤って可能にする可能性がある。
【0021】
さらに、もしリンクがダウンする前にM_キー102が失効すると、ローカルHCA、たとえば、HCA121、と任意の遠隔のHCA、HCA124、との両方はハイジャックされ得、パーティションメンバシップは修正され得る。もし、たとえば、スイッチ103−104などの関連付けられたスイッチポートが、パーティション強制(partition enforcement)を実行するためにセットアップされないならば、要求されていないパーティションメンバシップを有するトラフィックは、ファブリックにおける任意の他のノードに到達できる。
【0022】
さらに、IBファブリック100内のサブネットマネージャ101は、指定された仮想レーン(VL)、たとえば、VL15バッファリング、に依存して、IBファブリック100を正確にモニターおよびコントロールし、かつIBファブリック100の他のサブネットマネージャと交渉することができる。IBファブリック100内のVL15のバッファリングは共有資源であるので、任意のホストからのSMPのコントロールされていない使用は、DoS攻撃を示し得る。これは、サブネットマネージャ101の動作に影響し得る。なぜならば、IBファブリック100内のM_キーの保護により、ホストが任意のノード上の任意のSMAの状態を変化させることを防止できるからである。それゆえに、IBファブリック100におけるSMPのトラフィックを保護する必要がある。
【0023】
本発明の一実施の形態に従えば、M_キー102は、ファブリックアドミニストレイタ110によって作成および管理され、スイッチA103およびB104および/またはHCA121−124の安全なメモリに格納され得る。HCA121−124またはスイッチA103およびB104のマイクロプロセッサは、M_キー102を読み出すため、またはM_キー102をメモリに書き込むためにメモリにアクセスできる。
【0024】
SMPのファイアウォール制限
本発明の一実施の形態に従えば、安全なHCAファームウェアは、SMPのファイアウォール制限を使用して、ホストベースのソフトウェアがローカルまたは遠隔のHCAポートのいずれかをハイジャックすることを防止できる。SMPのファイアウォール制限は、ホストソフトウェアがSMPリクエストをファブリックに送信することを防止でき、さもなければホストソフトウェアに転送されるであろういずれのSMPも拒否できる。
【0025】
図2は、本発明の一実施の形態に従うミドルウェアマシン環境におけるSMPのファイアウォール制限をもたらしていることを示す。
図2に示されるように、ミドルウェアマシン環境200は、1つ以上のホスト203−204と、サブネットマネージャ201に関連付けられるIBファブリック210とを備え得る。ホスト203−204の各々は、HCAファームウェア215−216を実装するHCA211−212を介してIBファブリック210に接続する。
【0026】
HCAファームウェア215−216は、任意のSMPベースのサービス妨害(DoS)攻撃、たとえば、サブネットマネージャ201の動作を標的にすること、を効果的に防止し、ファブリック200の信頼性のあるノードによるSMPベースのツールを適法に使用することを許可することができるSMPのファイアウォールコンポーネント213−214を含み得る。HCAのSMPファイアウォールコンポーネント213−214は、ホストスタックソフトウェア205−206がSMP220をIBファブリック210に送信することを防止する。さらに、遠隔のノード、たとえば、ホスト204の情報がローカルホストソフトウェア、たとえば、ホストソフトウェア205に不当に提供されることを防止するために、安全なHCAファームウェア215は、さもなければホストソフトウェア205に転送されるであろうIBファブリック210から受信されたSMP230を拒否できる。
【0027】
さらに、SMPのファイアウォールコンポーネント213−214は、サブネットマネージャ201が動作しない場合に、たとえば、ローカルに接続されたスイッチポートの識別を監視することで、ホストスタックソフトウェア205−206による様々なSMPベースの動作を防止できる。さらに、サブネットマネージャ201からの、ホストスタックソフトウェア205−206、または、ファブリックにおける他の正当なコンポーネントとの任意のSMPベースの通信が防止され得る。
【0028】
本発明の一実施の形態に従えば、安全なHCAファームウェア215−216は、SMPファイアウォールコンポーネント213−214の一部として、特定のルールを実装し、正当な動作がホストスタックソフトウェア205−206のために可能にされることを確実にできる。これらのルールは、特定のSMPベースのリクエストおよび応答のタイプがタイトにコントロールされた速度で送信され、受信されることを可能にする。さらに、これらのルールは、直接ルートとLIDルートとの両方のSMPの送信元および送信先の制限を定義できる。
【0029】
さらに、これらのルールは、HCAインスタンス211−212に関連付けられている物理的なホスト203および204を現在コントロールしているハイパーバイザインスタンス、またはOS207および208のSMPベースの認証を可能にできる。ミドルウェアマシンのプラットフォームにおいて、発見されたコンポーネントの認証の様々な実施の形態のさらに他の説明が、2012年6月4日に出願された「インフィニバンド(IB)ネットワークにおいて発見されたコンポーネントの識別を認証するためのシステムおよび方法」と題された米国特許出願第13/488,040号において提供され、その出願は、引用により本出願に援用される。
【0030】
本発明の一実施の形態に従えば、安全なHCAファームウェア215は、プロキシ機能217−218を実装して、正当な動作がホストスタックソフトウェア205−206のために可能にされることを確実にすることができる。サブネットマネージャ201のような外部マネジメントコンポーネントは、プロキシ機能217−218を介してベンダーのSMP221をホストスタックソフトウェア205−206に送信できる。ホストスタックソフトウェア205−206は、HCAファームウェア215−216とホストスタックソフトウェア205−206との間のローカルの帯域外のインタフェイス223−224を介してプロキシ機能217−218と通信できる。そして、このプロキシ機能217−218は、ホストスタックソフトウェア205−206の代わりに特定の適法な動作を実装する責任を負い、遠隔のファブリックマネジメントコンポーネント、たとえば、サブネットマネージャ201、の代わりにホストスタックソフトウェア205−206と通信する責任を負うことができる。
【0031】
安全なHCAファームウェア215−216は、認証されていない構成情報の検索からIBファブリック210を保護することができる、たとえば、ローカルホストソフトウェアがグローバルに一意な識別子(GUID)、LID、および、遠隔のIBノードに対するDOS攻撃のための基礎として潜在的に用いられ得るパーティションメンバシップのような遠隔のIBノードについての情報を監視することを防止する)。また、安全なHCAファームウェア215−216は、アクティブなサブネットマネージャのバックで、遠隔のノードに対する正常なデータ通信を可能にするために用いられ得る遠隔のノードについての情報を監視する能力を制限することによって、ローカルホストのアクセスからの、そのローカルM_キー202の設定をローカルHCA211−212が十分に保護することを可能にする。
【0032】
さらに、安全なHCAファームウェア215−216は、レガシーSMPを基にする診断およびモニタリングツールが信頼性のないホストに用いられるのを防止し得る(または作動しないことがある)。なぜならば、安全なHCAは、信頼性のないホストから送信された任意のSMP動作をブロックできるからである。また、M_キー方式(scheme)は、SMPに依存してレガシーツールを使用する能力を限定し得る、完全な読み込み保護と共に用いられ得る。
【0033】
さらに、安全なHCAファームウェア215は、信頼性のないホスト間の、認証されていないSMPベースの通信からIBファブリック200を保護できる。安全なHCAファームウェア215は、たとえば、SM201の動作を標的にするDoS攻撃に対して脆弱な認証されていないSMPトラフィックからIBファブリックを保護できる。様々なアドミッションコントロールポリシが異なるホスト203−204のためのSMP注入率(injection rates)を許容レベルに制限できる。代わりに、DOS攻撃をさらに防止するために、たとえば、安全なHCAファームウェアのSMPブロック特徴を活用して、単一のサブネット構成によって、信頼性のないホストからの全てのSMPの動作がブロックされてもよい。
【0034】
さらに、安全なHCAファームウェア215は、サブネットアドミニストレイタ(SA)のアクセスを標的にするDoS攻撃からIBファブリック210を保護できる。安全なHCAファームウェア215は、SAにアクセスするために、QoS/公正(fairness)および拡張性を保証できる。また、DoSを防止するために、SM201は、たとえば、ある時間間隔のリクエスト速度の閾値を越える、SAリクエストの「過負荷」を生じさせているHCAポートをシャットダウンすることを許され得る。
【0035】
図3は、本発明の一実施の形態に従うミドルウェアマシン環境におけるSMPのファイアウォール制限をもたらすためのフローチャートの一例を示す。
図3に示されるように、ステップ301で、安全なファームウェアの実装が、インフィニバンド(IB)ファブリックに接続するホストチャンネルアダプタ(HCA)で提供され得、HCAは、1つのホストに関連付けられる。その後、ステップ302で、安全なファームウェアの実装は、少なくとも1つのSMPを受信でき、少なくとも1つのSMPは、ホストから受信されるか、ホストに宛てられる。さらに、ステップ303で、安全なファームウェアの実装は、ホストが、少なくとも1つのSMPをIBファブリックに送信すること、またはホストに宛てられた少なくとも1つのSMPを受信することを防止する。
【0036】
スイッチベースのプロキシM_キー保護
本発明の一実施の形態に従えば、SMPのM_キーチェックは、IBファブリックにおける中間スイッチノードで実行されて、M_キーをセットアップさせない遠隔のHCAポートをローカルスイッチのM_キーの設定が保護できることを確実にすることができる。
【0037】
図4は、本発明の一実施の形態に従うミドルウェアマシン環境におけるスイッチベースのSMPのトラフィックの保護をもたらしていることを示す。
図4に示されるように、ミドルウェアマシン環境400は、HCA402を介してホスト403に接続するIBスイッチ401を含み得る。ホスト403は、オペレーティングシステム407上で動作するホストスタックソフトウェア405を含み得る。IBスイッチ401は、1つ以上のスイッチポート411−416を含んでもよく、各スイッチポートは、個別のノード、またはIBファブリック400におけるエンティティと接続するために用いられ得る、たとえば、スイッチポート411は、HCA402に接続される。
【0038】
サブネットマネジメントエージェント(SMA)のコンポーネント406は、HCA402のファームウェア404で実装され、スイッチポート411を介してIBファブリック400における他のノードと通信できる。また、IBファブリック400における指定されたサブネットマネージャ408は、直接ルートのSMPリクエストを任意のSMA406に送信することと、SMA406からの直接ルートのSMP応答を受信することとの両方のために、特定のスイッチポート(たとえば、ポート411)を使用できる。
【0039】
スイッチ401は、全てのHCAがSMPコントロールを有する信頼性のあるファームウェアを有することを要件とすることに依存することなしに、IBファブリック400で生じる意図されていないSMPトラフィックを防止できる。たとえば、スイッチ401は、IBファブリック400のためのファブリックポリシに一致しない直接ルートのSMPトラフィックを除去できる。
【0040】
スイッチ401は、遠隔のHCAポート402が侵入者によってハイジャックされることを防止するための除去方式(filtering scheme)を使用できる。除去方式は、SMA406の属性を設定することを標的にする任意の直接ルートのSMPリクエストを識別することに基づき得る。さらに、除去方式は、送り先とは独立して、全ての直接ルートのSMPリクエストのために同一のM_キーのチェックを実行でき、SMPがどの宛先を標的にしているかとは独立して直接ルートのSMPリクエストがローカルスイッチ401のために正確なM_キー409を含むことを要件とし得る。
【0041】
単一のM_キー409は、IBファブリック400で使用され得、IBファブリック400は、スイッチ401と、スイッチ401に直接的に接続するHCAポート402とを含む。もし、ホストスタックソフトウェア405がローカルHCA402を保護するM_キー419を危殆化し得ると、ホストスタックソフトウェア405は、ローカルスイッチ401を保護するM_キー409も危殆化し得る。なぜならば、IBファブリック400における全てのSMPトラフィックは、ローカルスイッチのM_キー409を含むからである。
【0042】
本発明の一実施の形態に従えば、スイッチ401の実装は、各外部ポートのためのオプションのM_キー値、たとえば、外部ポート411−416のためのM_キー421−426、を特定できる。さらに、スイッチ401の実装は、スイッチポート、たとえば、スイッチポート411、から送信された任意のSMPと、このポートから受信した任意のSMPとが、全て、スイッチポート411のために特定されたM_キー421に一致するM_キー値を有することを確実にできる。さらに、ネットワークスイッチ401は、SMP420が外部ポート414から送信することと、SMP410が外部ポート414で受信することとの個別の制限を強制できる。
【0043】
このメカニズムを用いることで、スイッチポートに関連付けられている正確なローカルM_キーが特定された場合に、正当なサブネットマネージャ408は、全ての潜在的に信頼性のない遠隔のHCAポートまたは他の潜在的に信頼性のない遠隔ポートがSMPを送信することのみを許され得ることを確実にできる。また、遠隔のポートにアクセスする試みは、遠隔のポートのM_キーがハイジャックされたかどうかとは独立して、そのポートについてサブネットマネージャ408の定義されたM_キーを有することを必要とし得る。さらに、このメカニズムは、ファブリックにおいて信頼性のないポートからSMPベースのDoS攻撃の機会を防止するか、減らすために、どれくらいの速さで遠隔のポートがSMPを生じさせ得るのかを定義するSMPの速度も特定できる。
【0044】
ミドルウェアマシンのプラットフォームにおけるSMP除去を用いる様々な実施の形態の付加的な説明が、2004年6月2日に出願され、2008年7月8日に発行された「通信ネットワークにおいてノードを認証するためのシステムおよび方法」と題された米国特許第7,398,394号において提供され、その出願は、引用により本出願に援用される。
【0045】
本発明の一実施の形態に従えば、除去方式は、スイッチポートが「信頼性がある」または「信頼性がない」と明らかにしたことに基づく、ホスト−ホストベースの直接ルートの不適法なSMPトラフィックを防止できる。スイッチポート、またはスイッチポートに接続するエンティティが信頼性を有するか否かの判断は、ローカルスイッチ401に対する明示的なポリシの入力または遠隔のポートの自動的な認証に基づき得る。
【0046】
図4に示されるように、スイッチポート411、413−414、および416は、信頼性のあるスイッチポートであり、一方で、スイッチポート412および415は信頼性がない。除去方式は、信頼性のあるポート(スイッチからの出口)からSMPリクエストが送信されること、および、信頼性のあるポート(スイッチへの入口)によってSMP応答が受信されることのみを可能にし得る。さらに、第1の場所における信頼性のあるポートからサブネットに入ったただ1つのSMAリクエストは、信頼性のないポートに向けて出ることを許され得る。それゆえに、除去方式は、任意の現在のM_キー設定とは独立してなされ得、上記のM_キーベースの除去方式と共に用いられ得る。
【0047】
本発明の一実施の形態に従えば、単一のM_キー409、または単一の組のM_キーを使用できることは、IBサブネット/ファブリック400を通して、IBファブリック400における全てのノードが信頼されるかどうか、および、要求される特権を有さない任意のエンティティに対して使用中のM_キーを露出しないかどうかに依存する。サブネットマネージャ408がリクエスト中に現在のM_キーを含むための必要条件は、標的および任意の中間エージェントがM_キーの完全性を危殆化し得ないことをサブネットマネージャ408が保証され得るようにすることである。一例では、そのような全面的な信頼性は、任意のSMPにおける現在のM_キーを含むよりも前に確立され得る。それゆえに、ファブリックの構成は、HCAを含む、IBファブリック中の全てのノードが、全てのSMAインスタンスが全面的に信頼性のあることを推測的に仮定する代わりに、任意のM_キーを基にする通信が起こり得る前に、信頼性があるものとして認証される(または明らかにされる)ことを要件とし得る。
【0048】
本発明の一実施の形態に従えば、ベンダーを基にするSMPを、スイッチマネジメントインタフェイスを介して送信および受信するためのメカニズムが提供され得る。そのようなメカニズムは、スイッチ内蔵認証メカニズムがスイッチのローカルソフトウェアの一部として動作し、それによって、内蔵サブネットマネージャおよび内蔵スイッチドライバおよびSMAと協力して動作をすることを可能にする。
【0049】
図5は、本発明の一実施の形態に従うミドルウェアマシン環境におけるスイッチベースのSMPのトラフィックを保護するためのフローチャートの一例を示す。
図5に示されるように、ステップ501で、ネットワークスイッチは、サブネットマネジメントエージェント(SMA)に宛てられた1つ以上のSMPを受信できる。その後、ステップ502で、ネットワークスイッチは、1つ以上のSMPが正確なマネジメントキーを含むかどうかをチェックできる。さらに、ステップ503で、ネットワークスイッチは、1つ以上のSMPが正確なマネジメントキーを含まない場合に、1つ以上のSMPが宛てられたSMAに転送されることを防止できる。
【0050】
概して、本発明は、1つ以上のマイクロプロセッサで動作可能なミドルウェアマシン環境におけるサブネットマネジメントパケット(SMP)のファイアウォール制限を提供するためのシステムに関し、システムは、
インフィニバンド(IB)ファブリックに接続するホストチャンネルアダプタ(HCA)に安全なファームウェアの実装を提供するための手段を含み、HCAは、ホストに関連付けられており、さらに、
安全なファームウェアの実装を介して少なくとも1つのSMPを受信するための手段を含み、少なくとも1つのSMPは、ホストから受信されるか、ホストに宛てられ、さらに、
安全なファームウェアの実装を介して、ホストが少なくとも1つのSMPをIBファブリックに送信すること、またはホストに宛てられた少なくとも1つのSMPを受信することを防止するための手段を含む。
【0051】
上記システムは、さらに、安全なファームウェアの実装においてSMPのファイアウォールコンポーネントを含むための手段を含む。
【0052】
上記システムは、さらに、SMPのファイアウォールコンポーネントが1つ以上のSMPベースの動作を防止することを可能にするための手段を含む。
【0053】
上記システムは、さらに、SMPのファイアウォールコンポーネントがホストソフトウェアとサブネットマネージャとの間のSMPベースの通信を防止することを可能にするための手段を含む。
【0054】
上記システムは、さらに、SMPのファイアウォールコンポーネントの一部として特別なルールを実装するための手段を含む。
【0055】
上記システムは、さらに、特別なルールが特定のSMPベースのリクエストおよび応答タイプがタイトにコントロールされた速度で送信され、受信されることを定義する、および/または、直接ルートのSMPとローカルの識別子ルートのSMPとの両方のための送信元および送信先の制限を定義することを可能にするための手段を含む。
【0056】
上記システムは、さらに、安全なファームウェアの実装がプロキシ機能を含むことを可能にするための手段を含み、プロキシ機能は、ローカルの帯域外のインタフェイスを通して、ホストソフトウェアとの通信を受信できる。
【0057】
上記システムは、さらに、サブネットマネージャがプロキシ機能を介してホストソフトウェアにSMPを送信することを可能にするための手段を含む。
【0058】
上記システムは、さらに、遠隔のIBノードからの構成情報の、認証されていない検索を防止するための手段を含む。
【0059】
上記システムは、さらに、サブネットマネージャが、サブネットアドミニストレイタ(SA)のリクエストの過負荷を生じさせているHCAポートをシャットダウンすることを可能にするための手段を含む。
【0060】
概して、本発明は、サブネットマネジメントパケット(SMP)ベースの攻撃を防止するための方法に関し、当該方法は、
安全なファームウェアの実装を介して少なくとも1つのSMPを受信することを含み、少なくとも1つのSMPは、ホストから受信されるか、ホストに宛てられ、さらに、
安全なファームウェアの実装を介して、ホストが少なくとも1つのSMPをIBファブリックに送信すること、または、ホストに宛てられた少なくとも1つのSMPを受信することを防止することを含む。
【0061】
上記方法は、さらに、SMPのファイアウォールコンポーネントを安全なファームウェアの実装に含めることを含む。
【0062】
上記方法は、さらに、SMPのファイアウォールコンポーネントが1つ以上のSMPベースの動作を防止するのを可能にすることを含む。
【0063】
上記方法は、さらに、SMPのファイアウォールコンポーネントがホストソフトウェアとサブネットマネージャとの間のSMPベースの通信を防止するのを可能にすることを含む。
【0064】
上記方法は、さらに、SMPのファイアウォールコンポーネントの一部として特別なルールを実装することを含む。
【0065】
上記方法は、さらに、特別なルールが、特定のSMPベースのリクエストおよび応答タイプがタイトにコントロールされた速度で送信され、受信されることを定義する、および/または、直接ルートのSMPとローカルの識別子ルートのSMPとの両方のための送信元および送信先の制限を定義することを可能にすることを含む。
【0066】
上記方法は、さらに、安全なファームウェアの実装がプロキシ機能を含むのを可能にすることを含み、プロキシ機能は、ローカルの帯域外のインタフェイスを通してホストソフトウェアとの通信を受信できる。
【0067】
概して、本発明は、サブネットマネジメントパケット(SMP)ベースの攻撃を防止するためのシステムに関し、当該システムは、
安全なファームウェアの実装を介して、少なくとも1つのSMPを受信するための手段を含み、少なくとも1つのSMPは、ホストから受信されるか、ホストに宛てられ、さらに、
安全なファームウェアの実装を介して、ホストが、少なくとも1つのSMPをIBファブリックに送信すること、または、ホストに宛てられた少なくとも1つのSMPを受信することを妨げるための手段を含む。
【0068】
上記システムは、さらに、安全なファームウェアの実装にSMPのファイアウォールコンポーネントを含むための手段を含む。
【0069】
上記システムは、さらに、SMPのファイアウォールコンポーネントが1つ以上のSMPベースの動作を防止することを可能にするための手段を含む。
【0070】
上記システムは、さらに、SMPのファイアウォールコンポーネントがホストソフトウェアとサブネットマネージャとの間のSMPベースの通信を防止することを可能にするための手段を含む。
【0071】
上記システムは、さらに、SMPのファイアウォールコンポーネントの一部として特別なルールを実装にするための手段を含む。
【0072】
上記システムは、さらに、特別なルールが特定のSMPベースのリクエストおよび応答タイプがタイトにコントロールされた速度で送信され、受信されることを定義する、および/または、直接ルートのSMPとローカルの識別子ルートのSMPとの両方のための送信元および送信先の制限を定義することを可能にするための手段を含む。
【0073】
上記システムは、さらに、安全なファームウェアの実装がプロキシ機能を含むことを可能にするための手段を含み、プロキシ機能は、ローカルの帯域外のインタフェイスを通して、ホストソフトウェアとの通信を受信できる。
【0074】
概して、本発明は、1つ以上のマイクロプロセッサで動作可能なミドルウェアマシン環境におけるスイッチベースのサブネットマネジメントパケット(SMP)のトラフィック保護を提供するための方法に関し、当該方法は、
ネットワークスイッチを介して、サブネットマネジメントエージェント(SMA)のコンポーネントに宛てられた1つ以上のSMPを受信するための手段と、
ネットワークスイッチを介して、1つ以上のSMPが正確なマネジメントキーを含むかどうかをチェックするための手段と、
ネットワークスイッチを介して、1つ以上のSMPが正確なマネジメントキーを含まない場合に、1つ以上のSMPが宛てられたSMAコンポーネントに転送されることを防止するための手段とを含む。
【0075】
上記システムは、さらに、ファブリックポリシに従って1つ以上のSMPを除去するための手段を含む。
【0076】
上記システムは、さらに、1つ以上のSMPの各々が直接ルートのSMPであることを可能にするための手段を含む。
【0077】
上記システムは、さらに、サブネットマネージャが、ネットワークスイッチの特有のスイッチポートを介してサブネットマネジメントエージェント(SMA)のコンポーネントと通信するために、1つ以上のSMPを用いるのを可能にするための手段を含む。
【0078】
上記システムは、さらに、ネットワークスイッチの各外部ポートのための異なるマネジメントキーを定義するための手段を含む。
【0079】
上記システムは、さらに、ネットワークスイッチが、外部ポートからSMAコンポーネントに送信されたSMP、およびSMAコンポーネントからの、外部ポートで受信されたSMPに個別の制限を強制するのを可能にするための手段を含む。
【0080】
上記システムは、さらに、正確なマネジメントキーが特定された場合に、サブネットマネージャを介して、SMAコンポーネントに関連付けられている信頼性のない遠隔のホストチャンネルアダプタ(HCA)が1つ以上のSMPを送信することのみを確実にするための手段を含む。
【0081】
上記システムは、さらに、どれくらいの速さで遠隔のHCAのポートがSMPを生じさせ得るのかを定義するSMPの速度を特定するための手段を含む。
【0082】
上記システムは、さらに、1つ以上のスイッチポートが信頼性のあることを明らかにし、かつ、
SMPリクエストが信頼性のあるポートから送信され、
SMP応答が信頼性のあるポートで受信されることを可能にする手段を含む。
【0083】
上記システムは、さらに、ただ1つのSMAコンポーネントのリクエストが、信頼性のあるポートから信頼性のないポートに送信されることを可能にするための手段を含む。
【0084】
概して、本発明は、1つ以上のマイクロプロセッサで動作するネットワークスイッチに関し、当該ネットワークスイッチは、
サブネットマネジメントエージェント(SMA)のコンポーネントに宛てられた1つ以上のSMPを受信するための手段と、
1つ以上のSMPが正確なマネジメントキーを含むかどうかをチェックするための手段と、
少なくとも1つのSMPが正確なマネジメントキーを含まない場合に、1つ以上のSMPが、宛てられたSMAコンポーネントに転送されることを防止するための手段とを含む。
【0085】
本発明は、1つ以上のプロセッサ、メモリ、および/または本開示の教示に従いプログラムされたコンピュータ可読記憶媒体を含む、従来の汎用または専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを1つ以上用いて、適宜実現し得る。適切なソフトウェアコーディングは、ソフトウェア技術の当業者には明らかであるように、熟練したプログラマが本開示の教示に基づいて容易に準備できる。
【0086】
実施の形態によっては、本発明は、本発明のプロセスのうちいずれかを実行するためにコンピュータをプログラムするのに使用できる命令がその上に/中に格納された記憶媒体または1つもしくは複数のコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。この記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む、任意の種類のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/もしくはデータを格納するのに適した任意の種類の媒体もしくはデバイスを含み得るものの、これらに限定されない。
【0087】
本発明のこれまでの記載は例示および説明を目的として提供されている。すべてを網羅するよう意図されておらず、または本発明を開示された形態そのものに限定するよう意図されていない。当業者には数多くの変更および変形が明らかであろう。実施の形態は、本発明の原理およびその実際の応用を最もうまく説明することによって当業者がさまざまな実施の形態および意図している特定の用途に適したさまざまな変形を用いて本発明を理解できるようにするために、選択され説明された。本発明の範囲は、添付の特許請求の範囲およびその均等物によって定められることが意図されている。