WordPress GO ဝန်ဆောင်မှုတွင် အခမဲ့ 1 နှစ် ဒိုမိန်းအမည် ကမ်းလှမ်းချက်

Web Application လုံခြုံရေးသည် ယနေ့ခေတ်တွင် အရေးအကြီးဆုံးဖြစ်သည်။ ဤအခြေအနေတွင်၊ Cross-Site Scripting (XSS) တိုက်ခိုက်မှုများသည် ပြင်းထန်သောခြိမ်းခြောက်မှုတစ်ခုဖြစ်သည်။ ဤနေရာတွင် အကြောင်းအရာ လုံခြုံရေးမူဝါဒ (CSP) သည် ပါဝင်လာပါသည်။ ဤဘလော့ဂ်ပို့စ်တွင်၊ CSP သည် အဘယ်အရာဖြစ်သည်၊ ၎င်း၏ အဓိကအင်္ဂါရပ်များနှင့် ၎င်းကို မည်သို့အကောင်အထည်ဖော်ရမည်၊ XSS တိုက်ခိုက်မှုများကို ထိရောက်သော ကာကွယ်ရေးယန္တရားတစ်ခုအဖြစ် အဆင့်ဆင့် စစ်ဆေးပါမည်။ CSP အသုံးပြုခြင်း၏ ဖြစ်နိုင်ခြေရှိသော အန္တရာယ်များကိုလည်း ဆွေးနွေးပါမည်။ CSP ၏ မှန်ကန်သောဖွဲ့စည်းမှုပုံစံသည် XSS တိုက်ခိုက်မှုများကို သင့်ဝဘ်ဆိုဒ်၏ခံနိုင်ရည်အား သိသိသာသာတိုးစေနိုင်သည်။ ထို့ကြောင့်၊ XSS ကို ဆန့်ကျင်သည့် အဓိကအစီအမံများထဲမှ တစ်ခုဖြစ်သည့် CSP ကို ထိရောက်စွာ အသုံးပြုခြင်းသည် သုံးစွဲသူဒေတာနှင့် သင့်အပလီကေးရှင်း၏ ခိုင်မာမှုကို ကာကွယ်ရန်အတွက် အရေးကြီးပါသည်။
ဝဘ်အက်ပလီကေးရှင်းများသည် ယနေ့ခေတ် ဆိုက်ဘာတိုက်ခိုက်မှုများ၏ ပစ်မှတ်ဖြစ်လာပြီး ယင်းတိုက်ခိုက်မှုများအနက် အဖြစ်အများဆုံးမှာ တစ်ခုဖြစ်သည်။ XSS (Cross-Site Scripting) XSS တိုက်ခိုက်မှုများသည် အန္တရာယ်ရှိသော သရုပ်ဆောင်များကို ဝဘ်ဆိုက်များအတွင်းသို့ မလိုလားအပ်သော ဇာတ်ညွှန်းများ ထည့်သွင်းရန် ခွင့်ပြုသည်။ ၎င်းသည် ထိလွယ်ရှလွယ်အသုံးပြုသူအချက်အလက်များကို ခိုးယူမှု၊ ဆက်ရှင်ပြန်ပေးဆွဲခြင်းနှင့် ဝဘ်ဆိုဒ်ကို အလုံးစုံလွှဲပြောင်းခြင်းအပါအဝင် ပြင်းထန်သောအကျိုးဆက်များ ရှိနိုင်သည်။ ထို့ကြောင့်၊ XSS တိုက်ခိုက်မှုများကို ထိရောက်စွာ တန်ပြန်အရေးယူခြင်းသည် ဝဘ်အက်ပလီကေးရှင်းများ၏ လုံခြုံရေးအတွက် အရေးကြီးပါသည်။
ဒီနေရာမှာ အကြောင်းအရာ လုံခြုံရေးမူဝါဒ (CSP) ဤနေရာတွင် CSP ဝင်လာပါသည်။ CSP သည် ဝဘ်ဆော့ဖ်ဝဲရေးသားသူများအား မည်သည့်အရင်းအမြစ်များ (scripts, stylesheets, images, etc.) ကို ဝဘ်အပလီကေးရှင်းအတွင်း တင်ပြီး လုပ်ဆောင်နိုင်သည်ကို ထိန်းချုပ်ရန် ခွင့်ပြုသည့် အားကောင်းသည့် လုံခြုံရေးယန္တရားတစ်ခုဖြစ်သည်။ CSP သည် XSS တိုက်ခိုက်မှုများကို လျော့ပါးစေရန် သို့မဟုတ် လုံးဝပိတ်ဆို့ခြင်းဖြင့် ဝဘ်အက်ပလီကေးရှင်းများ၏ လုံခြုံရေးကို သိသိသာသာတိုးစေသည်။ ၎င်းသည် သင့်ဝဘ်အပလီကေးရှင်းအတွက် firewall ကဲ့သို့ လုပ်ဆောင်ပြီး ခွင့်ပြုချက်မရှိဘဲ အရင်းအမြစ်များကို လည်ပတ်ခြင်းမှ ကာကွယ်ပေးသည်။
အောက်တွင် ကျွန်ုပ်တို့သည် XSS တိုက်ခိုက်မှုကို ဖြစ်စေနိုင်သော အဓိကပြဿနာအချို့ကို ဖော်ပြထားပါသည်။
CSP ကို မှန်ကန်စွာ အကောင်အထည်ဖော်ခြင်းသည် ဝဘ်အက်ပလီကေးရှင်းများ၏ လုံခြုံရေးကို သိသာထင်ရှားစွာ တိုးမြင့်စေပြီး XSS တိုက်ခိုက်မှုများမှ ဖြစ်နိုင်ခြေရှိသော ပျက်စီးဆုံးရှုံးမှုများကို လျှော့ချနိုင်သည်။ သို့သော်လည်း CSP သည် configure လုပ်ရန် ရှုပ်ထွေးနိုင်ပြီး မှားယွင်းသော configuration များသည် application function ကို နှောင့်ယှက်နိုင်သည်။ ထို့ကြောင့် CSP ကို ကောင်းစွာနားလည်ပြီး အကောင်အထည်ဖော်ရန် အရေးကြီးပါသည်။ အောက်ပါဇယားသည် CSP ၏ အဓိကအစိတ်အပိုင်းများနှင့် လုပ်ဆောင်ချက်များကို အကျဉ်းချုပ်ဖော်ပြထားသည်။
| CSP အစိတ်အပိုင်း | ရှင်းလင်းချက် | ဥပမာ |
|---|---|---|
မူရင်း-src |
အခြားညွှန်ကြားချက်များအတွက် ယေဘူယျပြန်တန်ဖိုးကို သတ်မှတ်သည်။ | မူရင်း-src 'မိမိကိုယ်ကို' |
script-src |
JavaScript အရင်းအမြစ်များကို မည်သည့်နေရာတွင် တင်နိုင်သည်ကို သတ်မှတ်ပါ။ | script-src 'self' https://example.com |
style-src |
စတိုင်ဖိုင်များကို မည်သည့်နေရာတွင် တင်နိုင်သည်ကို သတ်မှတ်ပေးသည်။ | style-src 'မိမိကိုယ်ကို' 'unsafe-inline' |
img-src |
ပုံများကို အပ်လုဒ်လုပ်နိုင်သည့် နေရာကို သတ်မှတ်ပါ။ | img-src 'ကိုယ်တိုင်' ဒေတာ- |
အဲဒါကို မမေ့သင့်ဘူး၊ CSP သည် သီးသန့်ဖြေရှင်းချက်မဟုတ်ပါ။၎င်းကို အခြားလုံခြုံရေးအစီအမံများနှင့် တွဲဖက်အသုံးပြုခြင်းဖြင့် XSS တိုက်ခိုက်မှုများကို အထိရောက်ဆုံးဖြစ်လိမ့်မည်။ လုံခြုံသော ကုဒ်ရေးနည်းများ၊ ထည့်သွင်းအတည်ပြုခြင်း၊ ထုတ်ပေးသည့် ကုဒ်နံပါတ်နှင့် ပုံမှန်လုံခြုံရေးစကင်န်များသည် XSS တိုက်ခိုက်မှုများအတွက် အခြားသော အရေးကြီးသော ကြိုတင်ကာကွယ်မှုများဖြစ်သည်။
အောက်တွင် CSP ၏ ဥပမာတစ်ခုဖြစ်ပြီး ၎င်းသည် အဘယ်အရာကို ဆိုလိုသည်-
အကြောင်းအရာ-လုံခြုံရေး-မူဝါဒ- default-src 'ကိုယ်တိုင်'; script-src 'self' https://apis.google.com; object-src 'none';
ဤ CSP မူဝါဒသည် တူညီသောအရင်းအမြစ်ကိုသာ ဝင်ရောက်ရန် ဝဘ်အပလီကေးရှင်းကို လိုအပ်သည် ('ကိုယ်') ၎င်းအား အရင်းအမြစ်များကို တင်ရန် ခွင့်ပြုသည်။ JavaScript အတွက်၊ ၎င်းသည် Google APIs (https://apis.google.comObject tags များကို လုံးဝပိတ်ဆို့ထားချိန်တွင် scripts များကိုခွင့်ပြုသည် (object-src 'none'ဤနည်းအားဖြင့်၊ XSS တိုက်ခိုက်မှုများကို ခွင့်ပြုချက်မရှိဘဲ script များနှင့် အရာဝတ္တုများ လုပ်ဆောင်ခြင်းကို တားဆီးထားသည်။
အကြောင်းအရာ လုံခြုံရေး CSP သည် ဝဘ်အက်ပလီကေးရှင်းများကို တိုက်ခိုက်မှုအမျိုးမျိုးမှ ကာကွယ်ပေးသည့် အားကောင်းသည့် လုံခြုံရေးယန္တရားတစ်ခုဖြစ်သည်။ အထူးသဖြင့် Cross-Site Scripting (XSS) တွင် အများအားဖြင့် အားနည်းချက်များကို ကာကွယ်ရာတွင် အရေးကြီးသော အခန်းကဏ္ဍမှ ပါဝင်ပါသည်။ CSP သည် မည်သည့်အရင်းအမြစ်များ (scripts, stylesheets, images, etc.) ကို တင်ရန်ခွင့်ပြုထားကြောင်း ဘရောက်ဆာကိုပြောပြသည့် HTTP ခေါင်းစီးတစ်ခုဖြစ်သည်။ ၎င်းသည် အန္တရာယ်ရှိသောကုဒ်ကို လုပ်ဆောင်ခြင်း သို့မဟုတ် ခွင့်ပြုချက်မရှိဘဲ အရင်းအမြစ်များကို တင်ခြင်းမှ တားဆီးထားသောကြောင့် အပလီကေးရှင်းလုံခြုံရေးကို တိုးမြှင့်စေသည်။
CSP သည် XSS တိုက်ခိုက်မှုများကိုသာမက clickjacking၊ ရောနှောထားသော အကြောင်းအရာချို့ယွင်းချက်များနှင့် အခြားသော လုံခြုံရေးခြိမ်းခြောက်မှုများကိုလည်း ကာကွယ်ပေးပါသည်။ ၎င်း၏အသုံးချပရိုဂရမ်နယ်ပယ်များသည် ကျယ်ပြောလှပြီး ၎င်းသည် ခေတ်မီဝဘ်ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်များ၏ အရေးပါသောအစိတ်အပိုင်းတစ်ခုဖြစ်လာသည်။ CSP ၏ မှန်ကန်သောဖွဲ့စည်းမှုပုံစံသည် အက်ပလီကေးရှင်းတစ်ခု၏ အလုံးစုံလုံခြုံရေးအနေအထားကို သိသိသာသာတိုးတက်စေသည်။
| ထူးခြားချက် | ရှင်းလင်းချက် | အကျိုးကျေးဇူးများ |
|---|---|---|
| အရင်းအမြစ်ကန့်သတ်ချက် | မည်သည့်အရင်းအမြစ်ဒေတာမှ တင်ဆောင်နိုင်သည်ကို ဆုံးဖြတ်ပါ။ | ၎င်းသည် ခွင့်ပြုချက်မရှိဘဲ အရင်းအမြစ်များမှ အန္တရာယ်ရှိသော အကြောင်းအရာများကို ပိတ်ဆို့ထားသည်။ |
| Inline Script Blocking | HTML တွင်တိုက်ရိုက်ရေးသားထားသော script များလုပ်ဆောင်ခြင်းကိုတားဆီးသည်။ | ၎င်းသည် XSS တိုက်ခိုက်မှုများကို ကာကွယ်ရာတွင် ထိရောက်မှုရှိသည်။ |
| Eval() လုပ်ဆောင်ချက် ကန့်သတ်ချက် | eval() ကဲ့သို့သော dynamic code execution functions များကို အသုံးပြုခြင်းကို ကန့်သတ်ထားသည်။ |
အန္တရာယ်ရှိသော ကုဒ်ထိုးခြင်းကို ပိုမိုခက်ခဲစေသည်။ |
| အစီရင်ခံခြင်း။ | မူဝါဒချိုးဖောက်မှုများကို သတ်မှတ်ထားသော URL သို့ သတင်းပို့ပါ။ | လုံခြုံရေးချိုးဖောက်မှုများကို ရှာဖွေပြီး ခွဲခြမ်းစိတ်ဖြာရန် ပိုမိုလွယ်ကူစေသည်။ |
CSP သည် ညွှန်ကြားချက်များဖြင့် အလုပ်လုပ်ပါသည်။ ဤလမ်းညွှန်ချက်များတွင် ဘရောက်ဆာသည် မည်သည့်အရင်းအမြစ်များမှ တင်ဆောင်နိုင်သည့် အရင်းအမြစ်အမျိုးအစားများကို အသေးစိတ်ဖော်ပြထားသည်။ ဥပမာအားဖြင့်, script-src ညွှန်ကြားချက်သည် မည်သည့်အရင်းအမြစ်များမှ JavaScript ဖိုင်များကို တင်နိုင်သည်ကို သတ်မှတ်သည်။ style-src ညွှန်ကြားချက်သည် စတိုင်ဖိုင်များအတွက် တူညီသောရည်ရွယ်ချက်ကို ဆောင်ရွက်ပေးသည်။ မှန်ကန်စွာ ပြင်ဆင်သတ်မှတ်ထားသော CSP သည် အပလီကေးရှင်း၏ မျှော်လင့်ထားသည့် အပြုအမူကို သတ်မှတ်ပြီး ထိုအပြုအမူမှ သွေဖည်ရန် ကြိုးပမ်းမှုမှန်သမျှကို ပိတ်ဆို့သည်။
CSP ကို ထိထိရောက်ရောက် အကောင်အထည်ဖော်နိုင်ရန်၊ ဝဘ်အက်ပလီကေးရှင်းသည် အချို့သောစံနှုန်းများကို လိုက်နာရမည်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ inline script များနှင့် style အဓိပ္ပါယ်များကို တတ်နိုင်သမျှ ဖယ်ရှားပြီး ၎င်းတို့ကို ပြင်ပဖိုင်များသို့ ရွှေ့ရန် အရေးကြီးပါသည်။ ထိုမျှသာမက၊ eval() ဒိုင်းနမစ်ကုဒ် အကောင်အထည်ဖော်မှု လုပ်ဆောင်ချက်များကို အသုံးပြုခြင်းကို ရှောင်ရှားသင့်သည် သို့မဟုတ် ဂရုတစိုက် ကန့်သတ်သင့်သည်။
CSP ၏ မှန်ကန်သောဖွဲ့စည်းမှုCSP သည် web application လုံခြုံရေးအတွက် အရေးကြီးပါသည်။ မှားယွင်းစွာပြင်ဆင်ထားသော CSP သည် အပလီကေးရှင်း၏မျှော်မှန်းလုပ်ဆောင်နိုင်စွမ်းကို အနှောင့်အယှက်ဖြစ်စေနိုင်သည် သို့မဟုတ် လုံခြုံရေးဆိုင်ရာ အားနည်းချက်များကို မိတ်ဆက်နိုင်သည်။ ထို့ကြောင့် CSP မူဝါဒများကို ဂရုတစိုက်စီစဉ်ခြင်း၊ စမ်းသပ်စစ်ဆေးပြီး အဆက်မပြတ် မွမ်းမံပြင်ဆင်ရပါမည်။ လုံခြုံရေးကျွမ်းကျင်ပညာရှင်များနှင့် ဆော့ဖ်ဝဲရေးသားသူများသည် CSP ကမ်းလှမ်းချက်များကို အပြည့်အဝအသုံးချရန် ၎င်းကို ဦးစားပေးလုပ်ဆောင်ရမည်ဖြစ်သည်။
အကြောင်းအရာ လုံခြုံရေး CSP ကို အကောင်အထည်ဖော်ခြင်းသည် XSS တိုက်ခိုက်မှုများကို ဆန့်ကျင်သည့် ထိရောက်သော ကာကွယ်ရေးယန္တရားကို ဖန်တီးရာတွင် အရေးကြီးသော အဆင့်တစ်ခုဖြစ်သည်။ သို့သော် မှားယွင်းစွာ အကောင်အထည်ဖော်ပါက မမျှော်လင့်ထားသော ပြဿနာများ ဖြစ်ပေါ်လာနိုင်သည်။ ထို့ကြောင့် CSP အကောင်အထည်ဖော်ရာတွင် ဂရုတစိုက်နှင့် ချင့်ချိန်ဆုံးဖြတ်ရန် လိုအပ်ပါသည်။ ဤကဏ္ဍတွင်၊ ကျွန်ုပ်တို့သည် CSP ကို အောင်မြင်စွာ အကောင်အထည်ဖော်ရန် လိုအပ်သော အဆင့်များကို အသေးစိတ် စစ်ဆေးပါမည်။
| ကျွန်တော့်နာမည် | ရှင်းလင်းချက် | အရေးပါမှုအဆင့် |
|---|---|---|
| 1. မူဝါဒချမှတ်ခြင်း။ | ဘယ်အရင်းအမြစ်တွေက ယုံကြည်စိတ်ချရပြီး ဘယ်ဟာကို ပိတ်ဆို့သင့်တယ်ဆိုတာ ဆုံးဖြတ်ပါ။ | မြင့်သည်။ |
| 2. အစီရင်ခံခြင်း ယန္တရား | CSP ချိုးဖောက်မှုများကို အစီရင်ခံရန် ယန္တရားတစ်ခု ထူထောင်ပါ။ | မြင့်သည်။ |
| 3. ပတ်ဝန်းကျင်ကို စမ်းသပ်ပါ။ | ၎င်းကို တိုက်ရိုက်မအကောင်အထည်ဖော်မီ CSP ကို စမ်းသပ်သည့် ပတ်ဝန်းကျင်တွင် စမ်းကြည့်ပါ။ | မြင့်သည်။ |
| 4. အဆင့်ဆင့် အကောင်အထည်ဖော်ခြင်း။ | CSP ကို တဖြည်းဖြည်း အကောင်အထည်ဖော်ပြီး ၎င်း၏သက်ရောက်မှုများကို စောင့်ကြည့်ပါ။ | အလယ် |
CSP ကို အကောင်အထည်ဖော်ခြင်းသည် နည်းပညာဆိုင်ရာ လုပ်ငန်းစဉ်တစ်ခုမျှသာ မဟုတ်ပါ။ သင့်ဝဘ်အပလီကေးရှင်း၏ဗိသုကာလက်ရာနှင့် ၎င်းအသုံးပြုသည့်အရင်းအမြစ်များကို နက်နဲစွာနားလည်ရန်လည်း လိုအပ်ပါသည်။ ဥပမာအားဖြင့်၊ သင်သည် ပြင်ပအဖွဲ့အစည်း စာကြည့်တိုက်များကို အသုံးပြုပါက၊ ၎င်းတို့၏ ယုံကြည်စိတ်ချရမှုနှင့် အရင်းအမြစ်ကို ဂရုတစိုက် အကဲဖြတ်ရန် လိုအပ်သည်။ မဟုတ်ပါက၊ CSP ကို မှားယွင်းစွာ ပြင်ဆင်သတ်မှတ်ခြင်းသည် သင့်အပလီကေးရှင်း၏ လုပ်ဆောင်နိုင်စွမ်းကို အနှောင့်အယှက်ဖြစ်စေနိုင်သည် သို့မဟုတ် မျှော်လင့်ထားသည့် လုံခြုံရေးအကျိုးကျေးဇူးများကို ပေးအပ်ရန် ပျက်ကွက်နိုင်သည်။
အဆင့်ဆင့်အကောင်အထည်ဖော်ခြင်းသည် CSP ၏ အရေးကြီးဆုံးအခြေခံမူများထဲမှတစ်ခုဖြစ်သည်။ အစကတည်းက အရမ်းတင်းကျပ်တဲ့ မူဝါဒကို အကောင်အထည် ဖော်တာထက် ပိုလုံခြုံတဲ့ ချဉ်းကပ်နည်းက ပိုပြီး လိုက်လျောညီထွေရှိတဲ့ မူဝါဒနဲ့ စတင်ပြီး အချိန်ကြာလာတာနဲ့အမျှ တဖြည်းဖြည်း တင်းကျပ်လာဖို့ ဖြစ်ပါတယ်။ ၎င်းသည် သင့်အပလီကေးရှင်း၏ လုပ်ဆောင်နိုင်စွမ်းကို မထိခိုက်စေဘဲ လုံခြုံရေးဆိုင်ရာ အားနည်းချက်များကို ကိုင်တွယ်ဖြေရှင်းရန် အခွင့်အလမ်းပေးသည်။ ထို့အပြင်၊ အစီရင်ခံခြင်းယန္တရားသည် သင့်အား ဖြစ်နိုင်ချေရှိသော ပြဿနာများကို ဖော်ထုတ်နိုင်ပြီး လျင်မြန်စွာ တုံ့ပြန်နိုင်စေပါသည်။
မှတ်ထားပါ၊ အကြောင်းအရာ လုံခြုံရေး မူဝါဒတစ်ခုတည်းက XSS တိုက်ခိုက်မှုအားလုံးကို မတားဆီးနိုင်ပါဘူး။ သို့သော်၊ မှန်ကန်စွာ အကောင်အထည်ဖော်သည့်အခါ၊ ၎င်းသည် XSS တိုက်ခိုက်မှုများ၏ အကျိုးသက်ရောက်မှုကို သိသိသာသာ လျှော့ချနိုင်ပြီး သင့်ဝဘ်အပလီကေးရှင်း၏ အလုံးစုံလုံခြုံရေးကို တိုးမြှင့်နိုင်သည်။ ထို့ကြောင့် CSP ကို အခြားလုံခြုံရေးအစီအမံများနှင့် တွဲဖက်အသုံးပြုခြင်းသည် အထိရောက်ဆုံးနည်းလမ်းဖြစ်သည်။
အကြောင်းအရာ လုံခြုံရေး CSP သည် XSS တိုက်ခိုက်မှုများကို ဆန့်ကျင်သည့် အားကောင်းသည့် ကာကွယ်ရေးယန္တရားကို ပေးစွမ်းသော်လည်း၊ ဖွဲ့စည်းမှု မှားယွင်းခြင်း သို့မဟုတ် ပြီးပြည့်စုံစွာ အကောင်အထည်မဖော်သည့်အခါ၊ ၎င်းသည် မျှော်လင့်ထားသည့် အကာအကွယ်ကို မပေးနိုင်သည့်အပြင်၊ အချို့ကိစ္စများတွင် လုံခြုံရေး အားနည်းချက်များကိုပင် ပိုမိုဆိုးရွားစေနိုင်သည်။ CSP ၏ထိရောက်မှုသည် မှန်ကန်သောမူဝါဒများကို သတ်မှတ်ခြင်းနှင့် စဉ်ဆက်မပြတ်မွမ်းမံခြင်းအပေါ် မူတည်ပါသည်။ မဟုတ်ပါက အားနည်းချက်များကို တိုက်ခိုက်သူများသည် အလွယ်တကူ အသုံးချနိုင်သည်။
ဂရုတစိုက်ခွဲခြမ်းစိတ်ဖြာခြင်းသည် CSP ၏ထိရောက်မှုကိုအကဲဖြတ်ရန်နှင့်ဖြစ်နိုင်သောအန္တရာယ်များကိုနားလည်ရန်အရေးကြီးပါသည်။ အထူးသဖြင့်၊ ကျယ်ပြန့်လွန်းသော သို့မဟုတ် တင်းကျပ်လွန်းသည့် CSP မူဝါဒများသည် အက်ပ်လီကေးရှင်းလုပ်ဆောင်နိုင်စွမ်းကို နှောင့်ယှက်နိုင်ပြီး တိုက်ခိုက်သူများအတွက် အခွင့်အလမ်းများကို တင်ပြနိုင်သည်။ ဥပမာအားဖြင့်၊ ကျယ်ပြန့်လွန်းသော မူဝါဒသည် မယုံကြည်ရသော ရင်းမြစ်များမှ ကုဒ်များ လည်ပတ်မှုကို ခွင့်ပြုနိုင်ပြီး XSS တိုက်ခိုက်မှုများကို ခံနိုင်ရည်ရှိစေပါသည်။ တင်းကျပ်လွန်းသော မူဝါဒသည် အပလီကေးရှင်းကို ကောင်းမွန်စွာ လုပ်ဆောင်ခြင်းမှ တားဆီးနိုင်ပြီး သုံးစွဲသူအတွေ့အကြုံကို အပျက်သဘောဆောင်ပါသည်။
| အန္တရာယ်အမျိုးအစား | ရှင်းလင်းချက် | ဖြစ်နိုင်သောရလဒ်များ |
|---|---|---|
| ပုံစံမှားခြင်း။ | CSP ညွှန်ကြားချက်များ မှားယွင်းနေသည် သို့မဟုတ် မပြည့်စုံသော အဓိပ္ပါယ်ဖွင့်ဆိုချက်။ | XSS တိုက်ခိုက်မှုများကို အကာအကွယ်မလုံလောက်ခြင်း၊ အပလီကေးရှင်း၏လုပ်ဆောင်နိုင်စွမ်းကို ကျဆင်းစေသည်။ |
| အလွန်ကျယ်ပြန့်သောမူဝါဒများ | မယုံကြည်ရသော အရင်းအမြစ်များမှ ကုဒ်လုပ်ဆောင်မှုကို ခွင့်ပြုခြင်း။ | တိုက်ခိုက်သူများသည် အန္တရာယ်ရှိသောကုဒ်ကို ထိုးသွင်းကာ ဒေတာခိုးယူကြသည်။ |
| အလွန်တင်းကျပ်သောမူဝါဒများ | အပလီကေးရှင်းအား လိုအပ်သော အရင်းအမြစ်များ ဝင်ရောက်ခြင်းမှ ပိတ်ဆို့ခြင်း။ | အပလီကေးရှင်း အမှားအယွင်းများ၊ အသုံးပြုသူ အတွေ့အကြုံ ကျဆင်းခြင်း။ |
| မူဝါဒမွမ်းမံမှုများ မရှိခြင်း။ | အားနည်းချက်အသစ်များကို ကာကွယ်ရန် မူဝါဒများကို အပ်ဒိတ်လုပ်ရန် ပျက်ကွက်ခြင်း။ | တိုက်ခိုက်မှု vector အသစ်များအတွက် အားနည်းချက်။ |
ထို့အပြင်၊ CSP ၏ဘရောက်ဆာ၏လိုက်ဖက်ညီမှုကိုထည့်သွင်းစဉ်းစားသင့်သည်။ ဘရောက်ဆာအားလုံးသည် CSP ၏အင်္ဂါရပ်အားလုံးကို မပံ့ပိုးနိုင်ဘဲ အချို့သောအသုံးပြုသူများကို လုံခြုံရေးဆိုင်ရာ အားနည်းချက်များကို ဖော်ထုတ်ပေးနိုင်သည်။ ထို့ကြောင့်၊ CSP မူဝါဒများကို ဘရောက်ဆာ လိုက်ဖက်မှုရှိမရှိ စမ်းသပ်သင့်ပြီး မတူညီသော ဘရောက်ဆာများတွင် ၎င်းတို့၏ အပြုအမူကို စစ်ဆေးသင့်သည်။
CSP အကောင်အထည်ဖော်မှုတွင် ဘုံအမှားတစ်ခုမှာ unsafe-inline နှင့် unsafe-eval ညွှန်ကြားချက်များကို မလိုအပ်ဘဲ အသုံးပြုခြင်းပင်ဖြစ်သည်။ ဤညွှန်ကြားချက်များသည် inline scripts များနှင့် eval() လုပ်ဆောင်ချက်ကို အသုံးပြုခွင့်ပေးခြင်းဖြင့် CSP ၏ အခြေခံရည်ရွယ်ချက်ကို ထိခိုက်စေပါသည်။ ဤညွှန်ကြားချက်များကို ဖြစ်နိုင်သည့်အခါတိုင်း ရှောင်ရှားသင့်ပြီး ဘေးကင်းသော အခြားနည်းလမ်းများကို အသုံးပြုသင့်သည်။
သို့ရာတွင်၊ CSP အစီရင်ခံခြင်းယန္တရား၏ မှားယွင်းသောဖွဲ့စည်းပုံသည် ဘုံအခက်အခဲတစ်ခုလည်းဖြစ်သည်။ CSP ချိုးဖောက်မှုများဆိုင်ရာ အစီရင်ခံစာများကို စုဆောင်းခြင်းသည် မူဝါဒထိရောက်မှုကို အကဲဖြတ်ရန်နှင့် ဖြစ်နိုင်ချေရှိသော တိုက်ခိုက်မှုများကို ရှာဖွေဖော်ထုတ်ရန်အတွက် အရေးကြီးပါသည်။ အစီရင်ခံခြင်းယန္တရားသည် ကောင်းမွန်စွာလုပ်ဆောင်ခြင်းမရှိသောအခါ၊ အားနည်းချက်များသတိမပြုမိသွားကာ တိုက်ခိုက်မှုများကို သိရှိနိုင်မည်မဟုတ်ပေ။
CSP သည် ငွေရောင်ကျည်ဆန်မဟုတ်သော်လည်း၊ ၎င်းသည် XSS တိုက်ခိုက်မှုများကို ကာကွယ်ရန် အရေးကြီးသောအလွှာဖြစ်သည်။ သို့သော်လည်း မည်သည့် လုံခြုံရေး အတိုင်းအတာကဲ့သို့ပင် မှန်ကန်စွာ အကောင်အထည်ဖော်ပြီး လုံ့လစိုက်ထုတ်မှသာ ထိရောက်မှုရှိသည်။
အကြောင်းအရာ လုံခြုံရေး CSP သည် XSS တိုက်ခိုက်မှုများကို ဆန့်ကျင်သည့် အားကောင်းသည့် ကာကွယ်ရေးယန္တရားကို ပေးစွမ်းသော်လည်း ၎င်းမှာ သူ့ဘာသာသူ မလုံလောက်ပါ။ CSP ကို အခြားလုံခြုံရေးအစီအမံများနှင့် တွဲဖက်အသုံးပြုခြင်းသည် ထိရောက်သောလုံခြုံရေးဗျူဟာတစ်ခုအတွက် အရေးကြီးပါသည်။ ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်၏ အဆင့်တိုင်းတွင် လုံခြုံရေးကို ဦးစားပေးခြင်းသည် XSS နှင့် အလားတူ အားနည်းချက်များကို တားဆီးရန် အကောင်းဆုံးနည်းလမ်းဖြစ်သည်။ အားနည်းချက်များကို လျှော့ချရန် တက်ကြွသောချဉ်းကပ်မှုအား အသုံးပြုခြင်းသည် ကုန်ကျစရိတ်များကို လျှော့ချပေးပြီး အပလီကေးရှင်း၏ နာမည်ဂုဏ်သတင်းကို ရေရှည်တွင် ကာကွယ်နိုင်မည်ဖြစ်သည်။
| သတိပေးချက် | ရှင်းလင်းချက် | ထွေထွေထူးထူး |
|---|---|---|
| ထည့်သွင်းအတည်ပြုခြင်း။ | အသုံးပြုသူထံမှ လက်ခံရရှိသည့် ထည့်သွင်းမှုအားလုံးကို အတည်ပြုခြင်းနှင့် သန့်ရှင်းရေးပြုလုပ်ခြင်း။ | မြင့်သည်။ |
| Output Coding | ဘရောက်ဆာတွင် ဒေတာကို မှန်မှန်ကန်ကန် ပြန်ဆိုနိုင်ရန် output ကို ကုဒ်လုပ်ခြင်း။ | မြင့်သည်။ |
| အကြောင်းအရာ လုံခြုံရေးမူဝါဒ (CSP) | ယုံကြည်ရသောရင်းမြစ်များမှ အကြောင်းအရာများကိုသာ အပ်လုဒ်လုပ်ခွင့်ပြုသည်။ | မြင့်သည်။ |
| ပုံမှန်လုံခြုံရေးစကင်နာများ | အပလီကေးရှင်းရှိ လုံခြုံရေး အားနည်းချက်များကို သိရှိနိုင်ရန် အလိုအလျောက် စကင်ဖတ်စစ်ဆေးခြင်းများ လုပ်ဆောင်ခြင်း။ | အလယ် |
CSP ၏ သင့်လျော်သော ဖွဲ့စည်းမှုပုံစံနှင့် အကောင်အထည်ဖော်ခြင်းသည် XSS တိုက်ခိုက်မှုများ၏ သိသာထင်ရှားသော အစိတ်အပိုင်းကို တားဆီးထားသော်လည်း၊ အပလီကေးရှင်းဆော့ဖ်ဝဲရေးဆွဲသူများသည်လည်း နိုးနိုးကြားကြားရှိရန်နှင့် ၎င်းတို့၏ လုံခြုံရေးအသိဉာဏ်ကို တိုးမြှင့်ရမည်ဖြစ်သည်။ အသုံးပြုသူ၏ထည့်သွင်းမှုကို ဖြစ်နိုင်ချေရှိသော ခြိမ်းခြောက်မှုတစ်ခုအဖြစ် အမြဲကြည့်ရှုခြင်းနှင့် လျော်ညီစွာ ကြိုတင်သတိထားခြင်းဖြင့် အပလီကေးရှင်းတစ်ခုလုံး၏ လုံခြုံရေးကို တိုးမြင့်စေသည်။ လုံခြုံရေးအပ်ဒိတ်များကို ပုံမှန်လုပ်ဆောင်ရန်နှင့် လုံခြုံရေးအသိုင်းအဝိုင်း၏ အကြံပြုချက်များကို လိုက်နာရန်လည်း အရေးကြီးပါသည်။
လုံခြုံရေးသည် နည်းပညာဆိုင်ရာကိစ္စတစ်ခုမျှသာမဟုတ်ပေ။ လုပ်ငန်းစဉ်တစ်ခုလည်း ဖြစ်ပါတယ်။ အမြဲပြောင်းလဲနေသော ခြိမ်းခြောက်မှုများအတွက် ပြင်ဆင်ခြင်းနှင့် လုံခြုံရေးအစီအမံများကို ပုံမှန်ပြန်လည်သုံးသပ်ခြင်းသည် ရေရှည်အသုံးချပလီကေးရှင်းလုံခြုံရေးကို သေချာစေရန်အတွက် အဓိကသော့ချက်ဖြစ်သည်။ အကောင်းဆုံးကာကွယ်မှုမှာ အမြဲသတိရှိဖို့ဆိုတာ သတိရပါ။ အကြောင်းအရာ လုံခြုံရေး ဒါက ကာကွယ်ရေးရဲ့ အရေးကြီးတဲ့ အစိတ်အပိုင်းတစ်ခုပါ။
XSS တိုက်ခိုက်မှုများကို အပြည့်အဝကာကွယ်ရန်၊ အလွှာလိုက်လုံခြုံရေးချဉ်းကပ်မှုကို လက်ခံကျင့်သုံးသင့်သည်။ ဤချဉ်းကပ်မှုတွင် နည်းပညာဆိုင်ရာ အစီအမံများနှင့် လုံခြုံရေးဆိုင်ရာ အသိပညာပေးမှု နှစ်ခုစလုံး ပါဝင်ပါသည်။ လုံခြုံရေးအားနည်းချက်များကို ဖော်ထုတ်ရန်နှင့် ဖြေရှင်းရန် ပုံမှန် pentests ပြုလုပ်ရန်လည်း အရေးကြီးပါသည်။ ၎င်းသည် တိုက်ခိုက်သူများ၏ပစ်မှတ်ဖြစ်လာခြင်းမပြုမီ ဖြစ်နိုင်ချေရှိသော အားနည်းချက်များကို စောစီးစွာဖော်ထုတ်နိုင်စေရန်နှင့် လိုအပ်သောပြင်ဆင်မှုများကို ခွင့်ပြုပေးပါသည်။
XSS တိုက်ခိုက်မှုများသည် ဝဘ်အက်ပလီကေးရှင်းများအတွက် အဘယ်ကြောင့် ခြိမ်းခြောက်မှုဖြစ်သနည်း။
XSS (Cross-Site Scripting) တိုက်ခိုက်မှုများသည် အသုံးပြုသူများ၏ဘရောက်ဆာများတွင် အန္တရာယ်ရှိသော Script များကို လုပ်ဆောင်နိုင်စေပြီး ကွတ်ကီးခိုးယူမှု၊ ဆက်ရှင်ပြန်ပေးဆွဲခြင်းနှင့် အရေးကြီးသောဒေတာခိုးယူခြင်းကဲ့သို့သော ပြင်းထန်သောလုံခြုံရေးပြဿနာများကို ဖြစ်စေသည်။ ၎င်းသည် အပလီကေးရှင်းတစ်ခု၏ ဂုဏ်သတင်းကို ထိခိုက်စေပြီး သုံးစွဲသူများ၏ ယုံကြည်မှုကို ပျက်ပြားစေသည်။
Content Security Policy (CSP) အတိအကျက ဘာလဲ၊ XSS တိုက်ခိုက်မှုတွေကို ဘယ်လိုကာကွယ်မလဲ။
CSP သည် ဝဘ်ဆာဗာအား မည်သည့်အရင်းအမြစ်များ (ဇာတ်ညွှန်းများ၊ စတိုင်များ၊ ရုပ်ပုံများ စသည်) ကို တင်ခွင့်ပြုထားကြောင်း ဘရောက်ဆာအား ပြောပြရန် ခွင့်ပြုသည့် လုံခြုံရေးစံနှုန်းတစ်ခုဖြစ်သည်။ ရင်းမြစ်မှ ထွက်လာသည့်နေရာကို ထိန်းချုပ်ခြင်းဖြင့်၊ CSP သည် ခွင့်ပြုချက်မရှိဘဲ အရင်းအမြစ်များကို တင်ဆောင်ခြင်းမှ တားဆီးကာ XSS တိုက်ခိုက်မှုများကို သိသိသာသာ လျှော့ချပေးသည်။
ကျွန်ုပ်၏ဝဘ်ဆိုက်တွင် CSP ကိုအကောင်အထည်ဖော်ရန် မည်သည့်နည်းလမ်းများ ရှိပါသနည်း။
CSP ကို အကောင်အထည်ဖော်ရန် အဓိကနည်းလမ်း နှစ်ခုရှိသည်- HTTP ခေါင်းစီးမှတစ်ဆင့် နှင့် meta tag မှတဆင့်။ HTTP ခေါင်းစီးသည် မက်တာတက်ဂ်မတိုင်မီ ဘရောက်ဆာသို့ရောက်ရှိသောကြောင့် ပိုမိုခိုင်မာပြီး အကြံပြုထားသည့်နည်းလမ်းဖြစ်သည်။ နည်းလမ်းနှစ်ခုစလုံးဖြင့်၊ ခွင့်ပြုထားသောအရင်းအမြစ်များနှင့် စည်းမျဉ်းများကို သတ်မှတ်သည့် မူဝါဒကို သတ်မှတ်ရပါမည်။
CSP စည်းမျဥ်းစည်းကမ်းများ သတ်မှတ်ရာတွင် ကျွန်ုပ်ဘာကို ထည့်သွင်းစဉ်းစားသင့်သနည်း။ တင်းကျပ်လွန်းတဲ့ မူဝါဒကို အကောင်အထည်ဖော်ရင် ဘာဖြစ်နိုင်မလဲ။
CSP စည်းမျဉ်းများကို သတ်မှတ်သည့်အခါ၊ သင့်လျှောက်လွှာတင်ရန်လိုအပ်သည့် အရင်းအမြစ်များကို ဂရုတစိုက်ခွဲခြမ်းစိတ်ဖြာပြီး ယုံကြည်စိတ်ချရသော အရင်းအမြစ်များကိုသာ ခွင့်ပြုသင့်သည်။ တင်းကျပ်လွန်းသော မူဝါဒသည် သင့်အပလီကေးရှင်းကို ကောင်းမွန်စွာလည်ပတ်ခြင်းမှ တားဆီးနိုင်ပြီး အသုံးပြုသူအတွေ့အကြုံကို အနှောင့်အယှက်ဖြစ်စေနိုင်သည်။ ထို့ကြောင့် ပိုမိုကောင်းမွန်သော ချဉ်းကပ်နည်းမှာ လျော့ရဲသော မူဝါဒဖြင့် စတင်ကာ အချိန်နှင့်အမျှ တဖြည်းဖြည်း တင်းကျပ်လာခြင်းဖြစ်သည်။
CSP အကောင်အထည်ဖော်မှု၏ အလားအလာများ သို့မဟုတ် အားနည်းချက်များသည် အဘယ်နည်း။
CSP ကို မှန်ကန်စွာ ပြင်ဆင်သတ်မှတ်ရန် ပျက်ကွက်ပါက မမျှော်လင့်ထားသော ပြဿနာများ ဖြစ်ပေါ်လာနိုင်သည်။ ဥပမာအားဖြင့်၊ မမှန်ကန်သော CSP ဖွဲ့စည်းမှုပုံစံသည် တရားဝင်သော Script များနှင့် ပုံစံများကို တင်ခြင်းမှ တားဆီးနိုင်ပြီး ဝဘ်ဆိုက်ကို ကွဲသွားစေနိုင်သည်။ ထို့အပြင်၊ CSP ကို စီမံခန့်ခွဲခြင်းနှင့် ထိန်းသိမ်းခြင်းသည် ရှုပ်ထွေးသောအသုံးချမှုများတွင် ခက်ခဲနိုင်သည်။
CSP ကို စမ်းသပ်ရန်နှင့် အမှားရှာရန် မည်သည့်ကိရိယာများ သို့မဟုတ် နည်းလမ်းများကို ကျွန်ုပ်အသုံးပြုနိုင်သနည်း။
CSP ကို စမ်းသပ်ရန် ဘရောက်ဆာဆော့ဖ်ဝဲရေးသားသူ ကိရိယာများ (အထူးသဖြင့် 'Console' နှင့် 'Network' တဘ်များ) ကို သင်သုံးနိုင်သည်။ CSP ချိုးဖောက်မှုများကို အစီရင်ခံရန် 'report-uri' သို့မဟုတ် 'report-to' လမ်းညွှန်ချက်များကိုလည်း အသုံးပြုနိုင်ပြီး အမှားအယွင်းများကို ဖော်ထုတ်ရန်နှင့် ပြင်ဆင်ရန် ပိုမိုလွယ်ကူစေသည်။ အွန်လိုင်း CSP စစ်ဆေးမှုများစွာသည် သင့်မူဝါဒကို ခွဲခြမ်းစိတ်ဖြာပြီး ဖြစ်နိုင်ချေရှိသော ပြဿနာများကို ရှာဖွေဖော်ထုတ်ရာတွင်လည်း ကူညီပေးနိုင်ပါသည်။
XSS တိုက်ခိုက်မှုများကို ကာကွယ်ရန် CSP ကို အသုံးပြုသင့်ပါသလား။ အခြားမည်သည့်လုံခြုံရေးအကျိုးကျေးဇူးများ ပေးဆောင်သနည်း။
CSP သည် XSS တိုက်ခိုက်မှုများကို တားဆီးရန် အဓိကအသုံးပြုထားသော်လည်း ၎င်းသည် clickjacking တိုက်ခိုက်မှုများကို ကာကွယ်ခြင်း၊ HTTPS သို့ပြောင်းခိုင်းခြင်းနှင့် ခွင့်ပြုချက်မရှိဘဲ အရင်းအမြစ်များကို တင်ခြင်းမှ ကာကွယ်ခြင်းကဲ့သို့သော အပိုလုံခြုံရေးအကျိုးကျေးဇူးများကိုလည်း ပေးဆောင်ပါသည်။ ၎င်းသည် သင့်အပလီကေးရှင်း၏ အလုံးစုံလုံခြုံရေးအနေအထားကို ပိုမိုကောင်းမွန်အောင် ကူညီပေးသည်။
ဝဘ်အပလီကေးရှင်းများတွင် CSP ကို ပြောင်းလဲနေသော အကြောင်းအရာများဖြင့် မည်သို့စီမံခန့်ခွဲနိုင်မည်နည်း။
ရွေ့လျားနိုင်သောအကြောင်းအရာရှိသော application များတွင် nonce values သို့မဟုတ် hashes ကိုအသုံးပြု၍ CSP ကိုစီမံခန့်ခွဲရန်အရေးကြီးပါသည်။ nonce (ကျပန်းနံပါတ်) သည် တောင်းဆိုမှုတစ်ခုစီတိုင်းတွင် ပြောင်းလဲနေသော ထူးခြားသောတန်ဖိုးဖြစ်ပြီး CSP မူဝါဒတွင် ဤတန်ဖိုးကို သတ်မှတ်ခြင်းဖြင့်၊ သင်သည် ထိုတန်ဖိုးမဟုတ်သော script များကိုသာ လုပ်ဆောင်ရန် ခွင့်ပြုနိုင်သည်။ Hashes သည် သင့်အား တိကျသောအကြောင်းအရာတစ်ခုပါရှိသော scripts များကိုသာ run ရန်ခွင့်ပြုပေးခြင်းဖြင့် scripts ၏ contents အကျဉ်းချုပ်ကိုဖန်တီးပါ။
နောက်ထပ် အချက်အလက်- OWASP ထိပ်တန်းပရောဂျက်
ပြန်စာထားခဲ့ပါ။