.... အားလံုးအတြက္ မဟုတ္ခဲ့ရင္ေတာင္ တစ္စံုတစ္ရာ တစ္စံုတစ္ေယာက္အတြက္ ေႏြးေထြးတဲ့ ေကာင္းကင္ငယ္ေလး ျဖစ္ပါရေစ ....

Wednesday, September 4, 2013

Squid Access Control Lists (acls)

Acls ဆိုတာကေတာ့ squid cache အတြက္ အေရးအပါဆံုးနဲ႔ အခက္ခဲဆံုးအပိုင္းတစ္ခုပါပဲ။ အေျခခံ Configuration ေတြက ကၽြန္ေတာ္တိုစိတ္ထဲအေတြးထဲမွာ ခ်က္ခ်င္းဆိုသလိုေပၚေပၚလာတတ္ပါတယ္ ။ ဒါေပမယ့္ acl ေတြကေတာ့ ကၽြန္ေတာ္တို အသံုးျပဳမယ့္ ေနရာဌာနပတ္၀န္းက်င္ကိုလိုက္ျပီးေျပာင္းလည္းေနတတ္ပါတယ္။ အခုဒီေနရာေလးမွာ ကၽြန္ေတာ္ ေဆြးေႏြးမွာကေတာ့ acl နဲ႔ acl-operator တို႔ကြာျခားခ်က္နဲ႔အသံုးျပဴပံုေလးေတြပါ

Access Class and Operator 

ACL (Access Control Lists) မွာ  Class and Operator ဆိုျပီးေတာ့ ၂ ပိုင္းရွိပါတယ္။ တစ္ခုျခင္းဆီကၽြန္ေတာ္တို႔ ရွင္းတာေပါ့။
squid server ကိုအင္္စေတာ့လုပ္ျပီး config ျပင္ျပီးတဲ့အေျခအေနတစ္ခုလို႔သက္မွတ္လိုက္မယ္။
ဒီေနရာမွာ နက္၀ါဒ့္တစ္ခုလံုးအတြက္ အိုင္ပီကို 10.0.0.3 ဆိုျပီး သတ္မွတ္ထားခဲ့လိုက္တယ္ဆိုပါေတာ့။
နက္၀ါဒ့္ကေနျပီးေတာ့ squid ကို connect လုပ္မယ္ဆိုရင္  squid က ဘာေတြ စလုပ္မလည္းဆိုေတာ့ HTTP connection ကို request and accept လုပ္မယ္။ http_access ထဲမွာရွိေနတဲ့ အိုင္ပီကိုစစ္ေဆးမႈလုပ္မယ္။  အဲ့ဒီစစ္ေဆးမႈကေန connect လုပ္လာတဲ့အိုင္ပီက http_access အိုင္ပီ တူေနတယ္ဆိုရင္ သူက Allowed လုပ္လိုက္ပါတယ္။ အကယ္လို မတူရင္ေတာ့ Deny လုပ္ေပးလိုက္ပါတယ္။ ဒါသမားရိုးက် အေျခခံအက်ဆံုး သူ႔ရဲ႔လုပ္ေဆာင္မႈပါပဲ

အကယ္လို႔မ်ား 10.0.0.xx နက္၀ါဒ့္မဟုတ္ပဲ တစ္ျခား (ဥပမာ 172.16.x.x.) ကေန၀င္လာမယ္ဆိုရင္ေတာ့ သူက ဘေလာဒ့္လုပ္မွာပါ။  10.0.0.xx နက္၀ါဒ့္ကေန၀င္လာတာဆိုရင္ေတာ့ ပထမဆံုး Accept မွာတင္ သူက Cache တစ္ခုအေနနဲ႔ တည္ေဆာက္ျပီး သိမ္းထားလိုက္ပါတယ္။ ေနာက္တစ္ေယာက္က ဒီနက္၀ါဒ့္ကေနပဲ အိုင္ပီေနာက္တစ္မ်ိဳးနဲ႔ (10.0.0.22) ၀င္လာလို႔ သူေတာင္းဆိုလာတ့ဲ Accept ကို ခ်က္ျခင္းထုတ္မေပးပဲ ခုနက သိမ္းထားလိုက္တဲ့ cache directory ထဲမွာသြားရွာပါတယ္။ ဒါ SQUID ရဲ႕ Main အခ်က္ပါပဲ။ အဲ့လိုအေနအထားမွာ ဘယ္လိုျဖစ္သြားမလည္း .. ဟုတ္တယ္ .. ျမန္သြားတာေပါ့ ။ ဟို၀င္ဒီထြက္ ေစာင့္ေနစရာမလိုေတာ့ပဲ ရွိျပီးသား cache ထဲကေန ဆြဲယူသံုးခိုင္းလုိက္ေတာ့ နက္ပါဒ့္တစ္ခုလံုး ျမန္ဆန္သြားတာေပါ့ ။ ေနာက္တစ္ခုက အေျခခံ Configuration (squid.conf) ကိုသံုးေနတဲ့အခါမွာ
 # And finally deny all other access to this proxy
