Catalyst 6500 シリーズ スイッチ Cisco IOS ソフトウェア コンフィギュレーション ガイド - リリース 12.1 E
DoS からの保護の設定
DoS からの保護の設定
発行日;2012/02/02 | 英語版ドキュメント(2011/06/13 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 10MB) | フィードバック

目次

DoS からの保護の設定

DoS からの保護の概要

DoS からの保護の設定

スーパーバイザ エンジンの DoS からの保護

セキュリティ ACL

QoS ACL

転送情報ベースによるレート制限

ARP スロットリング

パケット廃棄統計情報のモニタ

DoS からの保護の設定

この章では、Denial of Service(DoS; サービス拒絶)攻撃からシステムを保護する手順について説明します。この章で説明する内容はCatalyst 6500 シリーズ スイッチに固有のものであり、このマニュアルの 「ネットワーク セキュリティの設定」 の章で説明するネットワーク セキュリティ情報とその手順、および以下のマニュアルでのネットワーク セキュリティ情報とその手順を補完します。

次の URL の『 Cisco IOS Security Configuration Guide Release 12.2

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_c/index.htm

次の URL の『 Cisco IOS Security Command Reference Release 12.2

http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgcr/fsecur_r/index.htm

この章で説明する内容は、次のとおりです。

「DoS からの保護の概要」

「DoS からの保護の設定」

DoS からの保護の概要

Catalyst 6500 シリーズ スイッチで利用可能な DoS からの保護は、DoS 攻撃の次の 2 種類の状況に対するサポートを提供します。

次のようなルーティング プロトコルを処理不能に陥れるデータ パケット処理が DoS 攻撃につながる可能性があります。

hello タイムによるルーティング ピアの消失

hello タイムによる Hot Standby Router Protocol(HSRP)ピアの消失

ルーティング プロトコルの低速コンバージェンス

次のような CPU インバンド データパスを輻輳させるデータ パケットが DoS 攻撃につながる可能性があります。

hello パケットの廃棄によるルーティング ピアの消失

hello パケットの廃棄による HSRP ピアの消失


) ローカル ルータで DoS からの保護を利用して、外部リンクでのデータ パケットの輻輳が原因となるピアの消失を防ぐことはできません。


DoS からの保護の設定

ここでは、さまざまな DoS からの保護の実装について説明し、設定例を示します。

「スーパーバイザ エンジンの DoS からの保護」

「セキュリティ ACL」

「QoS ACL」

「転送情報ベースによるレート制限」

「ARP スロットリング」

「パケット廃棄統計情報のモニタ」

スーパーバイザ エンジンの DoS からの保護

スーパーバイザ エンジンには、ハードウェアのトラフィック レートを制限し、ルート プロセッサおよび DoS のフラッディングを防ぐ、組み込み型メカニズムが用意されています。レート制限により、ハードウェアのほとんどのトラフィックを廃棄し、毎秒 0.5 パケットのレート(設定不可)で小さい割合のトラフィックだけをルート プロセッサに転送できます。ハードウェアのパケットのレート制限は、次のトラフィックの状態に対して有効になります。

Access Control List(ACL; アクセス制御リスト)の拒否に対する Internet Control Message Protocol(ICMP; インターネット制御メッセージ プロトコル)の到達不能メッセージ

この状態では、ACL で拒否されるほとんどのパケットをハードウェアで廃棄し、一部のパケットをモニタの目的でルート プロセッサに転送できます。


) システムは ACL 拒否ログ パケットをすべてルート プロセッサにブリッジするようにプログラムされるため、セキュリティ ACL に拒否ログの Access Control Entry(ACE; アクセス制御エントリ)を設定することは推奨されません。


ICMP リダイレクト メッセージ

ルータは、ICMP リダイレクト メッセージを使用して、特定の宛先に利用できるより適切なルータがあることをデータ リンク上のホストに通知します。これらのメッセージのほとんどはハードウェアで廃棄され、ルート プロセッサに到達する必要のあるメッセージはわずかです。

Forwarding Information Base(FIB; 転送情報ベース)障害

