Tuesday 1 November 2016

Access Control List (ACL)

Access Control List (ACL) ကို Operation Systems တွေ၊ Applications တွေနဲ့ Network တွေမှာ အသုံးပြုကြပြီး အသုံးပြုနိုင်ခွင့်ကို ထိမ်းချုပ်ကိုင်တွယ်ထားတဲ့ အရာလို့ ပြောလို့ရပါတယ်။ ဒါပေမဲ့ အသုံးပြုတဲ့ ပုံစံခြင်းမတူညီတဲ့အတွက်ကြောင့် ဘာ ACL လဲဆိုတာ ကို ထည့်ပြောမှသာ ပြည့်စုံပါလိမ့်မယ်။ အခုပြောမည့် အကြောင်းအရာကတော့ Network ACL ဖြစ်ပြီး Cisco Devices တွေမှာ အသုံး ပြုတဲ့ IP Access List ဖြစ်ပါတယ်။ IP ACL ဖြစ်တဲ့အတွက် IP addressing နဲ့ Subnets တွေအကြောင်း၊ TCP/UDP Ports တွေအကြောင်းကိုသိထားရင် ACL ကိုအလွယ် တကူနားလည်နိုင်မှာဖြစ်ပါတယ်။ ဒါတွေမသိထားသေးရင်တော့ ACL ကိုလိုအပ်သလိုရေးဖို့၊ အသုံးပြုဖို့အတွက် အခက်အခဲ ဖြစ်နိုင်ပါတယ်။

ACL ကို Cisco Devices တွေမှာ Access Control လုပ်ယုံအတွက်သာ မက၊ တခြား Routing Process တွေ၊ Route-map တွေအတွက် Traffic classification တွေအတွက်လည်း သုံးလေ့ရှိပါတယ်။ ဒါကြောင့် ACL ဆိုတာ Traffic Control/ Access Control လုပ်တာပဲလို့ အသေမှတ်မထားတာကောင်းပါတယ်။ နောက်တနည်းပြောရရင်တော့ စာရင်းဆိုပါတော့။ ကျွန်တော်တို့စာရင်းပြုစုတဲ့ အခါမှာ အကြောင်းအမျိုးမျိုးနဲ့ ပြုစုကြတာ ကြုံဖူးကြမှာပါ။ ဥပမာ ကျောင်းသားတွေ အနေနဲ့အရင်းနှီးဆုံးဖြစ်တဲ့ အကြောင်းနဲ့ ပြောပြရမယ်ဆိုရင် ကျေားင်းမှာရှိတဲ့ ကျောင်းသားကျောင်းသူတွေရဲ့ အမည်စာရင်းဆိုပါတော့။ အနည်းဆုံးအနေနဲ့ဘာတွေပါမလဲဆိုရင် အမည်ပါမယ်၊ ကျား မ ခွဲထားတာပါတယ်။ ဒါဟာ ACL ပါပဲ။ ကျောင်းသူသက်သက် ကျောင်းသားသက်သက်ခွဲထားတဲ့ စာရင်း ၂ခုဆိုပါတော့။  ဒါပေမယ့် ACL တစ်ခုဟာ ဘာလုပ်မယ်ဆိုတဲ့ အကြောင်းအရာမပါရင် ဘာမှ အလုပ်မဖြစ်သေးပါဘူး။ ဒီတော့ Action/Apply ထည့်ကြည့်လိုက်မယ်။ ဥပမာ စာရင်းမှာ ကျောင်းသူ (မ) တွေသာ ကျောင်းသူနားနေခန်းသို့ သွားနိုင်တယ်။ အလားတူပဲ ကျောင်းသား(ကျား) တွေသာ ကျောင်းသားနားနေခန်းသို့သွားနိုင်တယ်။ စာကြည့်တိုက်ကိုတော့ ကျောင်းသားရော ကျောင်းသူပါ ဝင်နိုင်တယ်ဆိုတာမျိုးနဲ့ တွဲလိုက်မှသာ ACL က အသက်ဝင်လာမှာဖြစ်ပါတယ်။

