Nəzəri əsaslar və memarlıq

Control plane-in qorunması (Control Plane Policing, CoPP; tədbirlər toplusu RFC 6192-də təsvir olunub) marşrutlaşdırıcının müdafiə sərhədlərindən biridir. CPU protokollara (BGP, OSPF/IS-IS, LDP, BFD) və idarəetməyə (SSH, SNMP) cavabdehdir. Marşrutlaşdırıcının özünə ünvanlanmış istənilən paket, eləcə də TTL=1, ARP/glean və ICMP cavabları olan paketlər məhdud tutumlu kanalla (punt) CPU-ya gedir. Loopback-ə saniyədə on minlərlə paketlik axın BGP keepalive-larını, LDP hello-larını və BFD paketlərini gecikdirə bilər və sessiyalar taymerlə düşər. CoPP CPU-ya gedən trafiki siniflər üzrə polis edir (əksər platformalarda bu aparatda həyata keçirilir; RouterOS-da oxşar qaydaları CPU-nun özü icra edir): 1. ROUTING (BGP, IGP, LDP, BFD): səxavətli polisər, çünki itirilmiş hello sessiyanı düşürür. 2. MGMT (SSH, SNMP, NTP, TACACS+): yalnız idarəetmə şəbəkəsindən, orta polisər. 3. ICMP: aşağı polisər, lakin tam drop deyil, əks halda PMTUD pozulur. 4. DEFAULT: qalan hər şey, minimal polisər və ya drop. CoPP CPU-ya nə qədər trafikin çatacağını məhdudlaşdırır, lakin ACL-i (cihazla kimin danışa biləcəyi), protokol autentifikasiyasını, GTSM və uRPF-i əvəz etmir: tədbirlər bir-birini tamamlayır. Müştəri VRF-i bu təhlükədən qorumur: PE-CE interfeysinin ünvanı müştəri üçün əlçatandır.

Üç qat və punt yolu

Tranzit paketlər ASIC/NPU-da emal olunur (data plane), marşrutlaşdırma və siqnallaşma protokolları marşrutlaşdırıcının CPU-sunda işləyir (control plane), SSH, SNMP, NTP, TACACS+ və syslog isə idarəetmə qatına (management plane) aiddir. Marşrutlaşdırıcının özünə ünvanlanmış istənilən paket (loopback və ya interfeys ünvanı, yaxud multicast 224.0.0.2/5/6), həmçinin TTL=1, IP options, ARP/glean və ICMP cavabları olan paketlər məhdud tutumlu daxili kanal (punt path) üzərindən CPU-ya göndərilir. Bu kanal və prosessor özü ortaq resursdur: PE loopback-inə saniyədə on minlərlə paketlik axın BGP keepalive-larını, LDP hello-larını və BFD paketlərini gecikdirə bilər, bundan sonra sessiyalar taymerlə düşür və yük şəbəkədə kaskad şəklində yayılır. VRF-dəki müştəri də CPU-ya çatır: onun VRF-indəki PE-CE interfeys ünvanı ping-ə cavab verir və TCP qəbul edir, buna görə VRF izolyasiyası bu təhlükədən qorumur.

Dərinlikdə müdafiə (RFC 6192)

RFC 6192 bir-birindən asılı olmayan tədbirlər dəstini təsvir edir: sərhəddə filtrasiya (infrastruktur ACL-ləri), marşrutlaşdırıcının özündə qəbul filtri (Cisco rACL, lo0-da Junos filtri), siniflər üzrə sürət məhdudiyyəti (CoPP), konkret protokolların qorunması (autentifikasiya, GTSM, max-prefix) və monitorinq. Tədbirlər bir-birini tamamlayır: ACL kimin cihazla ümumiyyətlə danışa biləcəyini müəyyən edir, CoPP nə qədər danışa biləcəyini məhdudlaşdırır, autentifikasiya isə danışanın doğru adam olduğunu yoxlayır. Heç bir tədbir digərlərini əvəz etmir.

CoPP sinifləri və başlanğıc siyasətlər

SinifNə daxildirBaza siyasəti
ROUTINGməlum qonşulardan hər iki istiqamətdə BGP (TCP 179), OSPF (protokol 89), LDP (UDP/TCP 646), BFD (UDP 3784, 4784, 3785)Səxavətli poliser: hello-ların itməsi sessiyanın itməsi deməkdir
MGMTyalnız idarəetmə şəbəkəsindən SSH (TCP 22), SNMP (UDP 161), NTP (UDP 123), TACACS+ cavabları (TCP 49)Orta poliser, mənbələr ACL ilə məhdudlaşdırılır
ICMPecho, echo-reply, time-exceeded, unreachable (PMTUD üçün frag-needed daxil olmaqla)Aşağı poliser: tam atmayın, əks halda PMTUD pozulur
DEFAULTmarşrutlaşdırıcıya ünvanlanmış qalan hər şeyMinimal poliser və ya drop

