サンプル TMA: BizTalk メッセージ キュー アダプター
このトピックでは、サンプル アーキテクチャの BizTalk メッセージ キュー アダプター シナリオ向けの脅威モデル分析 (TMA) について説明します。
手順 1. 背景情報の収集 (BizTalk メッセージ キュー アダプターのシナリオ)
このセクションでは、サンプル アーキテクチャの BizTalk メッセージ キュー アダプタ シナリオ向けのデータ フロー ダイアグラム (DFD) について説明します。 次の図は、HTTP アダプタと SOAP アダプタ シナリオのサンプル アーキテクチャを示しています。
図 1. BizTalk メッセージ キュー アダプタ シナリオ向けサンプル アーキテクチャ
その他の背景情報はすべて、すべての使用シナリオで同じであり、前に「 サンプル シナリオの背景情報」で説明されています。
データ フロー図
次の図は、BizTalk メッセージ キュー アダプタを使用する際の、サンプル アーキテクチャの DFD を示しています。
図 2. BizTalk メッセージ キュー アダプタ シナリオ向けサンプル アーキテクチャの DFD
データ フローは次のとおりです。
パートナーがメッセージ キューまたは BizTalk メッセージ キューを使用してメッセージを送信します。 メッセージは適切な形式に変換され、ネットワーク上に送信されます。 Active Directory を使用する場合、メッセージは適切な送信先 (BizTalk メッセージ キュー受信アダプタのホスト インスタンスが実行されている BizTalk Server) に到達するまで、一連のメッセージ キュー ルーターを介して移動します。
BizTalk メッセージ キュー受信アダプタのインプロセス ホストのインスタンスは、メッセージ キュー ルーターから (ファイアウォール 2 を介して) メッセージを定期的に受信し、内部処理を行います。次に、ネットワーク プロトコルによって定義された適切なネットワーク応答を送信し、メッセージ ボックス データベースにメッセージを配置します。
メッセージへのサブスクリプションが含まれた処理ホストのインスタンスが、メッセージ ボックス データベースからそのメッセージを取得し、追加処理を行い、メッセージ ボックス データベースにメッセージを戻します。
BizTalk メッセージ キュー送信アダプターを持つインプロセス ホストのインスタンスが、MessageBox データベースからメッセージを取得します。 メッセージは、送信パイプラインでの最終処理を完了してから、ファイアウォール 2 を介してパートナーまたはアプリケーションにネットワーク経由で送信されます。
手順 2. 脅威モデルの作成と分析 (BizTalk メッセージ キュー アダプター シナリオ)
このセクションでは、サンプル アーキテクチャの BizTalk メッセージ キュー アダプタ シナリオに対して実行した TMA の結果を示します。
エントリ ポイント、信頼境界、およびデータフローを特定する - 前の手順 1 と 「サンプル シナリオの背景情報」で説明した背景情報を参照してください。
特定された脅威の一覧を作成する - DFD 内のすべてのエントリに対して次の分類を使用して、シナリオに対する潜在的な脅威を特定しました。 Spoofing identify、 Tampering with data、 Repudiation、 Information disclosure、 Denial of service、 Elevation of privileges。 次の表は、BizTalk メッセージ キュー アダプタを使用して BizTalk Server との間でメッセージを送受信したときに特定された脅威を示しています。
表 1 特定された脅威の一覧
Threat | [説明] | Asset | 影響 |
---|---|---|---|
受信場所に大量のメッセージが送信される | 悪意のあるユーザーが、メッセージが有効であるか無効であるかに関係なくアプリケーションで受け取れないほど大量のメッセージを送信することがあります。 | BizTalk Server 環境 | サービス拒否 |
有線ネットワーク上でメッセージ ヘッダーがクリア テキストで送信される | メッセージがキューから BizTalk メッセージ キュー受信アダプタに送信されるとき、メッセージ ヘッダーがクリア テキスト形式なので、悪意のあるユーザーがヘッダーを読み取って改ざんすることがあります。 | メッセージ ヘッダー | データの改ざん 情報漏えい |
未認証のユーザーが、BizTalk メッセージ キュー ホストが実行されている BizTalk Server へのネットワーク接続を確立できる | 随意アクセス制御リスト (DACL) を使用して、BizTalk メッセージ キューの受信場所へのアクセスを制限することはできません。 そのため、BizTalk メッセージ キュー受信アダプタのホスト インスタンスが実行されている BizTalk Server とポート 1801 に対してネットワーク接続を確立できるユーザーであれば、BizTalk メッセージ キューの受信場所にメッセージを送信できます。 | BizTalk Server 環境 | 否認 データの改ざん 情報漏えい サービス拒否 Elevation of privileges (特権の昇格) |
BizTalk Server でメッセージを受信する前に、悪意のあるユーザーがそのメッセージを改ざんできる | 悪意のあるユーザーが、メッセージの送信中にメッセージを傍受し、改ざんすることがあります。 | メッセージ本文 | データの改ざん 情報漏えい |
手順 3. 脅威を確認する (BizTalk メッセージ キュー アダプターのシナリオ)
このセクションでは、サンプル アーキテクチャの BizTalk メッセージ キュー アダプタ シナリオで特定された脅威に対して実行したリスク分析の結果を示します。 メイン脅威モデル会議の後、脅威を確認し、各脅威のリスクを特定するために次の影響カテゴリを使用しました:Damage potential、Reproducibility、Exploitability、Affected users、Discoverability。
次の表は、BizTalk メッセージ キュー アダプタを使用して BizTalk Server との間でメッセージを送受信したときに特定された脅威のリスクの度合いを示しています。
表 2. 特定された脅威のリスクの度合い
脅威 | 影響 | 潜在的な損害 | 再現性 | 悪用性 | 影響を受けたユーザー | Discoverability (探索可能性) | リスクの度合い |
---|---|---|---|---|---|---|---|
受信場所に大量のメッセージが送信される | Denial of service (サービス拒否) | 8 | 7 | 7 | 7 | 5 | 6.8 |
有線ネットワーク上でメッセージ ヘッダーがクリア テキストで送信される | データの改ざん 情報漏えい |
8 | 10 | 8 | 3 | 5 | 6.8 |
未認証のユーザーが、BizTalk メッセージ キュー ホストが実行されている BizTalk Server へのネットワーク接続を確立できる | 否認 データの改ざん 情報漏えい サービス拒否 Elevation of privileges (特権の昇格) |
8 | 10 | 9 | 9 | 9 | 9 |
BizTalk Server でメッセージを受信する前に、悪意のあるユーザーがそのメッセージを改ざんできる | データの改ざん 情報漏えい |
5 | 7 | 6 | 5 | 7 | 6 |
手順 4. 軽減策の特定 (BizTalk メッセージ キュー アダプターのシナリオ)
このセクションでは、サンプル アーキテクチャの BizTalk メッセージ キュー アダプタ シナリオで特定された脅威を緩和する方法について説明します。
次の表は、BizTalk メッセージ キュー アダプタを使用して BizTalk Server との間でメッセージを送受信したときに特定された脅威の緩和方法とテクノロジを示しています。
表 3. 緩和方法とテクノロジ
脅威 | 影響 | リスクの度合い | 緩和方法とテクノロジ |
---|---|---|---|
受信場所に大量のメッセージが送信される | サービス拒否 | 6.8 | BizTalk メッセージ キュー アダプタを認証必須モードで使用します。 受信場所に MSMQ 認証 フラグを必要とし、受信ポートで 認証が必要 (メッセージのドロップ) フラグを設定します。 証明書ベースの認証を要求するように BizTalk メッセージ キューを構成します。 この状況はアダプタ レベルで発生します。BizTalk パイプラインのパーティの解決コンポーネントとは異なります。 このように構成した場合、受信メッセージにはパブリック証明書が含まれます。 これは、BizTalk メッセージ キューに使用できる唯一のクライアント認証モードです。 このクライアント認証モードを使用するには、BizTalk メッセージ キューを Active Directory 統合モードでインストールする必要があります。 この機能を使用する場合は、BizTalk メッセージ キューの受信場所のプロパティ ダイアログ ボックスの [認証チェックが必要] ボックスを必ず選択してください。 |
有線ネットワーク上でメッセージ ヘッダーがクリア テキストで送信される | データの改ざん 情報漏えい |
6.8 | インターネット プロトコル セキュリティ (IPsec) を使用すると、あるサーバーから別のサーバーにメッセージを送信するときに、メッセージ本文とメッセージ ヘッダーを保護できます。 |
未認証のユーザーが、BizTalk メッセージ キュー ホストが実行されている BizTalk Server へのネットワーク接続を確立できる | 否認 データの改ざん 情報漏えい サービス拒否 Elevation of privileges (特権の昇格) |
9 | パーティの解決パイプライン コンポーネントを含むカスタム パイプラインを作成し、送信者 ID (SID) を使用してパーティを解決するようにパーティの解決コンポーネントを構成します。 [ 証明書によるパーティの解決 ] プロパティを False に設定し、[ SID によるパーティの解決 ] プロパティを True に設定 します。 詳細については、「 パーティ解決パイプライン コンポーネント」を参照してください。 受信ポートで、 Authentication プロパティを Required (Drop Messages) に設定します。 |
BizTalk Server でメッセージを受信する前に、悪意のあるユーザーがそのメッセージを改ざんできる | データの改ざん 情報漏えい |
6 | プロトコルレベルの認証を使用して、メッセージが送信中に改ざんされないようにします。 プロトコルレベルの認証を使用するには、E ビジネス ドメインにメッセージ キュー ルーターが必要です。 BizTalk Server を次のように構成します。 - Configuration Managerの [BizTalk メッセージング] ページで、ルーターの名前を指定します。 - 受信ポートの場合は、 Authentication プロパティを Required (Drop Messages) または Required (Keep Messages) に設定します。 - 送信ハンドラーの場合は、[ 全般 ] タブの [ MSMQ ルーター 名] ボックスに、メッセージ キュー ルーターの名前を入力します。 - 送信ポートの場合は、[ MSMQ 認証を使用する] を選択します。 |