ဒါက အပြင်လောကမှာမြင်နိုင်တဲ့ ACL တွေပါ။ လူတွေအတွက် သုံးတာဆိုတော့ လူတွေကို မှတ်သားခွဲခြားထားတဲ့ ကျား၊မ တို့ အသက်တို့၊ အမည်တို့ပါသလို IP ACL မှာတော့ Host/Node/Network တွေကို သတ်မှတ်ထားတဲ့ IP address တွေ၊ Subnets တွေနဲ့ အသုံးပြုတဲ့ Applications တွေရဲ့ TCP/UDP ports တွေနဲ့ တခြား IP ပေါ်မှာသတ်မှတ်လို့ရတဲ့ဟာတွေပါတာပေါ့။ ACL သတ်မှတ်ပြီးရင် တော့ ခုနက ဥပမာ ပေးခဲ့သလို ဘယ်နေရာမှာ အသုံးချမယ်ဆိုတာပြောရပါတယ်။ Interface/ Router/ Route-map/ Line စတဲ့နေရာတွေမှာ အသုံးပြုလိုက်တာပါပဲ။ စတင်လေ့လာသူတွေအတွက်ကတော့ Interface နဲ့ Line တွေမှာစပြီး အသုံးပြုတတ်အောင် လေ့လာရပါတယ်။ ဒါမှသာ Traffic flow ကိုကြည့်ပြီး ACL ရေးတဲ့အခါ Inbound လား၊ Outbound လား၊ Source ကဘာလဲ၊ Destination ကဘာလဲ၊ ဘယ်နေရာမှာ အသုံးပြုရမလဲဆိုတာကို ပိုပြီး နားလည်မှာဖြစ်ပါတယ်။ နောက်တခုကတော့ ACL ဟာ ရေးထားတဲ့ အစီစဉ် အတိုင်းအလုပ်လုပ်တာဖြစ်တတ်တဲ့ အတွက် ကိုယ့်ခွင့်ပြုချင်တဲ့ Flow တွေကို အရင်ရေးပေးရပါတယ်။ ပြီးရင်အောက်ဆုံးမှာ အားလုံးကိုပိတ်ထားတဲ့ လိုင်းရှိတယ်ဆိုတာကိုလည်း သတိပြုရမှာဖြစ်ပါတယ်။

ဥပမာ ဒီအောက်မှာပြထားတဲ့ ACL ၂ ခုဟာ အတူတူပါပဲ။ Deny ကိုအောက်မှာထည့်မရေးထားလည်း Default implicit deny ဆိုတာရှိတဲ့အတွက် မရေးလည်း လုပ်ဆောင်ပုံခြင်း အတူတူပါပဲ။

access-list 100 permit ip 192.168.1.0 0.0.0.255 172.16.0.0 0.0.255.255

access-list 101 permit ip 192.168.1.0 0.0.0.255 172.16.0.0 0.0.255.255
access-list 101 deny ip any any

ဒီ ACL ဟာဘာကိုပြောတာလဲဆိုရင် Source Network 192.168.1.0/24 တစ်ခုသာ Destination Network ဖြစ်တဲ့ 172.16.0.0/16 ကိုသွားခွင့်ရှိတယ်လို့ရေးထားတာဖြစ်ပါတယ်။ အခုလို Source ရော Destination ပါပါအောင်ရေးထားတဲ့ ACL ကို Extended ACL ကိုခေါ်ပါတယ်။ ACL number အနေနဲ့တော့ 100-199 အထိရယ်၊ 2000-2699 အတွင်းရယ်သုံးလို့ရပါတယ်။ တကယ်လို့ Source တစ်ခုထဲသာလိုအပ်မယ်၊ Destination တို့၊ protocol မလိုရင်တော့ Standard ACL ကိုသုံးရင်ရပါတယ်။ Standard ACL က Source ကိုပဲ ကြည့်တဲ့ ACL ဖြစ်ပါတယ်။ ACL number အနေနဲ့တော့ 1-99 အထိရယ် 1300-1999 အတွင်းမှာသုံးရပါတယ်။ ဒီတော့ ကိုယ်ရေးမဲ့ ACL အမျိုးစားပေါ်မူတည်ပြီး သင့်တော်တဲ့ နံပါတ်သုံးရပါတယ်။

