Для защиты маршрутизатора на уровне Control-Plane предусмотрено 2 механизма защиты:
1. Блокировка сервисного трафика с помощью конфигурации Control-Plane
2. Ограничение полосы пропускания для сервисного трафика с помощью Punt Shapers
CONTROL-PLANE
С помощью Control-Plane можно полностью заблокировать доступ к маршрутизатору на определённых интерфейсах или для определённого хоста или подсети.
По умолчанию блок Control Plane отсутствует в конфигурации маршрутизатора, а все подключения разрешены.
Для того чтобы создать блок необходимо воспользоваться командой:
0/ME5200:R5(config)# control-plane [inband\out-of-band]
Конфигурация Control-Plane разбита на 2 логических блока inband и out-of-band:
1. inband - Отвечает за работу Control-Plane в GRT и VRF
2. out-of-band - Отвечает за работу Control-Plane на интерфейсах управления (mgmt)
Затем необходимо выбрать интерфейсы, на которые будет распространяться правила:
Для inband можно указать : bundle-ether, fortygigabitethernet, gigabitethernet, hundredgigabitethernet, tengigabitethernet, twentyfivegigabitethernet, а так же сабинтерфейсы или "all" , для того чтобы правила распространялись на все интерфейсы.
Например:
0/ME5200:R5(config)# control-plane inband interface all
0/ME5200:R5(config)# control-plane out-of-band interface mgmt all
По умолчанию для каждого правила Control-Plane действием по-умолчанию является "Запретить остальные соединения"
Добавим разрешающее правило командой "allow [protocol]" - Для выбора доступны ftp, hhtp, icmp, netconf, ntp, snmp, ssh, telnet, tftp, tcp/udp + port , а так же "any" , для того чтобы разрешить все протоколы.
0/ME5200:R5(config)# control-plane inband interface all allow icmp-echo
Для того чтобы разрешить протокол для всех хостов - необходимо добавить команду "any"
Для того чтобы разрешить протокол для определённых хостов - необходимо указать "peer" - address A.B.C.D , A.B.C.D/N или address-range A.B.C.D-A.B.C.D
Пример OOB правила:
control-plane out-of-band interface mgmt all <--- Правило для всех интерфейсов управления. allow icmp-echo <--- Разрешим ICMP-Echo для хостов 192.168.0.254 и 192.168.1.254 peer address 192.168.0.254 address 192.168.1.254 exit exit allow snmp peer address-range 192.168.0.128-192.168.0.254 <---Разрешим SNMP диапазону адресов 192.168.0.128-192.168.0.254 exit exit allow ssh <---Разрешим SSH для подсети 192.168.0.0/24 peer address 192.168.0.0/24 exit exit exit allow telnet <---Разрешим Telnet для подсети 192.168.1.0/24 peer address 192.168.1.0/24 exit exit exit policy drop <--- Пакеты попавшие под запрещающее правило будут отброшены exit
Для inband интерфейсов создадим следующее правило:
На всех интерфейсах разрешим работу всех протоколов для подсети 172.20.20.0/24
На всех интерфейсах разрешим ICMP-ECHO для подсети 10.0.0.0/8
На интерфейсах te0/0/1-te0/0/5 разрешим работу всех протоколов для подсети 172.16.0.0/16
Пример in-band правила:
control-plane inband interface all allow all peer address 172.20.20.0/24 exit exit allow icmp-echo peer address 10.0.0.0/8 exit exit exit control-plane inband interface tengigabitethernet 0/0/1 allow all peer address 172.16.0.0/16 exit exit exit control-plane inband interface tengigabitethernet 0/0/2 allow all peer address 172.16.0.0/16 exit exit exit control-plane inband interface tengigabitethernet 0/0/3 allow all peer address 172.16.0.0/16 exit exit exit control-plane inband interface tengigabitethernet 0/0/4 allow all peer address 172.16.0.0/16 exit exit exit
Не смотря на то, что в Control-Plane есть возможность ограничивать работу определённых TCP/UPD портов - ограничить работу некоторых протоколов не получится.
Например подобное правило не сможет ограничить протокол для конфигурированных BGP neighbors. :
control-plane inband interface all allow tcp 179 <----- Порт протокола BGP peer address 192.168.0.0/24 exit exit exit exit
Так же, с помощью Control-Plane не получится ограничить работу следующих протоколов:
OSPF IGMP PIM VRRP RSVP LDP BFD (singlehop, multihop) microBFD DHCP
PUNT SHAPERS
С помощью Punt Shaper можно ограничить полосу пропускания для определённого вида сервисного трафика.
В отличии от Control-Plane , punt shapers предварительно сконфигурирован и изначально имеет оптимальную конфигурацию для большинства сценариев использования.
Посмотреть текущее состояние и конфигурацию Punt-Shapers можно с помощью команды "show system punt shapers"
0/ME5200:R5# show system punt shapers Wed Jan 24 07:24:50 2024 Location 0/0 Type Default (kbps) Configured (kbps) Hardware (kbps) Current load (kbps) Current load (pps) ----------------- --------------- ------------------ ---------------- -------------------- ------------------- arp-ndp 20000 20000 20001 0.000 0 bfd 10000 10000 10001 0.000 0 dhcp 50000 50000 50001 0.000 0 ip-connected 20000 20000 20001 0.000 0 ip-frag 10000 10000 10001 0.000 0 ip-local 200000 200000 200001 0.000 0 ip-mcast 20000 20000 20001 0.000 0 ip-mcast-proto 50000 50000 50001 0.000 0 ip-options 1000 1000 1001 0.000 0 ip-ttl 1000 1000 1001 0.000 0 isis 50000 50000 50001 0.000 0 lacp 1000 1000 1001 0.000 0 lldp 1000 1000 1001 0.000 0 mac-learning 50000 50000 50001 0.000 0 mpls-oam 5000 5000 5001 0.000 0 netflow 200000 200000 200001 0.000 0 ospf 50000 50000 50001 13.872 17 other 1000 1000 1001 0.000 0 pim 20000 20000 20001 0.000 0 rip 50000 50000 50001 0.000 0 stp 5000 5000 5001 0.000 0 udld 10000 10000 10001 0.000 0 vrrp 20000 20000 20001 0.000 0 ---------------- -------------- ----------------- --------------- ------------------- ------------------ common 1000000 1000000 1012500 0.000 0
Изменить конфигурацию Punt-Shaper можно в блоке "system punt rate-limit" с помощью команды "flow"
Для примера запретим работу multicast и ospf ограничив их полосу пропускания до 0:
0/ME5200:R5(config)# system punt rate-limit 0/ME5200:R5(config-rate-limit)# flow ip-mcast rate 0 0/ME5200:R5(config-rate-limit)# flow ip-mcast-proto rate 0 0/ME5200:R5(config-rate-limit)# flow ospf rate 0
0/ME5200:R5(config-rate-limit)# do show system punt shapers Thu Jan 25 04:31:17 2024 Location 0/0 Type Default (kbps) Configured (kbps) Hardware (kbps) Current load (kbps) Current load (pps) ----------------- --------------- ------------------ ---------------- -------------------- ------------------- arp-ndp 20000 20000 20000 0.000 0 bfd 10000 10000 10000 0.000 0 dhcp 50000 50000 50000 0.000 0 ip-connected 20000 20000 20000 0.000 0 ip-frag 10000 10000 10000 0.000 0 ip-local 200000 200000 200000 0.000 0 ip-mcast 20000 0 0 0.000 0 ip-mcast-proto 50000 0 0 0.000 0 ip-options 1000 1000 1002 0.000 0 ip-ttl 1000 1000 1002 0.000 0 isis 50000 50000 50000 0.000 0 lacp 1000 1000 1002 0.000 0 lldp 1000 1000 1002 0.000 0 mac-learning 50000 50000 50000 0.000 0 mpls-oam 5000 5000 5000 0.000 0 netflow 200000 200000 200000 0.000 0 ospf 50000 0 0 0.000 0 other 1000 1000 1002 0.000 0 pim 20000 20000 20000 0.000 0 rip 50000 50000 50000 0.000 0 stp 5000 5000 5000 0.000 0 udld 10000 10000 10000 0.000 0 vrrp 20000 20000 20000 0.000 0 ---------------- -------------- ----------------- --------------- ------------------- ------------------ common 1000000 1000000 1012500 0.000 0
Таким образом можно ограничить работу тех протоколов, которые не позволяет ограничить Control-Plane.
Так же можно расширить список протоколов добавив в конфигурацию маршрутизатора команду "hw-module enable extended-punt" и перезагрузив маршрутизатор.
0/ME5200:R5(config)# do show system punt shapers Thu Jan 25 04:47:44 2024 Location 0/0 Type Default (kbps) Configured (kbps) Hardware (kbps) Current load (kbps) Current load (pps) ----------------- --------------- ------------------ ---------------- -------------------- ------------------- arp-ndp 20000 20000 20000 0.000 0 bfd 10000 10000 10000 16.848 26 dhcp 50000 50000 50000 0.000 0 igmp 20000 20000 20000 0.000 0 ip-connected 20000 20000 20000 0.000 0 ip-frag 10000 10000 10000 0.000 0 ip-local 200000 200000 200000 0.000 0 ip-mcast 20000 0 0 0.000 0 ip-mcast-proto 50000 0 0 0.000 0 ip-options 1000 1000 1002 0.000 0 ip-ttl 1000 1000 1002 0.000 0 isis 50000 50000 50000 0.000 0 lacp 1000 1000 1002 0.000 0 ldp 10000 10000 10000 0.000 0 lldp 1000 1000 1002 0.000 0 mac-learning 50000 50000 50000 0.000 0 mpls-oam 5000 5000 5000 0.000 0 netflow 200000 200000 200000 0.000 0 ospf 50000 0 0 0.000 0 other 1000 1000 1002 0.000 0 pim 20000 20000 20000 0.000 0 rip 50000 50000 50000 0.000 0 stp 5000 5000 5000 0.000 0 udld 10000 10000 10000 0.000 0 vrrp 20000 20000 20000 0.000 0 ---------------- -------------- ----------------- --------------- ------------------- ------------------ common 1000000 1000000 1012500 16.848 26