DTP(ダイナミック トランキング プロトコル)

 DTP (Dynamic Trunking Protocol) は、Catalyst2960、Catalyst 3560 シリーズ スイッチ上のスイッチポートをアクセスポートまたはトランクポートにするのかを動的に決定するCisco独自のプロトコルです。

 DTPによって、隣接する対向のスイッチポートの状況をネゴシエーションして、自身のスイッチポートをアクセスポートまたはトランクポートで動作させます。

 Cisco独自のプロトコルであるため、他ベンダーのスイッチでは、DTP をサポートしていません。また、CiscoスイッチのすべてがDTPをサポとしているわけではありません。

 DTPをサポートしていないスイッチでは、DTP フレームを正しく処理できないことがあるため誤設定を引き起こす可能性があります。

 これを回避するには、DTP をサポートしないスイッチと接続しているCiscoスイッチのインターフェイスで DTP をオフにする必要があります。

 DTP をサポートしないデバイスへのトランキングをイネーブルにするには、「switchport mode trunk」 および「 switchport nonegotiate」コマンドをインターフェイス コンフィギュレーションモードから実行します。これにより、インターフェイスをtrunkモードにして、DTP フレームを生成しないようにします。

DTPの動作モード

switchport mode access インターフェイスをアクセスポートにして永続的な非トランキングモードにします。対向インターフェイスがトランク インターフェイスであるかどうかに関係なく、インターフェイスは非トランク インターフェイスになります。
switchport mode dynamic auto インターフェイスをトランクに変換できるようにします。対向インターフェイスが trunkモード、desirable モードに設定されている場合、インターフェイスは、trunkモードになります。
デフォルトのスイッチポートのモードは、dynamic auto モードになっています。
switchport mode dynamic desirable 自身のスイッチポートを積極的に trunk モードに変換するように試みます。 対向インターフェイスが trunk、desirable、または auto モードに設定されている場合、インターフェイスは、trunk モードになります。 Catalyst2950、Catalyst3550シリーズのスイッチなど、旧型スイッチは、このモードがデフォルトになっています。
switchport mode trunk インターフェイスを永続的な trunk モードにします。対向インターフェイスが、trunk モードでない場合でも、自身のインターフェイスは、trunk モードになります。
switchport nonegotiate インターフェイスから、DTP フレームを生成しないようにします。このコマンドは、インターフェイスのスイッチポートのモードが access モード、または trunk モードの場合にだけ、使用できます。

DTPネゴシエーションの結果

 Dynamic AutoDynamic DesirableTrunkAccess
Dynamic Autoアクセストランクトランクアクセス
Dynamic Desirableトランクトランクトランクアクセス
Trunkトランクトランクトランク限定された接続
Accessアクセスアクセス限定された接続アクセス

スイッチ スプーフィング攻撃

 スイッチポートが、デフォルトの設定の場合、Dynamic Autoモード、あるいは、Dynamic Desirableになっています。DTPが有効になっている場合、スイッチ スプーフィング攻撃を受けるリスクがあります。

 ネットワーク攻撃者は、スイッチポートのデフォルト設定では、DTPでリンクをトランクにするかどうかをネゴシエーションするということを利用して攻撃の糸口にします。

 trunk モードとなっているポートではすべての VLAN にアクセスできます。攻撃者は 802.1Q および DTP メッセージをエミュレートして、リンクをトランクにすることで、すべての VLAN へのアクセスを取得できます。

 トランクリンクが必要な場合の一般的なベストプラクティスは、インターフェイスを手動で、trunkモードにして、DTPを nonegotiate と指定して無効に設定することです。

以下のコマンドを実行します。

switch(config)#switchport mode trunk
switch(config)#switchport nonegotiate

チャンネルの紹介