DCERPC インスペクション
デフォルトのインスペクション ポリシーでは、DCERPC インスペクションがイネーブルにされていないため、この検査が必要な場合はイネーブルにします。デフォルトのグローバル インスペクション ポリシーを編集するだけで、DCERPC インスペクションを追加できます。または、たとえばインターフェイス固有のポリシーなど、必要に応じて新しいサービス ポリシーを作成することもできます。
次の項では、DCERPC インスペクション エンジンについて説明します。
DCERPC の概要
DCERPC に基づく Microsoft リモート プロシージャ コール(MSRPC)は、Microsoft 分散クライアントおよびサーバー アプリケーションで広く使用されているプロトコルであり、ソフトウェア クライアントがサーバー上のプログラムをリモートで実行できるようにします。
通常、このプロトコルの接続では、クライアントが予約済みポート番号で接続を受け入れるエンドポイント マッパーというサーバーに、必要なサービスについてダイナミックに割り当てられるネットワーク情報を問い合わせます。次に、クライアントは、サービスを提供しているサーバーのインスタンスへのセカンダリ接続をセットアップします。セキュリティ アプライアンスは、適切なポート番号とネットワーク アドレスへのセカンダリ接続を許可し、必要に応じて NAT を適用します。
DCERPC インスペクション エンジンは、EPM とウェルノウン TCP ポート 135 上のクライアントとの間のネイティブ TCP 通信を検査します。クライアント用に EPM のマッピングとルックアップがサポートされています。クライアントとサーバーは、どのセキュリティ ゾーンにあってもかまいません。埋め込まれたサーバーの IP アドレスとポート番号は、EPM からの応答メッセージで受け取ります。クライアントが EPM から返されたサーバーのポートに対して複数の接続を試みる可能性があるので、ピンホールが複数使用でき、ユーザーがそのタイムアウトを設定できるようになっています。
DCE インスペクションは、次の汎用一意識別子(UUID)とメッセージをサポートします。
-
エンド ポイント マッパー(EPM)UUID。すべての EPM メッセージがサポートされます。
-
ISystemMapper UUID(非 EPM)。サポートされるメッセージ タイプは次のとおりです。
-
RemoteCreateInstance opnum4
-
RemoteGetClassObject opnum3
-
-
OxidResolver UUID(非EPM)。サポートされるメッセージは次のとおりです。
-
ServerAlive2 opnum5
-
-
IP アドレスまたはポート情報を含まない任意のメッセージ(これらのメッセージでは検査の必要がないため)。
DCERPC インスペクション ポリシー マップの設定
DCERPC インスペクションの追加のパラメータを指定するには、DCERPC インスペクション ポリシー マップを作成します。作成したインスペクション ポリシー マップは、DCERPC インスペクションをイネーブルにすると適用できます。
トラフィックの一致基準を定義するときに、クラス マップを作成するか、またはポリシー マップに match ステートメントを直接含めることができます。クラス マップを作成することと、インスペクション ポリシー マップ内で直接トラフィック照合を定義することの違いは、クラス マップを再使用できる点です。
手順
ステップ 1 |
(任意)DCERPC インスペクション クラス マップを作成します。 このクラス マップで指定するトラフィックに対しては、インスペクション ポリシー マップでトラフィックに対して実行するアクションを指定します。 match コマンドごとに異なるアクションを実行する場合、ポリシー マップに直接トラフィックを特定する必要があります。 |
ステップ 2 |
DCERPC インスペクション ポリシー マップを作成します。policy-map type inspect dcerpc policy_map_name policy_map_name には、ポリシー マップの名前を指定します。CLI はポリシー マップ コンフィギュレーション モードに入ります。 |
ステップ 3 |
(任意)説明をポリシー マップに追加します。description string |
ステップ 4 |
一致したトラフィックにアクションを適用するには、次の手順を実行します。 |
ステップ 5 |
インスペクション エンジンに影響のあるパラメータを設定するには、次の手順を実行します。 |
例
次の例は、DCERPC インスペクション ポリシー マップを定義し、DCERPC のピンホールのタイムアウトを設定する方法を示しています。
hostname(config)# policy-map type inspect dcerpc dcerpc_map
hostname(config-pmap)# timeout pinhole 0:10:00
hostname(config)# class-map dcerpc
hostname(config-cmap)# match port tcp eq 135
hostname(config)# policy-map global-policy
hostname(config-pmap)# class dcerpc
hostname(config-pmap-c)# inspect dcerpc dcerpc-map
hostname(config)# service-policy global-policy global
次のタスク
マップを使用するためのインスペクション ポリシーを設定できるようになりました。アプリケーション レイヤ プロトコル インスペクションの設定 を参照してください。