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

VPN izolyasiyası və idarəetmə müstəvisinin qorunması dərsləri "nəyi bağlamaq" sualına cavab verir, bu dərs isə onu operatorun sərhədində bağlayan dörd mexanizmi izah edir. TTL yayılma rejimi müştərinin traceroute-da P marşrutlaşdırıcılarının ünvanlarını görüb-görməyəcəyini və ICMP time-exceeded-in LSP vasitəsilə mənbəyə necə çatdığını müəyyən edir. uRPF (RFC 3704, BCP 84) saxta mənbə ünvanlı paketləri atır: ciddi rejim müştərilər, sərbəst rejim isə bir neçə provayderlə xətlər üçün uyğundur, default marşrut isə yoxlamanı asanlıqla mənasız edir. GTSM (RFC 5082) yalnız birbaşa qonşudan TTL 255 olan paketləri qəbul edir və eBGP və LDP sessiyalarına uzaqdan hücumu kəsir. Nəhayət, autentifikasiya: zəif MD5 əvəzinə TCP-AO (RFC 5925), OSPF və IS-IS üçün HMAC açarları, LDP parolları, sessiyaları kəsmədən açarların rotasiyası və saatlar və etibarlılıq müddətləri ilə bağlı tipik tələlər. Dərs VPN izolyasiyası, CoPP və BGP filtrasiyası bölmələrini artıq keçdiyinizi və qorunmanı eksploatasiya səviyyəsinə çatdırmaq istədiyinizi nəzərdə tutur.

MPLS-də TTL: iki rejim və onların qiyməti

MPLS etiketi öz 8 bitlik TTL-ini daşıyır və etiket əlavə edərkən ingress onun qiymətini seçir. Uniform rejimdə (RFC 3443) etiketin TTL-i IP-dən köçürülür, hər hopda azaldılır və çıxışda geri köçürülür (dəyərin artmadığı yoxlanmaqla): nüvə traceroute-da görünür, müştəri isə vahid sayğac alır. Pipe rejimində (Cisco-da no mpls ip propagate-ttl, Junos-da no-propagate-ttl, Huawei-də undo ttl propagate) etiket TTL 255 alır, IP TTL nüvədə azaldılmır, çıxışda isə yalnız 1 hop azaldılır; nüvə müştəri üçün görünməzdir. Bu, P marşrutlaşdırıcılarının ünvanlaşmasını gizlədir (hücum və skan üçün daha az hədəf, nüvə ünvanları trasslara sızmır), lakin müştəridə diaqnostikanı çətinləşdirir: traceroute PE1 və PE2-ni qonşu kimi göstərir. Cisco-da forwarded variantı yalnız tranzit trafiki gizlədir, operatorun lokal yaratdığı trafik isə uniform rejimdə qalır, ona görə PE-nin özündən traceroute nüvəni yenə göstərir.

Diaqnostika üçün nəticələr. Etiketin TTL-i P-də bitəndə o, ICMP time-exceeded qurur, lakin P-nin müştərinin şəxsi ünvan fəzasına marşrutu yoxdur: mesaj eyni LSP ilə irəli göndərilir, çıxış PE-yə çatır və mənbəyə yalnız oradan qayıdır (RFC 3032, ICMP tunneling). Ona görə nüvə daxilindəki bütün hopların RTT-si egress-ə qədər RTT-yə bərabərdir və problemli seqmenti hop gecikmələri ilə tapmaq olmaz. Nüvə görünürsə, RFC 4950-ni dəstəkləyən traceroute ICMP genişlənməsindən etiket stekini, VPN etiketləri daxil olmaqla, əlavə göstərir: adi eksploatasiyada onları müştərilərə göstərməyə hazır olub-olmadığınızı həll etməlisiniz. Daxili diaqnostika üçün operatorun TTL rejimindən asılı olmayaraq işləyən LSP ping/traceroute (RFC 8029) var. Pipe rejimində marşrutlaşdırma dövrəsi olduqda etiket TTL-i 255 olan paket 255 hopa qədər dolaşır, ona görə dövrədən qorunmanı TTL yox, protokollar təmin edir.