အထက်မှာပြောခဲ့သလိုပဲ ACL ရေးတာနဲ့ အလုပ်မလုပ်သေးပါဘူး။ အခုရေးထားတာက Traffic flow filter လုပ်မယ့် ACL ဖြစ်တဲ့အတွက် Router ရဲ့  Interface မှာသွားမဲ့ ဦးတည်ဖက် (Direction) ကိုကြည့်ပြီး Inbound လား Outbound လားရွေးပြီး ip access-group (number) in/out ဆိုပြီး ရေးပေးရပါတယ်။ Direction ကိုကြည့်တဲ့နေရာမှာ Source to Destination flow မှာ ဘယ်ကဝင်ပီး ဘယ်ကထွက်တယ်ဆိုတာကိုကြည့်ရပါတယ်။ ဥပမာ R1ကနေ R3 ကို သွားရင် R2 ကနေဖြတ်သွားမယ်၊ ခုနက ACL ကို R2 မှာသုံးမယ်။
ဆိုပါစို့။ R1 က R2 ရဲ့ e1 interface ကိုချိတ်ထားပီး၊ R2 e2 interface က R3 ကိုချိတ်ထားမယ်။

R1 —> (e1)R2(e2) —> R3

R2 (e1) Interface မှာဆိုရင် direction က inbound ဖြစ်ပီး R2(e2) မှာဆိုရင်တော့ outbound ဖြစ်ပါတယ်။ ကိုယ်သုံးတဲ့ Interface နဲ့ Traffic flow direction ကိုကြည့်ပြီး in / out ကိုရွေးပါ။

interface Ethernet0/1
ip address 10.1.1.1 255.255.255.0
ip access-group 100 in

ဘာကြောင့် e1 ကိုရွေးရလဲဆိုရင်တော့ အဝင်မှာကတည်းက စပြီး ပိတ်လိုက်တော့ router ကိုဖြတ်စရာမလိုတော့ဘူးပေါ့။ e2 ဆိုရင် e1 ကနေအရင် ဝင်လာအုံးမယ် ပြီးမှအထွက်မှသာ စစ်သလိုဖြစ်နေမှာပါ။  နောက်တနေရာ အနေနဲ့ဆိုရင် R3 အဝင်မှာလည်းပိတ်နိုင်တာပါပဲ။ ဒါဆိုရင် အဲဒီ traffic ဟာ မလိုအပ်ပဲ R2 ကိုဖြတ်၊ R2 နဲ့ R3 ကြားက လင့်ကိုပါ အသုံးပြုပြီး R3 အဝင်မှ ပိတ်လိုက်တော့ မလိုအပ်တဲ့ Resource တွေကို ပေးသုံးလိုက်သလိုဖြစ်သွားတာပေါ့။ အပေါ်က ကျောင်းသားတွေ အကြောင်းပြောတဲ့ ACL အရဆို ကျောင်းသားတွေကို ကျောင်းသူနားနေခန်းအဝအထိပေးသွားပြီး အဝကျမှ မဝင်ရဘူးပြောသလိုဖြစ်သွားမှာပေါ့။ တကယ်ဆို ကျောင်းသူတွေ နားနေခန်းသွားတဲ့ လမ်း၊ လှေကားတို့မှာကတည်းက စပြီး ကျောင်းသားများမဝင်ရဆိုပြီး ပြောသင့်တာပေါ့။

ဘာကြောင့် R1 အထွက်မှာ မသုံးလဲဆိုတာကိုတော့ စိတ်ဝင်စားတဲ့သူတွေအတွက် စဉ်းစားစရာဖြစ်အောင် ထားခဲ့လိုက်မယ်။
အခုလောက်မြင်သွားပြီဆိုရင် ACL ကိုကိုယ်တိုင်စမ်းသပ်လို့ရပါပြီ။ ဒါက အစပဲရှိပါသေးတယ်။ အသေးစိတ်ကို နောက်ပို့စ်တွေမှာဆက်ဖတ်ပါ။


ကိုဖြိုး

No comments:

Post a Comment