Saturday 5 November 2016

ACL (Standard vs Extended)

ACL အကြောင်းတီးမိခေါက်မိရှိသွားပြီဆိုရင်တော့ နောက်ထပ်လေ့လာဖို့အတွက် အရှိန်ရသွားပါပြီ။ Cisco Devices တွေမှာအသုံးပြုတဲ့ ACL အမျိုးမျိုးထဲက အခြေခံကြတဲ့ Standard ACL နဲ့ Extended ACL အကြောင်းကိုဆက်ပြီး လေ့လာကြတာပေါ့။ နံပါတ်စဉ်အနေနဲ့ကတော့ အရင်ပို့စ်မှာ ဖော်ပြခဲ့သလိုပါပဲ။ ကိုယ်အသုံးလိုတဲ့ ACL ကိုကြည့်ပြီး Standard ဆိုရင် သူအသုံးပြုလို့ရတဲ့နံပါတ်စဉ်အတွင်းကနေသုံးရသလို၊ Extended ဆိုရင်လည်း သူ့အတွက်သတ်မှတ်ထားတဲ့ အစဉ်ထဲကနေသုံးရပါတယ်။
Standard: 1-99, 1300-1999
Extended:100-199, 2000-2699

နောက်တခုကွာခြားချက်က Standard က Source Network ကိုပဲကြည့်ပြီး IP Protocol အားလုံးကို ခွင့်ပြုမလား၊ ပိတ်မလားဆိုပြီး လုပ်ဆောင်ပါတယ်။ Extended ကတော့ Protocols တွေကအထဲက ဘယ် Protocol ကိုပဲ ရွေးပြီး အသုံးပြုချင်တယ်ဆိုတာ ရွေးလို့ရသလို Source Network သာမက Destination Network ကိုပါ ရွေးလို့ရပါတယ်။ ဒါဆိုရင် ဘယ်လိုအချိန်မျိုးမှာ Standard ACL ကိုသုံးနေကြသေး လဲဆိုရင် တော့ Protocol Level အထိအသေးစိတ်ကြည့်နေစရာမလိုတဲ့ ကိစ္စမျိုးဖြစ်တဲ့ Line တွေမှာသုံးတဲ့ နေရာမျိုး၊ Routing process တွေအတွက် Route Filter လုပ်ရတဲ့ အခါမှာ Route-map တွေအတွက် Match လုပ်ရမဲ့ နေရာမျိုးတွေမှာသုံးကြပါတယ်။ (Route-map အကြောင်းကို ပို့စ်အဟောင်းတွေမှာ ပြန်ဖတ်ကြည့်နိုင်ပါတယ်။)

နမူနာ အနေနဲ့ Standard ACL နဲ့ Router ရဲ့ Telnet/ SSH သုံးဖို့အတွက် Line vty မှာသုံးတာကြည့်ရအောင်။ Standard ACL ဖြစ်တဲ့အတွက် ကိုယ်ခွင့်ပြုမဲ့ Network/host ကို ပေးရင်ရပါပြီ။ Telnet/SSH ကိုစဉ်းစားစရာမလိုပါ။

access-list 1 permit 10.1.1.0 0.0.0.255
access-list 1 permit host 192.168.10.1

Line vty 0 4
access-class 1 in

ဒီ ACL ဟာဘာကိုပြောတာလဲဆိုရင် ACL No.1 မှာပါတဲ့ 10.1.1.0/24 Network နဲ့ 192.168.10.1 IP ကနေ လာမှသာ Router ရဲ့ vty line ကို လာခွင့်ပြုမှာဖြစ်ပါတယ်။ ACL မှာ  Subnet mask အစား၊ Wildcard ကိုသုံးရပါတယ်။ (0.0.0.255) သာ /24 ရဲ့ Wildcard ပါ။ အရင်ကပြောခဲ့သလိုပဲ IP addressing နဲ့ Subnetting ကိုမသိရင် ACL ရေးတဲ့အခါ အခက်တွေ့ပါလိမ့်မယ်။ နောက်တခုကတော့ Host တခုတည်းဖြစ်တဲ့ အတွက် Host ဆိုတာ သုံးထားတာ တွေ့မှာပါ။ Permit ကတော့ Action ပါ။ ပိတ်မယ်ဆိုရင်တော့ Deny ပါ။ ဒီ ACL ရဲ့ အောက်ဆုံးမှာ Default implicit deny ပါတဲ့အတွက် ထပ်ရေးစရာမလိုပါဘူး။
အကယ်၍ Line vty အစား Interface အဝင်မှာသုံးမယ်၊ Telnet ကိုပိတ်ထားပြီး SSH ကိုသာပေးသုံးမယ် ဆိုရင် တော့ Standard ACL အစား Extended ACL သုံးမှာသာ အဆင်ပြေပါလိမ့်မယ်။ အောက်က နမူနာကိုကြည့်ပါ။

access-list 100 deny tcp any any eq telnet
access-list 100 permit ip any any       

interface <interface>
ip access-group <acl-number> in

ဒီ ACL မှာတော့ Telnet ကိုပိတ်ဖို့အတွက် သူအသုံးပြုတဲ့ tcp 23 (telnet) ကိုအရင်ပိတ်ထားပါတယ်။ ပြီးတော့မှ ကျန်တဲ့ Packets တွေအားလုံးသွားလို့ရအောင် ပြန်ဖွင့်ထားပါတယ်။ မဟုတ်ရင် အားလုံး implicit deny နဲ့ညှိပြီး ပိတ်ကုန်မှာပါ။ တကယ်တော့ ဒါက Extended ACL အကြောင်း နမူနာအနေနဲ့ ပြတာပါ။ Line မှာ Telnet ပေးမသုံးပဲ ssh သာပေးသုံးမယ်ဆိုရင် Line အောက်မှာ Transport input ssh တခုပေးလိုက်ပြီး Standard ACL နဲ့သုံးလေ့ရှိပါတယ်။

နောက်ထပ် အနေနဲ့ ACL တွေကိုထပ်ထည့်တာ၊ ပြင်တာ လုပ်ရင် သတိထားရမဲ့ အရာတွေဖြစ်ပါတယ်။ Cisco Config တွေကို မသုံးချင်ရင် no နဲ့ ပြန်ဖျောက်လေ့ရှိပါတယ်။ ACL မှာမလိုချင်တဲ့ Line တစ်ခုကို ဖျက်မယ်ဆိုပြီး no access-list ဆိုပြီး သုံးလိုက်ရင် ကိုယ်မလိုချင်တဲ့ Line သာမကပဲ ACL တခုလုံး ပျောက်သွားပါတယ်။ ဒီတော့ ဘယ်လိုလုပ်ရမလဲဆိုရင် ACL ကို Notepad/Wordpad တို့လိုပြင်လို့ရတဲ့ နေရာမှာ အရင်ကူး၊ အဲဒီမှာဖျက်၊ပြင်၊ ပီးရင် အရင် ACL ကိုဖျက်ပီး အသစ်ရေးထားတဲ့ ACL ကိုပြန်သုံး ရပါတယ်။ တကယ်လို့ ကိုယ်အသုံးပြုနေတဲ့ IOS ဟာ Number ACL sequence ကိုနားလည်တယ် ဆိုရင်တော့ ကိုယ်ဖျက်မဲ့ sequence ကိုဖျက်ရင်ရပါတယ်။ အသစ်ထည့်မယ်ဆိုရင်လဲ ကိုယ်ထပ်ထည့်မယ့် sequence နေရာကိုကြည့်ပြီး ထည့်လို့ရပါတယ်။ ACL ဟာ sequence လိုက်အစဉ်အတိုင်း အလုပ်လုပ်တဲ့ အတွက် ဘယ်နေရာမှာ ထည့်မယ်ဆိုတာကို သေချာကြည့်ဖို့လိုပါတယ်။

Number ACL လို့သုံးသွားတာက ဒီ ACL တွေကို နာမည်ပေးပြီး named ACL အနေနဲ့လဲ သုံးလို့ရ ပါသေးတယ်။ Standard ရော Extended ကိုပါ named ACL ရေးလို့ရပါတယ်။ named ACL ဟာ sequence ကိုနားလည်ပြီး ပြင်ရ ထပ်ထည့်ရ လွယ်ကူသလို ကိုယ်ဘာအတွက် သုံးမယ်ဆိုတဲ့ အမည်၊ အမှတ်အသား အနေနဲ့ပါ ပြန်ကြည့်ရတာ အဆင်ပြေပါတယ်။ Number ACL သုံးရင် အချိန်ကြာလာတာနဲ့ အမျှ ကိုယ် ဘာကြောင့်၊ ဘာအတွက် ဒီ ACL ကိုရေးခဲ့မှန်း မသိတော့ဘူး။ ကိုယ်က စနစ်တကျနဲ့ remark တွေ ဘာတွေ ရေးခဲ့ရင်တော့ ကောင်းတာပေါ့။ အခုနောက်ပိုင်းမှာတော့ named ACL သာ သုံးကြတာများပါတယ်။ ရေးရတာလည်း သိပ်မကွာပါဘူး။ နမူနာတွေကြည့်ပြီး ရေးကြည့်ရင် သဘောပေါက်သွားပါလိမ့်မယ်။

ACL ဟာ အခြေခံကျတဲ့ အရာတခုလို့ဆိုပေမယ့် သေသေချာချာ မသိထားဘူးဆိုရင် အလုပ်မှာ အခက်တွေ့ စေပါလိမ့်မယ်။ အတော်များများက Lab လုပ်နေတဲ့ အချိန်မျိုးမှာ ပေါ့ပေါ့လေးလုပ်တတ်ကြပါတယ်။ ဒါပေမယ့် အလုပ်ထဲရောက်ရင်တော့ ပီးစလွယ်လုပ်လို့မရတဲ့အထဲမှာပါတဲ့ ကိစ္စတခုပါ။ တကယ်လို့ ကိုယ်ပြင်ရမဲ့ Router ရဲ့ ACL ဟာ remote မှာ၊ တခြားမြို့မှာဆိုရင် ကိုယ်မှားလုပ်မိလို့ ပြန်ဝင်လို့မရတော့ တာမျိုးကြုံရတတ်သလို သုံးထားတဲ့ Interface ဟာ $ တွေသွားလာနေတဲ့ Trading လုပ်နေတဲ့ နေရာမျိုးမှာ ကိုယ်ရဲ့ ACL အမှားတခုကြောင့် ခွင့်ပြုထားတဲ့ Network တခုလောက်ပျောက်သွားခဲ့မယ်ဆိုရင် ဘယ်လောက် အထိ ပြဿနာကြီးသွားနိုင်တယ်ဆိုတာကို ခန့်မှန်းလို့ရပါတယ်။ ဒါကြောင့် သေသေချာချာ လေ့လာပြီး Router ၃ လုံးလောက်နဲ့ အမျိုးမျိုးလေ့ကျင့်ထားသင့်ပါတယ်လို့ အကြံပေးလိုပါတယ်။

ကိုဖြိုး

No comments:

Post a Comment