uRPF: ciddi, sərbəst, mümkün yollar

Reverse Path Forwarding (RFC 3704, BCP 84) girişdə paketin mənbə ünvanını yoxlayır. Ciddi rejim: mənbəyə ən yaxşı marşrut paketin gəldiyi interfeysdən keçməlidir. Bu, simmetrik marşrutlaşdırması olan müştəri interfeysləri üçün uyğundur. Sərbəst rejim (Cisco reachable-via any, Junos mode loose): FIB-də mənbəyə istənilən marşrut kifayətdir, deməli yalnız marşrutu olmayan ünvanlar (bogons, elan olunmamış fəza) atılır. Mümkün yollar (feasible path, RFC 3704 bölmə 2.4): yoxlama RIB-dən mənbəyə istənilən marşruta, ən yaxşı olmayana da icazə verir; bu, müştəri trafiki ehtiyat xətlə də gələ bildikdə multihoming üçün uyğundur (Junos-da forwarding-table unicast-reverse-path feasible-paths). Praktik seçim: tək xətli müştərilər - ciddi; bir neçə xətti və BGP olan müştərilər - feasible və ya sərbəst üstəgəl ACL; provayder və IXP xətləri - sərbəst üstəgəl bogon prefiksləri üçün ACL (RFC 6890).

Tələlər. Default marşrut: FIB-də 0.0.0.0/0 varsa, istənilən mənbə ünvanının "marşrutu" olur və sərbəst rejim hər şeyi buraxır. Ona görə susmaya görə default yoxlamada nəzərə alınmır (Cisco allow-default onu qəsdən qoşur, Huawei allow-default-route), müştəridə default lazım olan yerdə isə o, yoxlamanı faydasız edir: belə interfeyslərdə ciddi rejim yalnız default həmin interfeysə yönəlmədikdə işləyir. Asimmetriya: müştəri trafiki bir xətlə çıxıb digərilə qayıdırsa, ciddi rejim qanuni trafiki atır. ECMP: bir neçə bərabər yol olduqda ciddi rejim onlardan istənilənini qəbul etməlidir (platformalar fərqlənir). VRF: yoxlama həmin VRF-in FIB-inə görə aparılır, ona görə VRF-dəki müştəri interfeysi üçün müştəri marşrutlarının onun VRF-ində olması və başqa VRF-lərdən import olunan marşrutların icazə verilən çoxluğu genişləndirməməsi vacibdir. Sayğaclar: interfeyslər üzrə atılan paketləri sayın, əks halda yoxlamanın qanuni trafiki pozduğunu görməyəcəksiniz.

GTSM (RFC 5082)

Generalized TTL Security Mechanism TTL-in hər marşrutlaşdırıcıda azalması faktından istifadə edir. Göndərən paketləri TTL 255 ilə göndərir, qəbuledici isə onları yalnız TTL 255 mənfi icazə verilən hop sayı üstəgəl 1-dən az olmadıqda qəbul edir: hops 1 olduqda yalnız 255 qəbul edilir, yəni birbaşa qonşudan paket. Başqa şəbəkədəki hücumçu TTL 255 ilə çatacaq paket göndərə bilməz. Yoxlama TCP təhlilindən əvvəl aparılır və ona görə kriptoqrafiyadan ucuzdur: diapazondan kənar paketlər prosessor resurslarını sərf etməzdən əvvəl atılır (ideal halda aparatda). Tətbiq sahəsi: birbaşa qoşulmuş qovşaqlar arasında eBGP (Cisco neighbor ... ttl-security hops 1, Huawei valid-ttl-hops), LDP (RFC 6720), OSPF və bir hop qonşuluğunda digər protokollar. Məhdudiyyətlər: GTSM ebgp-multihop ilə uyğun deyil (ikisindən biri istifadə olunur), xəttin özündəki hücumçudan (ümumi seqment, IXP) qorumur, tunellər və TTL azalan MPLS vasitəsilə işləmir, loopback vasitəsilə eBGP üçün isə hop sayına bərabər hops tələb edir. O, uzaqdan hücumlardan qoruyur və autentifikasiyanı əvəz etmir.