http_access deny all
ဆိုတာေလးကို သတိမထားမိပဲ ထားခဲ့တတ္ပါတယ္ ။ အဲ့ဒါလံုး၀ သတိျပဳရမွာပါ ။ ဘယ္သူမွဘာမွလုပ္မရေတာ့ေအာင္ျဖစ္ကုန္လိမ့္မယ္။ ဒါ Squid ရဲ႕ အေျခခံလုပ္ေဆာင္မႈေပါ့။ သူ႔ကို acl ေလးေတြထည့္ျပီး အဆင့္ျမင့္တင္မႈေတြလုပ္ရေအာင္။
ခု ACL Lines ေတြကိုဆက္သြားမယ္။
သူ႔အတြက္ ပံုစံက ဒီလိုေလးပါ

acl name type (string|"filename") [string2] [string3] [string3] ["filename2"] 

ေနာက္ သူ႔ကို ဘယ္လိုထပ္ျပိးခြဲလိုရေသးလည္းဆိုေတာ့ ေအာက္ကလိုေပါ့ (xD)


Type Of ACL

  • Source/Destination IP address
  • Source/Destination Domain
  • Regular Expression match of requested domain
  • Words in the requested URL
  • Words in the source or destination domain
  • Current day/time
  • Destination port
  • Protocol (FTP, HTTP, SSL)
  • Method (HTTP GET or HTTP POST)
  • Browser type
  • Name (according to the Ident protocol)
  • Autonomous System (AS) number
  • Username/Password pair
  • SNMP Community


အဲ့လိုေလးေတြ အကန္႔လိုက္ အပိုင္းလိုက္ေလးေတြ ခြဲျခားလို႔ ရပါတယ္။တစ္ခုျခင္းေဆြးေႏြးၾကည့္ရေအာင္

Source/Destination IP address

သူ႔မွာ ရွင္းစရာက Source/Destination ပါ။

Source = where the IP is coming from 
Destination = where the IP is wanting to go

ဒီလိုေလးမွတ္ထားလိုက္ေပါ့ ။ Source ဆိုတာက ၀င္လာတဲ့ အိုင္ပီတစ္ခုျဖစ္ျပီး Destination ဆိုတာကေတာ့ ဘယ္ကိုသြားမယ္ဆိုတဲ့လိပ္စာပါပဲ။ ရန္ကုန္ ----> ေနျပည္ေတာ္ ဆိုပါေတာ့ . ရန္ကုန္က စထြက္လာတာ source ပါ . ဒါဆို Destination က ေနျပည္ေတာ္ေပါ့။ ဒါဆို ဒီအခန္းကိုဆက္သြားဖိုအတြက္ အဆင္ေျပေလာက္ျပီ။ ဆက္ၾကည့္မယ္

acl myNet src 10.0.0.0/255.255.0.0 
http_access allow myNet

ဒါ သူအတြက္ အသံုးပါ ။ acl ကေန myNet ဆိုျပီး နာမည္တစ္ခု( သင္ႏွစ္သက္ရာ) ကို သက္မွတ္ေပးျပီး src ဆိုျပီး source သက္မွတ္ေပးပါတယ္ ။  10.0.0.0/255.255.0.0 ဆိုျပီ IP/netmask သက္မွတ္ေပးလိုက္ပါတယ္။ 10.0.0.၀/16 ဆိုျပီးေတာ့လည္း အတိုသက္မွတ္လို႔ရပါတယ္။  ေအာက္က http_access allow myNet ဆိုတာကေတာ့ အေပၚက သက္မွတ္ေပးလိုက္တဲ့ myNet ကိုျပန္ျပီးေတာ့ Allow လုပ္ဖို႔ေၾကျငာေပးလိုက္တာေပါ့။ အေပၚမွာေျပာခဲ့ပါေသးတယ္ http_access deny all ဆိုတာမွတ္မိမယ္ထင္ပါတယ္ ။

acl myNet src addr1-addr2/netmask
http_access allow myNet

ဒါသူ႔ေဖာ္မက္ေလးေပါ့ ။

Source/Destination Domain

သူကေတာ့ IP နဲ႔မဟုတ္ေတာ့ပဲ Domain နဲ႔ သက္မွတ္ခ်က္တစ္ခုထည့္လုိက္တာပါ

acl myDomain srcdomain .qualica.com .squid-cache.org
http_access allow myDomain

အေပၚက အိုင္ပီအစား ဒိုမိန္းေလးေတြ ေ၇ာက္လာျပီး ကန္႔သက္လုိက္တာပါ ။ သေဘာတရားအတူတူပါပဲ ။ ဆက္သြားလိုက္ရေအာင္ .. အလုပ္ေလးေတြနဲ႔မို႔ ခဏနားလိုက္ဦးမယ္ ။

0 မွတ္ခ်က္: