◆ 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
|
|