Web Application Firewall (WAF)

ဒီနေ့ Web Application Firewall (WAF) အကြောင်းကို လေ့လာကြည့်ပါမယ်။ Web Application Firewall တွေဟာ ကျွန်တော်တို့ Web Servers တွေဆီ ရောက်ရှိလာတဲ့ Layer 7 packets တွေကို စစ်ဆေး ပေးနိုင်ပါတယ်။ နောက်တစ်ခုက WAF တွေကို Web Application တွေရှေ့က ရပ်တည် ကာကွယ်ပေးနေတဲ့ Reverse Proxy Server တစ်ခုလို့လဲ ယူဆကြပါတယ်။ မြန်မာနိုင်ငံ ရဲ့ Banking System တော်တော် များများမှာ သူတို့ရဲ့ Banking Web Application တွေကို ကာကွယ်ဖို့ WAF ကို Security Control တစ်မျိုးအနေနဲ့ အသုံးပြုကြပါတယ်။

💭 WAF ကို ကျွန်တော်တို့ ဘာ့ကြောင့်လို အပ်လာတာလဲ…

ကျွန်တော်တို့ WAF အကြောင်း လေ့လာမယ် ဆိုရင် OWASP( The Open Web Application Security Project) ဆိုတဲ့ Organization ကို မသိလို့မရပါဘူး။ OWASP အဖွဲ့က Web Application တွေရေးသားရင် Web Attacks တွေကို ခံနိုင်ရည် ရှိပြီး လုံခြုံစိတ်ချရတဲံ Web Application ဖြစ်ဖို့အတွက် နည်းလမ်းတွေ ချမှတ် ပေးထားပါတယ်။

ဒါပေမဲ့ Application တိုင်းကို OWASP ရဲ့ Guidelines တွေနဲ့အညီ Secure Coding System ဖြစ် အောင် ရေးထားတာမဟုတ်ပါဘူး။ ကျွန်တော်တို့ရဲ့ Web Application တွေဟာ Coding Development ပိုင်းမှာ Security အားနည်း ချက်တွေ ရှိနေမယ် ဆိုရင် Cross-Site Scripting (XSS), SQL Injections, Session Hijacking, Buffer Overflow Attacks တွေအလွယ်လေး ဝင်ရောက်လာနိုင်ပါတယ်။ ဒီ Attacks တွေကို Network Based Firewall နဲ့ IDS/IPS System တွေကတောင် Detect မိဖို့ မလွယ်ပါဘူး။ ဒီနေရာ မှာ Web Attacks တွေကို သီး ခြား Handle လုပ်ပေးနိုင်တဲ့ WAF ဆိုတာ Security လိုအပ်ချက် တစ်ခု ဖြစ်လာပါတယ်။

💭 WAF ဘယ်လို အလုပ်လုပ်သလဲ…

WAF က Web Application Servers တွေဆီ လာတဲ့ HTTP/HTTPS GET and POST Request တွေကို Analyze လုပ်ပေးပါတယ် ။ ဒါတွေအပြင် Malicious Web Traffic တွေကို အမျိုးအစား သတ်မှတ်ပြီး Block လုပ်နိုင်ဖို့ WAF ထဲ မှာ Configured လုပ်ပြီးသား Rule တွေကို Apply လုပ်နိုင်ပါတယ်။

WAF ကို Security Model ၃ မျိုး နဲ့ Configure လုပ်နိုင်ပါတယ်။ ဘယ် Model က အကောင်း ဆုံးရယ် လို့ မရှိပါဘူး။ ကိုယ့် Infra ထဲမှာ အသုံးပြု ထားတဲ့ Web Server တွေ Application တွေပေါ် မူတည်ပြီး ထိရောက်မုှ ရှိတဲ့ Security Model ကို Configure လုပ်သင့်ပါတယ်။

🔹 A Whitelisting Model – Web Application Firewall တစ်ခုဟာ Parameters (အထူးသဖြင့် Global, URL, Flow, Sensitive, Navigation နဲ့ တခြား Dynamic Content စတဲ့ Parameters တွေ) ၊ Meta Characters, Query String Length နဲ့ Post Request Data စတာတွေကို Positive Security Logic Check အနေနဲ့ အသုံးပြုပါတယ်။ Security Policy ထဲမှာ Known Parameters တွေသာပါဝင်နေမယ် ဆိုရင် Whitelisting Model ကို ပြုလုပ်နေတာပဲဖြစ်ပါတယ်။ Whitelisting Modelက ကျွန်တော်တို့ Security Policy ထဲမှာ သတ်မှတ်ထားတဲ့ Parameters တွေပါဝင်တဲ့ Traffic တွေကိုပဲ Allow လုပ်သွားမှာ ဖြစ်ပါတယ်။