FIB が特定の IP 宛先アドレスへのトラフィックのルーティング方法を認識していない場合、一部のパケットはルート プロセッサに転送され、ICMP リダイレクト メッセージを生成します。

Reverse Path Forwarding(RPF)障害

FIB の IP 送信元アドレス検索により RPF 障害が発生した場合、一部のパケットはルート プロセッサに転送され、ICMP 到達不能メッセージを生成します。

セキュリティ ACL

Catalyst 6500 シリーズ スイッチは、CPU インバンド データパスに到達する前に、セキュリティ ACL を使用してハードウェアでパケットを拒否し、DoS パケットを廃棄します。セキュリティ ACL は、Ternary Content Addressable Memory(TCAM)を使用してハードウェアで適用されるため、他のトラフィックのスループットに影響することなく、長いセキュリティ ACL を使用できます。また、セキュリティ ACL は、DoS 攻撃が識別された後でも適用できます。

セキュリティ ACL を使用して DoS パケットを廃棄する場合は、次の点に注意します。

セキュリティ ACL には、廃棄するトラフィック フローを指定する必要があります。

DoS パケットをブロックするために、セキュリティ ACL がすでに設定されているインターフェイスにセキュリティ ACL を追加する場合、既存のセキュリティ ACL に DoS セキュリティ ACL を統合する必要があります。

セキュリティ ACL は、保護する必要があるすべての外部インターフェイスに設定する必要があります。複数のインターフェイスにセキュリティ ACL を設定するには、interface range コマンドを使用します。

次に、セキュリティ ACL を使用して DoS パケットを廃棄する例を示します。

