किनारे पर यूनिकैस्ट आरपीएफ


10

यूनिकैस्ट आरपीएफ को उन स्रोत पतों को रोकने के लिए माना जाता है जो उन्हें अनुमति दी जानी चाहिए। यूआरपीएफ के लिए सिस्को के प्रलेखन को पढ़ते हुए, मैंने देखा कि राउटिंग-टेबल द्वारा इसे अपलिंक इंटरफ़ेस पर उपयोग करने की अनुमति देने के विकल्प हैं।

मेरा सवाल है, अगर यह एक डिफ़ॉल्ट मार्ग से जा रहा है तो क्या सभी स्रोत पते की अनुमति नहीं दी जाएगी? उस बिंदु पर URPF क्या लाभ उठाएगा?

मुझे यकीन है कि मुझे कुछ याद आ रहा है, इसलिए मैं वास्तव में सही दिशा में एक बिंदु पसंद करूंगा।

जवाबों:


15

यूनिकस्ट रिवर्स पाथ फ़ॉरवर्डिंग (आरपीएफ) तीन अलग-अलग मोड में कार्य करता है और संभवतः राउटर के हमले वेक्टर को कम करने में मदद कर सकता है, विशेष रूप से स्पूफ किए गए आईपी पते से।

सख्त मोड

(config-if)#ip verify unicast source reachable-via rx

सख्त मोड में, एक राउटर एक आने वाले पैकेट के स्रोत आईपी पते का निरीक्षण करेगा और जांच करेगा कि यह एक मेल खाने वाले मार्ग के लिए फॉरवर्डिंग इंफॉर्मेशन बेस (FIB) टेबल है। यदि उस स्रोत आईपी पते का मार्ग उस इंटरफ़ेस के माध्यम से पहुंच योग्य है , जिस पर उसे प्राप्त किया गया था , तो पैकेट प्राप्त हो जाएगा। डिफ़ॉल्ट रूप से, एक डिफ़ॉल्ट मार्ग को सख्त मोड में नहीं माना जाता है (जैसा कि ऊपर कॉन्फ़िगर किया गया है)।

सख्त मोड विकल्प:

किसी दिए गए इंटरफ़ेस पर यूनिकस्ट आरपीएफ सख्त मोड के कॉन्फ़िगरेशन के बाद, एक रूटर अब उस इंटरफ़ेस पर खुद को पिंग नहीं कर सकता है:

#sh ip int bri | ex unas|Int
FastEthernet0/0            11.0.11.1

#ping 11.0.11.1                                    
.....
Success rate is 0 percent (0/5)

URPF गिराए गए पैकेटों का सत्यापन:

#show ip int fa0/0 | i ^  [1-9]+ verification drops
     5 verification drops
#show ip traffic | i unicast
     0 no route, 5 unicast RPF, 0 forced drop

allow-self-pingवाक्यविन्यास को जोड़कर इस व्यवहार को बदला जा सकता है :

(config-if)#ip verify unicast source reachable-via rx allow-self-ping

इसके अतिरिक्त, जैसा कि आपके प्रश्न में उल्लेख किया गया है, सख्त मोड आने वाले पैकेट के स्रोत आईपी पते को डिफ़ॉल्ट मार्ग के खिलाफ जांचने की अनुमति दे सकता है। इसे सिंटैक्स द्वारा सक्षम किया गया है allow-default:

सख्त मोड में, सिंटैक्स allow-defaultको अपने आप से जोड़ने से केवल आने वाले पैकेट के स्रोत आईपी पते से रसीद को रोका जा सकता है जो प्राप्त किए गए एक अलग इंटरफ़ेस के माध्यम से एक मार्ग है। यह मान रहा है कि राउटर पर कोई एक्सेस-लिस्ट या नल रूट कॉन्फ़िगर नहीं हैं। सभी प्राप्त होने योग्य स्रोत पते जो उनके द्वारा प्राप्त किए गए इंटरफ़ेस से पहुंच योग्य हैं, वे या तो विशिष्ट मार्गों या डिफ़ॉल्ट मार्ग से मेल खाएंगे।

हालाँकि, यदि आप अशक्त मार्गों को नियोजित करना चाहते थे, तो सबसे विशिष्ट मार्ग का मूल्यांकन पहले किया जाएगा, इससे पहले कि URPF चेक डिफ़ॉल्ट मार्ग पर पहुंच जाए, और ज्ञात दुर्भावनापूर्ण IP श्रेणियों के लिए एक काली सूची के रूप में कार्य करेगा।

उदाहरण - URPF चेक द्वारा 3.0.0.0/8 से खट्टा किया गया सभी ट्रैफ़िक गिरा दिया जाएगा:

(config-if)#ip verify unicast source reachable-via rx allow-default
(config)#ip route 3.0.0.0 255.0.0.0 null 0

Bad-Source-RTR#ping 11.0.11.1 so l1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.0.11.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3 
.....
Success rate is 0 percent (0/5)

इसके अलावा, आप allow-defaultअनुमत और अस्वीकृत पतों की संरचित सूची को पूरा करने के लिए सिंटैक्स को जोड़ने के लिए एक एक्सेस-कंट्रोल लिस्ट (एसीएल) निर्दिष्ट कर सकते हैं । वे पते जिन्हें वे प्राप्त किए गए इंटरफ़ेस से बाहर पहुंच रहे हैं और परिभाषित ACL में मिलान किए गए हैं या तो उनके अनुसार छोड़ दिए जाते हैं या अनुमति दी जाती है।