Cədvəldə rəqəmlər qəsdən verilməyib: başlanğıc qiymətlər platformanın baza profilinə görə seçilir (1-2 həftə exceed-action transmit qoyulur, exceeded sayğaclarına baxılır, sonra drop aktiv edilir).

Siniflər üçün ACL-ləri necə qurmaq olar

Klassifikasiya hər iki istiqamətdə ünvan və port üzrə aparılır: bizim tərəfdən başladılmış BGP sessiyası source port 179 olan paketlərlə qayıdır, qonşunun başlatdığı sessiya isə destination port 179 ilə gəlir. Yalnız bir tərəfi təsvir edən ACL-lər marşrut cədvəli dəyişmədiyi müddətdə işləyir, sessiya yenidən başladıqdan sonra cavab paketləri class-default-a düşür və sessiya cədvəli bərpa edə bilmir. IS-IS üçün IP-ACL faydasızdır: IS-IS L2 səviyyəsində (CLNP) işləyir və onu platformanın ayrıca vasitələri qoruyur. CoPP-də IP-ACL yalnız təsnif edir: permit "bu sinifə" deməkdir, "icazə ver" yox, deny isə "başqa sinifə" deməkdir.

CoPP harada tətbiq olunur

  • Cisco IOS-XE: control-plane üzərində MQC siyasəti (aggregate); cihazın özünə ünvanlanmış paketlər üçün control-plane host, həmçinin control-plane transit və control-plane cef-exception alt bölmələri var. Poliser police cir/police rate ilə təyin olunur, sayğaclara show policy-map control-plane-də baxılır.
  • Huawei VRP: paket növünə görə CAR (car packet-type), ACL əsaslı ağ və qara siyahılarla cpu-defend policy; siyasət qlobal və ya konkret platada tətbiq olunur.
  • Juniper Junos: lo0.0 girişində firewall family inet filter (filtr RE-yə gedən hər şeyə tətbiq olunur), üstəlik hər protokol üçün poliserli daxili DDoS qoruması (ddos-protection). Lazımi protokollar üçün accept term-ləri və bağlayıcı discard ilə lo0 filtri RE-nin standart qoruma sxemidir.
  • MikroTik RouterOS: ünvan siyahıları və limit= ilə /ip/firewall/filter-in input zənciri; xüsusi CoPP mexanizmi yoxdur, qaydalar CPU-da icra olunur, ona görə erkən drop üçün onları /ip/firewall/raw-a qoyurlar.

Management plane: SSH, VTY, AAA, SNMPv3

  • SSH-only: SSHv2, ən azı 2048 bitlik RSA açarı, Telnet və HTTP söndürülüb, xətlərdə transport input ssh, exec-timeout, giriş cəhdlərinin sayına məhdudiyyət.
  • VTY-də ACL: vrf-also ilə access-class girişə yalnız idarəetmə şəbəkəsindən icazə verir. Bu, CoPP-dən sonra ikinci sərhəddir: CoPP sürəti, VTY ACL isə mənbəni məhdudlaşdırır.
  • AAA/TACACS+: TACACS+ (RFC 8907) üzərində autentifikasiya, imtiyazlara görə avtorizasiya və komandalar üzrə accounting; local ehtiyatı ilə ki, server itəndə mühəndis cihazdan kənarda qalmasın. Server sirri şifrələnmiş şəkildə saxlanılır, konsol xətti öz metodunu alır. RouterOS TACACS+ dəstəkləmir, yalnız RADIUS.
  • SNMPv3: authPriv səviyyəsi (SHA və AES), istifadəçi qrupa və məhdud view-a bağlanır, mənbələr ACL ilə süzülür. v1/v2c community-ləri söndürülür: sətir açıq mətnlə ötürülür.

TTL, uRPF və GTSM ilə əlaqə

TTL propagation (no mpls ip propagate-ttl) nüvəni traceroute-dan gizlədir, GTSM (RFC 5082) TTL-i həddən aşağı olan BGP sessiya paketlərini atır, uRPF (RFC 3704) isə saxta mənbəli paketləri kəsir. Bu mexanizmlər CoPP-ni tamamlayır, lakin ayrıca konfiqurasiya olunur və PE hardening laboratoriya işində təhlil edilir.

Necə yoxlamaq olar

Əvvəlcə sinif sayğacları (conformed və exceeded) və ACL-də uyğunluqlar, sonra yük: etibarsız mənbədən loopback-ə axın başladılır və exceeded-in DEFAULT/ICMP-də artdığına, BGP/LDP/BFD-nin Established qaldığına və CPU-nun artmadığına əmin olunur. Hər ACL dəyişikliyi qonşu sessiyalarının yalnız sakit vəziyyətdə yox, soft reset ilə clear-dan sonra bərpa olunduğunun yoxlanması ilə müşayiət olunur.

Memarlıq sxemi və topologiya