Friday, 24 July 2015

အပြန်လမ်းကြောင်းစစ်ပေးမဲ့ uRPF (Unicast Reverse Path Forwarding)



လွန်ခဲ့တဲ့ ၈နှစ်ခန့်က Data Center တစ်ခုမှာ အလုပ်ဝင်ကစ သူ့Network ကို သေချာတောင် မလေ့လာရသေးဘူး DNS ပြသနာနဲ့စကြုံရတယ်၊ Network ကိုင်တယ်ဆိုပေမယ့် လူမရှိတော့ DNS Server ကိုပါ ကိုင်ရတယ်။ DNS က External domain lookup တွေကောင်းကောင်းအလုပ်မလုပ်တော့ဘူး ကို့မှာ ရှိတဲ့ Zone တွေကလွဲလို့၊
တစ်ပတ်လောက်ထိ မရှင်းနိုင်တော့ အလုပ်ထွက်ချင်စိတ်ပါ ပေါက်လာတယ်၊ မရတော့တဲ့ အဆုံး Upstream ISP က DNS server ကို forwarder အနေနဲ့သုံးလိုက်ရတယ် ယာယီတော့ပြေလည်သွားတာပေါ့ ဒါပေမယ့် အပြီးသတ်ရှင်းနိုင်ဖို့အတွက် ထပ်ရှာရတော့ပေါ့။ ဒါနဲ့ Server ကိုမေ့ထားပီး Network ဖက်မှာ လိုက်စစ်ကြည့်တယ် ဖြစ်နိုင်တာက Root server တွေက ပြန်လာတဲ့ Traffic က ကို့Server ကို မရောက်တာဖြစ်နိုင်တယ်၊ ACL တွေ Routing တွေစစ်ကြည့်တော့ အားလုံး OK ဘဲ။

ဘာသွားတွေ့လဲဆိုတော့ Upstream ISP တွေကိုချိတ်ထားတဲ့ Router interfaces တွေမှာ ip verify unicast reverse-path ထည့်ထားတယ်၊ အဲဒါက Spoofing ကို ကာကွယ်ဖို့အတွက် လုံခြုံရေး အရသုံးတာ၊
Router ဆီကိုဝင်လာတဲ့ Source IP ဟာ ကို့Router ကနေပြန်သွားဖို့Route/Path ရှိရဲ့လားလို့အရင်စစ်ပီးမှလက်ခံတယ်၊ အဲဒီမှာ Strict mode နဲ့Loose mode ဆိုပီးရှိသေးတယ်၊
Strict mode က Source IP ဝင်လာတဲ့ Interface ဟာ FE0/0 ဆိုရင် ပြန်သွားဖို့လမ်းကြောင်းကလဲ FE0/0 ကပြန်သွားလို့ရမှ လက်ခံတယ်၊ Loose mode ကတော့ ဘယ်ကနေဝင်ဝင် Routing table မှာ ပြန်သွားဖို့လမ်းကြောင်းရှိရင်ရပီ၊ FE0/0 FE0/0 မှမဟုတ်ဘူး FE0/0 FE0/1 ဆိုလဲရတယ်။

မြင်သာအောင်ထပ်ပြောရရင် တစ်ခြားနိုင်ငံသွားလည်သလိုဘဲ လေဆိပ်အဝင် Immigration ကစစ်မယ်၊ အပြန်လက်မှတ်ပြခိုင်းမယ်၊ မပြနိုင်ရင် ပေးမဝင်ဘူး၊ ပြနိုင်ရင်လဲ ဘယ်ကိုပြန်မဲ့ လက်မှတ်လဲ ဆိုပြီးထပ်ကြည့်မယ်၊
Strict က မြန်မာပြည်ကလာရင် အပြန်လက်မှတ်က မြန်မာပြည်ပြန်မဲ့ လက်မှတ်ပါမှ ပေးဝင်မယ်၊
Loose ကတော့ မြန်မာပြည်ကလာပေမယ့် ဂျပန်ကိုဆက်သွားမယ့် လက်မှတ်ပြနိုင်ရင်လဲ OK ဘဲ၊ လေဆိပ်လိုနေရာမျိုးမှာ Strict mode သုံးလို့မရပါဘူး။ လာချင်တဲ့ဆီကလာမယ် ပြန်ချင်သလိုပြန်မယ်၊ ပြန်ထွက်ဖို့လက်မှတ်ပါရင် ပီးရောပေါ့
ဒီလိုဘဲ Multiple upstream, ISP to ISP ချိတ်ထားတဲ့ ISP/ Data Center Edge Router တွေမှာ asymmetric routing တွေဟာ အမြဲရှိပါတယ်၊ ဒါကို Strict mode သွားသုံးရင် Router က packet အဝင်မှာထဲက လက်မခံဘဲ ဖြက်ချလိုက် တာပေါ့၊ အဲဒီ config လဲဖြုတ်လိုက်ရော မိနစ်အနည်းငယ်အတွင်းမှာ အားလုံးပြေလည်သွားပါတယ်၊ ကိုယ်တိုင် တစ်ပတ်လောက်ခံစားလိုက်ရတော့ အခုချိန်ထိ အမှတ်တရရှိနေတုံးဘဲ။

သုံးသင့်တာက ကိုက ISP ဆိုပါတော့ ကို့ရဲ့ Customer ကို Access ပေးထားမယ်၊ သု့အတွက် Link IP နဲ့Subnet တစ်ခုပေးထားမယ်၊ အဲဒီ Customer ကို ချိတ်မယ့် Router မှာ Strict mode သုံးထား၊
ဘာလို့လဲဆိုတော့ ဒီ Customer ဆီကနေ ပြန်လာမယ့် IP ဟာ အဲဒီ Link IP/ Subnet ကပဲပြန်လာရမှာ၊ မဟုတ်ရင်တော့ ဖြုတ်ချလိုက်ရုံပေါ့၊ တစ်ခြားလာစရာ IP မှ မဖြစ်သင့်တာ၊
တစ်ခါတလေမှာ Audit/Security ကလူတွေကလဲ ရစ်တတ်သေးတယ်။ Layer 3 Interface တိုင်းမှာ အဲဒီ uRPF သုံးရမယ်ဆိုပီး အတင်းထည့်ခိုင်းတယ်၊ အဲးဒီလိုဆိုရင်တော့ Loose mode အပြင် Default route ရှိရင်ပါ လက်ခံမယ့် Config သာထည့်ပေးလိုက် :)

စမ်းသပ်ချင်ရင်တော့ Router ၃ လုံးလောက် Triangle ချိတ်လိုက် dynamic Routing တစ်ခုခု သုံး၊ အတွင်းက Subnet တစ်ခုစီ ကြေညာ၊ Ping Test ကို Source IP နဲ့Ping
Strict/Loose mode ထည့်၊ Static route သုံးပီး အဝင်အထွက် Route မတူအောင် ပြောင်း ပီးစမ်းလို့ရပါတယ်။
အလုပ်ဖြစ်မဖြစ် သိချင်ရင် Drop Count ကိုကြည့်၊ Ping result ကိုကြည့်၊ Loose mode မှာ Suppressed Count တက်လာပေမယ့် PIng ကတော့ ရနေမှာပါ။

Strict -> ip verify unicast reverse-path
show ip int f0/0 | i drop
5 verification drops
0 suppressed verification drops
 
Loose -> ip verify unicast source reachable-via any
show ip int f0/0 | i drop
0 verification drops
5 suppressed verification drops

ကိုဖြိုး

No comments:

Post a Comment