!
access-list 23 permit 3.0.0.0 0.255.255.255
access-list 23 deny   4.0.0.0 0.255.255.255 log
access-list 23 permit any
!
(config)#int fa0/0                                 
(config-if)#ip verify unicast source reachable-via rx 23

अंत में, आप allow-defaultवाक्यविन्यास के साथ एक एसीएल निर्दिष्ट कर सकते हैं , लेकिन इसका कोई प्रभाव नहीं होगा। allow-defaultविकल्प के साथ निर्दिष्ट ACL के खिलाफ पैकेटों की जाँच नहीं की जाएगी ।

#ip verify unicast source reachable-via rx allow-default ? 
  <1-199>          A standard IP access list number
  <1300-2699>      A standard IP expanded access list number

ढीली मोड

R1(config-if)#ip verify unicast source reachable-via any

ढीले मोड में, एक राउटर एक आने वाले पैकेट के स्रोत आईपी पते का निरीक्षण करेगा, और इसे एक मेल खाने वाले मार्ग के लिए एफआईबी तालिका के खिलाफ जांच करेगा। यदि उस स्रोत आईपी पते का मार्ग उपलब्ध है, तो पैकेट को प्राप्त किया जा सकता है, भले ही उस इंटरफ़ेस को प्राप्त किया गया हो। डिफ़ॉल्ट रूप से, एक डिफ़ॉल्ट मार्ग को ढीली मोड में नहीं माना जाता है (जैसा कि ऊपर कॉन्फ़िगर किया गया है)।

ढीले मोड और सख्त मोड में समान कॉन्फ़िगरेशन विकल्प हैं; मुख्य अंतर सिंटैक्स है जिसका उपयोग किया जाता है ( anyबनाम rx) और आने वाले पैकेट का स्रोत आईपी पता उस इंटरफ़ेस के माध्यम से पहुंच योग्य है या नहीं, जिस पर इसे प्राप्त किया गया था।

(config-if)#ip verify unicast source reachable-via any ?
  <1-199>          A standard IP access list number
  <1300-2699>      A standard IP expanded access list number
  allow-default    Allow default route to match when checking source address
  allow-self-ping  Allow router to ping itself (opens vulnerability in
                   verification)

वीआरएफ मोड

वीआरएफ मोड किसी दिए गए वीआरएफ में या तो ढीले या सख्त मोड का लाभ उठा सकता है और एक आने वाले पैकेट के स्रोत आईपी पते का मूल्यांकन करेगा, जो ईआरजीपी पड़ोसी के लिए कॉन्फ़िगर किए गए वीआरएफ टेबल के खिलाफ है।


संदर्भ:
सिस्को यूआरपीएफ श्वेत पत्र यूनिकस्ट
रिवर्स पाथ
फारवर्डिंग यूआरपीएफ कॉन्फ़िगरेशन गाइड


व्यावहारिक अनुप्रयोग के बारे में क्या? क्या यह वास्तव में भी समझ में आता है / इसे आपके अपलिंक पर डालने का अंतर है?
कोडी

3
@ कोडी मैं uRPF को अपलिंक में नहीं चलाऊंगा, केवल ग्राहक के सामने इंटरफेस पर। one.time, +1, अच्छा काम, ठोस जवाब, मैं यह बताना चाहूंगा कि कुछ गैर-सिस्को प्लेटफार्मों में null0 के लिए स्थिर मार्ग विफल होने के लिए 'ढीले' मोड का कारण नहीं होगा। शायद 'रिप्लाई' के बजाय आपको 'रिसीव' का इस्तेमाल करना चाहिए, यानी पैकेट फेल आरपीएफ नहीं मिलेगा। इसके अलावा शायद 'राउटिंग-टेबल' (आरआईबी) को 'फॉरवर्डिंग-टेबल' (एफआईबी) में बदल दिया जाए। चूंकि uRPF का स्वाद 'फिजिबल लूज / स्ट्रिक्ट' कहलाता है, जो RIB के खिलाफ जांच करता है (सिस्को इसका समर्थन नहीं करता है, वे केवल FIB के खिलाफ जांच करते हैं)।
यति ०ti 13१३

@ytti जब मैंने सिस्को डॉक्स को देखा, तो उसने राउटिंग टेबल के खिलाफ कहा। मैं यह नहीं कह रहा हूं कि यह सही है, लेकिन अजीब है कि वे कहेंगे कि अगर यह सिर्फ एफआईबी था।
कोडी

ऐसे मामले की कल्पना करें जहां ग्राहक ने बीजीपी उपसर्ग 192.0.2.0/24 की घोषणा की है, आपके पास कोर को इंगित करने के लिए स्थिर मार्ग भी है। यदि ग्राहक इंटरफ़ेस में uRPF / सख्त है, तो आप ग्राहक के पैकेट को 192.0.2.42 के स्रोत पते से छोड़ देंगे, भले ही RIB (रूटिंग-टेबल) में यह प्रविष्टि मौजूद है, यह सिर्फ / सर्वोत्तम / प्रविष्टि नहीं है, और फलस्वरूप यह FIB में नहीं है। हालाँकि यदि आप 'uRPF / सख्त व्यवहार्य' पैकेट चलाते हैं, तो नहीं छोड़ा जाएगा (JunOS संभव है, इसलिए इसके दस्तावेज़ अतिरिक्त जानकारी देंगे)।
यति y at१३ ६:५३
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.