CoPP ( Control Plane Policing )



 ◆ CoPPとは

 CoPP(コントロール プレーン ポリシング)では、Ciscoデバイスの「
コントロールプレーンのCPUで
 処理するパケットを制御
することができます。例えばCiscoデバイスのコントロールプレーンを宛先とした
 大量のパケットを送り付けるDoS攻撃が行われても、CoPP機能により、そのようなDoS攻撃からルータや
 スイッチのコントロールプレーンを保護することができます。


   


 
※ CoPPの適用は、機種によってコントロールプレーンに対し「input」だけでなく「output」でも適用することが可能です。


 CoPPをCiscoデバイスに実装することで、
特定のプロトコルのパケットにポリシングによるレート制限を
 設定することができます
。定義したパケットに対しポリシーが適用されて、定義されているレート制限に
 準拠するパケットがコントロールプレーンのCPUに着信することが許可されます。

 ※ ブロードキャストパケットはハードウェアではCoPPがサポートされないことから、ブロードキャスト
 を使用したDoS攻撃から保護するためには、ACLやストーム制御の組み合わせが必要となります。そして
 注意すべき制約事項に、CoPPポリシーACLでは「
log 」キーワードを使用してはいけない点があります。


 以下ではCoPPのコンフィグ設定を紹介しますが、CoPPの設定は機種によりコンフィグやデフォルト値が
 異なるので、設定する場合にはその機種、そのバージョンの最新マニュアルを参照するようにしましょう。
 
CoPPはデフォルトで有効になっています。show policy-map control-planeでステータス確認できます。



 ◆ CoPP:設定の流れ

 Step1:
拡張ACLにより対象トラフィックの定義
 Step2:
class-mapコマンドにより合致条件の定義
 Step3:
policy-mapコマンドにより対象classを指定してポリシングの定義
 Step4:
control-planeコマンドによりQoSサービスポリシーを制御プレーンに適用
 ※ アクセススイッチのCatalystでは「
mls qos copp protocol 」コマンドでCoPPの設定をします。



 ◆ CoPP:設定例

 例1:コントロールプレーンに着信するTelnetトラフィックに対するコントロールプレーン ポリシング

 送信元IPアドレス「192.168.1.1」と「192.168.1.2」を信頼できるホストとして定義し、これらのホスト
 からのTelnetパケットは制約なしでコントロールプレーンに転送します。これらの信頼できるホストを除き
 残りの全てのコントロールプレーンへのTelnetパケットは指定したレートでポリシングされます。
 
※ ACL 111の「deny・permit」は、レート制限対象(通信制限)にするかどうかの合致条件の判断基準として使用しています。


 Cisco(config)#
access-list 111 deny tcp host 192.168.1.1 any eq telnet
 Cisco(config)#
access-list 111 deny tcp host 192.168.1.2 any eq telnet
 Cisco(config)#
access-list 111 permit tcp any any eq telnet

 Cisco(config)#
class-map TELNET-CLASS
 Cisco(config-cmap)#
match access-group 111

 Cisco(config)#
policy-map CPU-IN
 Cisco(config-pmap)#
class TELNET-CLASS
 Cisco(config-pmap-c)#
police 80000 conform transmit exceed drop

 Cisco(config)#
control-plane
 Cisco(config-cp)#
service-policy input CPU-IN



 例2:DoS攻撃を軽減するためのコントロールプレーンの設定(指定レートでRSVPパケットを制限)


 Cisco(config)#
access-list 111 permit 46 any any
 Cisco(config)#
access-list 112 permit adp any eq 1699 any eq 1698

 Cisco(config)#
class-map match-any RSVP-CLASS
 Cisco(config-cmap)#
match access-group 111
 Cisco(config-cmap)# match access-group 112

 Cisco(config)#
policy-map CPU-IN
 Cisco(config-pmap)#
class RSVP-CLASS
 Cisco(config-pmap-c)#
police rate 10 pps
 Cisco(config-pmap-c-police)# conform-action transmit
 
Cisco(config-pmap-c-police)# exceed-action drop

 Cisco(config)#
control-plane
 Cisco(config-cp)#
service-policy input CPU-IN




ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.