🔹 A Blacklisting Model – Blacklisting Model မှာ Malicious Web Traffic တွေကို Block နိုင်ဖို့ Pre-set Signatures တွေကို အသုံးပြုပါတယ်။ အားနည်းချက်ရှိပြီး Exploit လုပ်ခံထားရတဲ့ တချို ့ Website တွေမှာဖြစ်လေ့ရှိတဲ့ Attack တွေကို ကာကွယ်နိုင်ဖို့ Signature တွေကို ဒီဇိုင်းလုပ်ထားပါတယ်။ Blacklisting Model ရဲ့ အလုပ်လုပ်ပုံက “Allow All Except for These Items” လိုမျိုး ပါ။ ကိုယ့် Organization ရဲ့ Web Server က Public Internet ပေါ်မှာ ရှိနေပြီး Clients ပေါင်း များစွာက Access လုပ်နေတဲ့ အချိန်မှာ Legitimate ရှိသလို Unlegitimate Traffic တွေလဲ ရှိနိုင်တဲ့အ Blacklisting Model ကို ရွေးချယ်သင့်ပါတယ်။

🔹 Hybrid Model – Hybrid Model က အပေါ်မှာ ဖော်ပြခဲ့တဲ့ Whitelisting နဲ့ Blacklisting Model (၂ ) ခု လုံးကို ပေါင်းစပ်အသုံး ပြု ထားတာ ဖြစ်ပါတယ်။ ကိုယ့်ရဲ့ Web Server က Internal Network မှာ ရှိသည် ဖြစ်စေ၊ Public Internet ပေါ် မှာ ရှိသည် ဖြစ်စေ Security Model တစ်ခုချင်းစီ အသုံးပြုနေတာထက် (၂) ခု လုံးကို ပေါင်းစပ် ထားတဲ့ Hybrid Model အသုံးပြု ခြင်းက Configuration ကို ပိုပြီး Scalability ကောင်းစေတဲ့အပြင် ပိုပြီး Secure ဖြစ်စေပါတယ်။

💭 WAF ကို Reverse Proxy လို့ သတ်မှတ်လို့ရလား…

Reverse Proxy တွေက Private Network ထဲမှာ ဆို Firewall ရဲ့ အနောက်မှာ ရှိတတ်ပြီး Clients တွေ ရဲ့ Request တွေကို Backend Server တွေဆီ ပြန်ပြီး Direct လုပ်ပေးပါတယ်။ Reverse Proxy လို့ ခေါ်ရတာ က Proxy ရဲ့ အလုပ် လုပ် ပုံ နဲ့ ပြောင်းပြန် ဖြစ်နေလို့ပါ။ Clients တွေကို ကာကွယ် ဖို့ Proxy တွေကို အသုံး ပြုရတာ ဖြစ်ပြီး Reverse Proxy တွေကို တော့ Web Server တွေကို ကာကွယ် ဖို့အသုံး ပြုရတာပဲ ဖြစ်ပါတယ်။ ဒါ့ကြောင့် WAF ကို Reverse Proxy အနေနဲ့ စဉ်းစားနိုင်တာ ဖြစ်ပါတယ်။

💡 အဓိက အကြံပြုလိုတာက ကျွန်တော် တို့ရဲ့ Web Application တွေကို OWASP ရဲ့ Guideline နဲ့ အညီ Secure Coding System ဖြစ်အောင် မရေးနိုင်ဘူး ဆိုရင် Mitigation Control တစ်ခုအနေနဲ့ ကျွန်တော်တို့ Web Application တွေကို Web Attacks တွေ ရန်မှ ကာကွယ် ဖို့ WAF ကို အသုံးပြုသင့်ပါတယ်။ ကျွန်တော် တို့ NEX4 SI အနေနဲ့ Customer တွေကို Provide လုပ်ပေးနေတဲ့ Web Application Products တွေ အကြောင်းကို နောက်လာမဲ့ Article မှာ ဖတ်ရှုနိုင်ပါတယ်။

NEX4 အနေနဲ့ WAF Feature များ Configure လုပ်ခြင်းကို ကျွမ်းကျင် နည်းပညာရှင်တွေနဲ့ လုပ်ဆောင်ပေးလျက်ရှိပါတယ်။ ဒါ့အပြင် Users တွေ၊ Admins တွေအတွက် Awareness ရှိပြီး ပိုမိုလွယ်ကူအောင် Trainings တွေကိုလဲ NEX4 ဘက်က ဆောင်ရွက်ပေးနေပါတယ်။ ✔✔

Don’t forget to share this post!