Router# clear mls ip mod 9
Router# show mls ip mod 9
Displaying Netflow entries in module 9
DstIP SrcIP Prot:SrcPort:DstPort Src i/f:AdjPtr
--------------------------------------------------------------------
Pkts Bytes Age LastSeen Attributes
---------------------------------------------------
199.1.1.1 199.2.1.1 0 :0 :0 0 : 0
1843 84778 2 02:30:17 L3 - Dynamic
199.2.1.1 199.1.1.1 0 :0 :0 0 : 0
2742416 126151136 2 02:30:17 L3 - Dynamic traffic flow identified
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# no access-list 199
Router(config)# access-list 199 deny ip host 199.1.1.1 any
Router(config)# access-list 199 permit ip any any
Router(config)# interface g9/1
Router(config-if)# ip access 199 in security ACL applied
Router(config-if)# end
Router#
1w6d: %SYS-5-CONFIG_I: Configured from console by console
Router# clear mls ip mod 9
Router# show mls ip mod 9
Displaying Netflow entries in module 9
DstIP SrcIP Prot:SrcPort:DstPort Src i/f:AdjPtr
--------------------------------------------------------------------
Pkts Bytes Age LastSeen Attributes
---------------------------------------------------
199.1.1.1 199.2.1.1 0 :0 :0 0 : 0
1542 70932 2 02:31:56 L3 - Dynamic
199.2.1.1 199.1.1.1 0 :0 :0 0 : 0
0 0 2 02:31:56 L3 - Dynamic hardware-forwarded
traffic stopped
Extended IP access list 199
deny ip host 199.1.1.1 any (100 matches)
permit ip any any
Router# show access-list 199
Extended IP access list 199
deny ip host 199.1.1.1 any (103 matches rate limiting at 0.5 pps
permit ip any any
Router #

QoS ACL

Quality of Service(QoS; サービス品質)ACL を使用すると、セキュリティ ACL とは異なり、フロー内のすべてのトラフィックへのアクセスを拒否することなく、トラフィック レートを制限できます。

QoS ACL を使用してパケットをレート制限する場合は、次の点に注意します。

QoS ACL には、レート制限するトラフィック フローを指定する必要があります。

パケットのレートを制限するために、QoS ACL がすでに設定されているインターフェイスに QoS ACL を追加する場合、既存の QoS ACL にレート制限 ACL を統合する必要があります。

QoS ACL は、保護する必要があるすべての外部インターフェイスに設定する必要があります。複数のインターフェイスに ACL を設定するには、interface range コマンドを使用します。

次に、QoS ACL を使用して、ルータに対する PING 攻撃を阻止する例を示します。受信する ICMP エコー パケットのレートを制限するように、すべてのインターフェイスに対して QoS ACL を設定および適用します。

Router# show ip ospf neighbors
 
Neighbor ID Pri State Dead Time Address Interface
6.6.6.122 1 FULL/BDR 00:00:30 6.6.6.122 Vlan46
Router# show ip eigrp neighbors
IP-EIGRP neighbors for process 200
H Address Interface Hold Uptime SRTT RTO Q Seq Type
(sec) (ms) Cnt Num
0 4.4.4.122 Vl44 11 00:06:07 4 200 0 6555
Router# ping attack starts
Router# show proc cpu | include CPU utilization
CPU utilization for five seconds: 99%/90%; one minute: 48%; five minutes: 25%
Router#
2w0d: %OSPF-5-ADJCHG: Process 100, Nbr 6.6.6.122 on Vlan46 from FULL to DOWN, Neighbor Down: Dead timer expired
Router# show ip eigrp neighbors
IP-EIGRP neighbors for process 200
Router#
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# access-list 199 permit icmp any any echo
Router(config)# class-map match-any icmp
Router(config-cmap)# match access-group 199
Router(config-cmap)# exit
Router(config)# policy-map icmp
Router(config-pmap)# class icmp
Router(config-pmap-c)# police 96000 16000 16000 conform-action transmit exceed-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface range g4/1 - 9
Router(config-if-range)# service-policy input icmp policy applied
Router(config-if-range)# end
2w0d: %SYS-5-CONFIG_I: Configured from console by console
2w0d: %OSPF-5-ADJCHG: Process 100, Nbr 6.6.6.122 on Vlan46 from LOADING to FULL, Loading Done
Router# show ip eigrp neighbors
IP-EIGRP neighbors for process 200
H Address Interface Hold Uptime SRTT RTO Q Seq Type
(sec) (ms) Cnt Num
0 4.4.4.122 Vl44 13 00:00:48 8 200 0 6565
Router#

転送情報ベースによるレート制限

転送情報ベース(FIB)によるレート制限を使用すると、ソフトウェア処理の必要なすべてのパケットをレート制限できます。

FIB レート制限を使用する場合は、次の注意事項に従ってください。

FIB レート制限では、マルチキャスト トラフィックのレートを制限しません。

FIB レート制限では、正規のトラフィックと不正なトラフィックは区別されません(トンネル、Telnet など)。

FIB レート制限では、フローごとではなく、集約的なレート制限が適用されます。

次に、ローカルに接続されたサブネット上に存在しないホスト アドレスを宛先とするトラフィックの例を示します。通常は、Address Resolution Protocol(ARP; アドレス解決プロトコル)要求に対して ARP 応答が返され、このトラフィックに対する FIB 隣接テーブルが実装されます。ただし、この宛先サブネットに対する FIB 隣接テーブルでは、トラフィックを受信しても、そのトラフィックをソフトウェアで処理するための転送を繰り返すことになります。このトラフィックにレート制限を適用することで、ソフトウェア処理のために転送されるトラフィック レートを、管理可能な量にまで制限できます。

Router# show ip eigrp neighbors
IP-EIGRP neighbors for process 200
H Address Interface Hold Uptime SRTT RTO Q Seq Type
(sec) (ms) Cnt Num
0 4.4.4.122 Vl44 11 00:00:26 8 200 0 6534
Router# show ip ospf neighbors
 
Neighbor ID Pri State Dead Time Address Interface
6.6.6.122 1 FULL/BDR 00:00:36 6.6.6.122 Vlan46
Router# attack starts
Router# show arp | include 199.2.250.250
Internet 199.2.250.250 0 Incomplete ARPA
Router#
1w6d: %OSPF-5-ADJCHG: Process 100, Nbr 6.6.6.122 on Vlan46 from FULL to DOWN, Neighbor Down: Dead timer expired
Router# show ip eigrp neighbors
IP-EIGRP neighbors for process 200
Router#
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# mls ip cef rate-limit 1000 traffic rate limited to 1000 pps
Router(config)# end
Router#
1w6d: %SYS-5-CONFIG_I: Configured from console by console
Router#
1w6d: %OSPF-5-ADJCHG: Process 100, Nbr 6.6.6.122 on Vlan46 from LOADING to FULL, Loading Done
Router# show ip eigrp neighbors
IP-EIGRP neighbors for process 200
H Address Interface Hold Uptime SRTT RTO Q Seq Type
(sec) (ms) Cnt Num
0 4.4.4.122 Vl44 12 00:00:07 12 200 0 6536
Router#

ARP スロットリング

ARP スロットリングは、接続されているネットワークを宛先とするパケットをルート プロセッサに転送するレートを制限します。これらのほとんどのパケットは廃棄され、わずかな数のパケットがルータに送信されます(レート制限)。

パケット廃棄統計情報のモニタ

レート制限メカニズムを使用して、一定数のパケットをソフトウェア処理のために転送できるため、CLI から NetFlow の show コマンドを入力することで、パケット廃棄統計情報を表示できます。また、着信または送信トラフィックをインターフェイス上でキャプチャし、このトラフィックのコピーを外部インターフェイスに送信して、トラフィック アナライザなどでモニタできます。トラフィックをキャプチャして外部インターフェイスに転送するには、monitor session コマンドを使用します。

NetFlow コマンドによる廃棄パケットのモニタ

次の NetFlow コマンドは、ハードウェアでスイッチされたか、またはルート プロセッサに転送された、ルータ MAC 宛てのフローを表示します。

MLS NetFlow のフロー マスクが destination-only よりも大きい値に設定されている場合は、送信元またはフローに基づいた統計情報の表示だけが行われます。

Router# show mls ip
Displaying Netflow entries in Supervisor Earl
DstIP SrcIP Prot:SrcPort:DstPort Src i/f:AdjPtr
--------------------------------------------------------------------
200.2.5.3 0.0.0.0 0 :0 :0 0 : 0
Pkts Bytes Age LastSeen Attributes
---------------------------------------------------
0 0 1 01:52:25 L3 - Dynamic
 
Router# show mls netflow flowmask
current ip flowmask for unicast: destination only
current ipx flowmask for unicast: destination only
 
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# mls flow ip destination-source
Router(config)# exit
1w6d: %SYS-5-CONFIG_I: Configured from console by console
Router# show mls ip
Displaying Netflow entries in Supervisor Earl
DstIP SrcIP Prot:SrcPort:DstPort Src i/f:AdjPtr
--------------------------------------------------------------------
200.2.5.3 223.255.254.226 0 :0 :0 0 : 0
Pkts Bytes Age LastSeen Attributes
---------------------------------------------------
0 0 2 01:54:05 L3 - Dynamic
 
Router#
 

show mls ip コマンドを使用して特定の送信元アドレスまたは宛先アドレスのフローに関する情報を表示する場合、使用できるホスト プレフィクスは 32 個に限られます。出力修飾子を使用すると、特定のサブネットからのすべてのフローを表示できます。

Router# show mls ip source 9.9.9.2 mod 4
Displaying Netflow entries in module 4
DstIP SrcIP Prot:SrcPort:DstPort Src i/f:AdjPtr
--------------------------------------------------------------------
9.9.9.177 9.9.9.2 0 :0 :0 0 : 0
Pkts Bytes Age LastSeen Attributes
---------------------------------------------------
0 0 28 01:56:59 L3 - Dynamic
 
Router# show mls ip mod 4 | include 9.9.9
9.9.9.177 9.9.9.2 0 :0 :0 0 : 0
9.9.9.177 9.9.9.1 0 :0 :0 0 : 0
 

monitor session コマンドによる廃棄パケットのモニタ

次の例では、monitor session コマンドを使用してトラフィックをキャプチャし、外部インターフェイスに転送する方法を示します。

Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# monitor session 1 source vlan 44 both
Router(config)# monitor session 1 destination interface g9/1
Router(config)# end
Router#
2w0d: %SYS-5-CONFIG_I: Configured from console by console
Router# show monitor session 1
Session 1
---------
Source Ports:
RX Only: None
TX Only: None
Both: None
Source VLANs:
RX Only: None
TX Only: None
Both: 44
Destination Ports: Gi9/1
Filter VLANs: None