DoS gegen die Control Plane mitigieren: CoPP und Rate-Limit-Strategie

Die Control Plane eines Routers ist für die Verarbeitung von Routing-Protokollen, Management-Traffic und Paketverarbeitung verantwortlich. Ein Denial-of-Service (DoS) auf die Control Plane kann die gesamte Netzwerkinfrastruktur destabilisieren, selbst wenn die Forwarding Plane weiterhin funktioniert. Um solche Angriffe zu mitigieren, bietet Cisco Mechanismen wie Control Plane Policing (CoPP) und gezielte Rate-Limits für verschiedene Traffic-Typen. Dieses Tutorial beschreibt praxisnah, wie CoPP implementiert und optimiert werden kann, um die Control Plane zu schützen.

Grundlagen der Control Plane und CoPP

Die Control Plane ist zuständig für Routing-Protokolle (OSPF, BGP, EIGRP), Management-Zugriffe (SSH, SNMP, NetFlow) und ICMP-Messages. CoPP ermöglicht die Definition von Policies, die den Traffic zur Control Plane klassifizieren und priorisieren.

  • Traffic-Klassifikation: Differenzierung nach Protokolltyp und Priorität
  • Rate-Limiting: Begrenzung der Pakete pro Sekunde für bestimmte Dienste
  • Priorisierung: Kritischer Traffic wird bevorzugt behandelt

CoPP-Strategie entwickeln

Ein effektives CoPP-Design basiert auf der Analyse von legitimen Control-Plane-Anforderungen:

  • Management-Traffic (SSH, SNMP, Syslog)
  • Routing-Protokolle (OSPF Hello, BGP Keepalives)
  • ICMP für Ping und Traceroute
  • DHCP/ARP für lokale Netzwerke

Ziel ist es, legitimen Traffic ausreichend Bandbreite zuzuweisen und DoS-Traffic zu limitieren.

CoPP implementieren

Step 1: ACL zur Klassifikation erstellen

Router(config)# ip access-list extended CO_PP-ACL
Router(config-ext-nacl)# permit tcp any any eq 22
Router(config-ext-nacl)# permit udp any any eq 161
Router(config-ext-nacl)# permit icmp any any
Router(config-ext-nacl)# permit ospf any any
Router(config-ext-nacl)# deny ip any any

Hier werden SSH, SNMP, ICMP und OSPF-Traffic identifiziert, während anderer Traffic als “default” behandelt wird.

Step 2: Class-Map definieren

Router(config)# class-map match-any COPP-CLASS
Router(config-cmap)# match access-group name CO_PP-ACL

Step 3: Policy-Map erstellen

Router(config)# policy-map COPP-POLICY
Router(config-pmap)# class COPP-CLASS
Router(config-pmap-c)# police 1000 pps conform-action transmit exceed-action drop
Router(config-pmap-c)# exit
Router(config-pmap)# class class-default
Router(config-pmap-c)# police 200 pps conform-action transmit exceed-action drop

Legitimer Traffic (COPP-CLASS) wird mit 1000 Paketen pro Sekunde erlaubt, anderer Traffic mit 200 Paketen pro Sekunde.

Step 4: Policy auf Control Plane anwenden

Router(config)# control-plane
Router(config-cp)# service-policy input COPP-POLICY

Rate-Limit-Strategien

Rate-Limits verhindern, dass die Control Plane durch Traffic-Fluten blockiert wird. Empfehlungen:

  • Routing-Protokolle: ausreichend Bandbreite für OSPF/BGP-Keepalives
  • Management-Traffic: priorisieren, um Admin-Zugriff zu sichern
  • ICMP: niedriges Limit, ausreichend für Monitoring
  • Default-Traffic: sehr restriktiv, um DoS zu mitigieren

Monitoring und Auditing

Regelmäßige Kontrolle der CoPP-Policies ist entscheidend:

show policy-map control-plane
show access-lists CO_PP-ACL
show control-plane host open-ports

So lassen sich Anomalien, hohe Fehlerraten oder Traffic-Spikes frühzeitig erkennen.

Fehlervermeidung

  • Policy-Maps testen, bevor sie produktiv angewendet werden
  • Routing-Protokolle und Management-Zugriffe priorisieren, um Lockouts zu vermeiden
  • Rate-Limits nicht zu restriktiv setzen, sonst könnten legitime Pakete verworfen werden
  • AAA und Logging aktivieren, um Angriffe nachverfolgen zu können

Best Practices für Enterprise-Umgebungen

  • Separate Class-Maps für kritische Dienste (Routing, Management, ICMP)
  • Regelmäßige Analyse des Control Plane-Traffics
  • Redundante Management- und AAA-Server
  • Dokumentation aller Policies für Audits und Compliance
  • Kontinuierliche Anpassung der Rate-Limits auf Basis der Netzwerkgröße

Zusammenfassung der CLI-Grundbausteine

  • ACL erstellen:
    ip access-list extended CO_PP-ACL
    permit tcp any any eq 22
    permit udp any any eq 161
    permit icmp any any
    permit ospf any any
    deny ip any any
  • Class-Map definieren:
    class-map match-any COPP-CLASS
    match access-group name CO_PP-ACL
  • Policy-Map erstellen:
    policy-map COPP-POLICY
    class COPP-CLASS
    police 1000 pps conform-action transmit exceed-action drop
    class class-default
    police 200 pps conform-action transmit exceed-action drop
  • Policy auf Control Plane anwenden:
    control-plane
    service-policy input COPP-POLICY
  • Monitoring:
    show policy-map control-plane
    show access-lists CO_PP-ACL
    show control-plane host open-ports

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles