ဆောင်းပါးလမ်းညွှန်
တစ်ယောက်ယောက်က သူ့ဝက်ဘ်ဆိုက်မှာ Wordfence ကို install လုပ်ပြီးတဲ့အခါ root directory မှာ wordfence-waf.php ဖိုင်ကို မဖန်တီးနိုင်ဘူးဆိုတဲ့ error တွေ ဆက်တိုက်တက်နေတယ်လို့ ပြောပါတယ်။ ကျွန်တော် သူ့ကို screenshot ပို့ပေးဖို့ ပြောတော့ error message က ဖိုင်ခွင့်ပြုချက်ပြဿနာလို့ တစ်ကြောင်းပဲ ပြပါတယ်။
ခဏလောက် စဉ်းစားကြည့်တော့ ဒီလို ကြုံဖူးတယ်ဆိုတာ သဘောပေါက်သွားတယ်။ hosting provider က တစ်ခုခု လုပ်နေပြီလို့တောင် ထင်မိလောက်အောင် အချိန်အတော်ကြာ စဉ်းစားကြည့်တယ်။ permission နဲ့ ownership ပြဿနာ ဖြစ်နေပေမယ့် hosting control panel ရဲ့ logic က အတော်လေး ရှုပ်ထွေးနေနိုင်တယ်။

ဒီ wordfence-waf.php ဆိုတာ ဘာလဲဆိုတာကို အရင်ဆုံး ရှင်းပြပါရစေ။
၎င်းသည် အမှန်တကယ်တွင် Wordfence firewall ၏ အကာအကွယ်ဖိုင်ဖြစ်ပြီး ဝဘ်ဆိုက်၏ root directory တွင် wp-config.php ကဲ့သို့ အဆင့်တူ ရေးသားရမည်။
ဒီဖိုင်မရှိရင် firewall စတင်လို့မရပါဘူး။ သော့ခလောက်တစ်ခု တပ်ဆင်ထားပေမယ့် သော့ကို ထည့်လို့မရသလိုပါပဲ။
ရွေးချယ်မှု ၁: ထိန်းချုပ်မှု panel (BT Panel/) မှတစ်ဆင့် တစ်ချက်နှိပ် ခွင့်ပြုချက် ပြုပြင်မွမ်းမံခြင်းHestiaCP/cPanel)
BT Panel ကိုအသုံးပြုနေတယ်ဆိုရင် အရိုးရှင်းဆုံးပါပဲ။ သင့်ဝက်ဘ်ဆိုက်ကိုသွားပြီး သက်ဆိုင်ရာဆိုက်ကိုရှာပါ၊ Settings ကိုနှိပ်ပါ၊ ပြီးရင် Directory Permissions ကိုသွားပါ။ ဝက်ဘ်ဆိုက် root directory permission ကို 755 နဲ့ all files permission ကို 644 ကိုပြောင်းပါ။ ပြီးရင် လည်ပတ်နေတဲ့အသုံးပြုသူက "www" ဟုတ်မဟုတ်စစ်ဆေးပါ။ မဟုတ်ရင် ပြောင်းပါ။ "Repair Permissions" ခလုတ်ကိုနှိပ်ပြီး ပြီးတဲ့အထိစောင့်ပါ၊ Wordfence ကို refresh လုပ်ပြီး ထပ်ကြိုးစားပါ။
HestiaCP အတွက် ဝက်ဘ်ဆိုက်တည်းဖြတ်ရေးစာမျက်နှာသို့ သွားပြီး "Allow write access to web root" ဟုခေါ်သော option ကို enable လုပ်ပါ။ ထို့နောက် ဝက်ဘ်ဆိုက် directory ၏ owner နှင့် permission များကို ပေါင်းစည်းရန် SSH command အနည်းငယ်ကို run ပါ။
chown -R admin:www-data /home/admin/web/你的域名/public_html
chmod -R 755 /home/admin/web/你的域名/public_html
find /home/admin/web/你的域名/public_html -type f -print0 | xargs -0 chmod 644cPanel က ပိုပြီး နားလည်လွယ်ပါတယ်။ file manager ကိုဖွင့်ပြီး အပေါ်ညာဘက်ထောင့်မှာ "Show hidden files" ကိုဖွင့်ပါ၊ directory ပေါ်မှာ right-click နှိပ်ပြီး permissions ကို 755 ပြောင်းပါ၊ file permissions ကို 644 ပြောင်းပါ၊ ပြီးတော့ advanced options မှာ file owner ကို fix လုပ်ဖို့ function တစ်ခုလည်း ရှိပါတယ်။
ရွေးချယ်မှု ၂: SSH မှတစ်ဆင့် ခွင့်ပြုချက်များကို ကိုယ်တိုင်ပြောင်းလဲပါ (ယေဘုယျ)Linux ကို)
control panel က မကိုင်တွယ်နိုင်ရင် SSH ကို ကိုယ်တိုင်သုံးပါ။ server နဲ့ ချိတ်ဆက်ပြီးတာနဲ့ ownership ကို အရင် unite လုပ်ပါ။ LNMP/LEMP environment မှာ web runtime group က www-data ဒါမှမဟုတ် www ပါ။
chown -R 你的面板用户:www-data /网站根目录完全路径ပြီးရင် folder permission ကို 755 နဲ့ file permission ကို 644 သတ်မှတ်ပါ။
find /网站根目录 -type d -print0 | xargs -0 chmod 755
find /网站根目录 -type f -print0 | xargs -0 chmod 644လုပ်ငန်းစဉ်ပြီးဆုံးသွားပါက WP backend သို့ပြန်သွားပြီး firewall ကိုပြန်ဖွင့်ပါ။ ၎င်းသည် ပြဿနာကို ဖြေရှင်းနိုင်ဖွယ်ရှိသည်။
ရွေးချယ်မှု ၃: wordfence-waf.php ကို ကိုယ်တိုင်ဖန်တီးပါ (ခွင့်ပြုချက်များကို သော့ခတ်ထားသည့်အခါ အလွန်ကောင်းမွန်သော ဖြေရှင်းချက်)
SSH panel ကနေတစ်ဆင့် ဘာမှပြောင်းလဲလို့မရရင် ကိုယ်တိုင်ပြောင်းလဲပါ။ root directory မှာ wordfence-waf.php ဆိုတဲ့ဖိုင်တစ်ခုဖန်တီးပြီး အောက်ပါကုဒ်ကို ကူးထည့်ပါ။
<?php
if (!defined('WFWAF_VERSION')) {
define('WFWAF_VERSION', '7.11.0');
}
$wafConfig = array(
'wafAutoPrepend' => true,
'wafFile' => __FILE__,
'wpContentDir' => dirname(__FILE__) . '/wp-content',
'wpPluginsDir' => dirname(__FILE__) . '/wp-content/plugins',
'wafLogDir' => dirname(__FILE__) . '/wp-content/wflogs',
);
require_once $wafConfig['wpPluginsDir'] . '/wordfence/lib/waf/waf.php';ဗားရှင်း 7.11.0 ကို လက်ရှိ Wordfence ဗားရှင်းနဲ့ အစားထိုးဖို့ မမေ့ပါနဲ့။ ဖိုင်ခွင့်ပြုချက်ကို 644 သတ်မှတ်ပါ၊ ပိုင်ရှင်က ဝက်ဘ်ဆိုက်နဲ့ ကိုက်ညီရပါမယ်။ ပြီးရင် wp-config.php ကို တည်းဖြတ်ပြီး ဖိုင်ရဲ့ အပေါ်ဆုံးမှာ အောက်ပါလိုင်းကို ထည့်ပါ။
require_once 'wordfence-waf.php';Wordfence ကို သိမ်းဆည်းပြီး ပြန်လည်ဆန်းသစ်ပါ။ firewall သည် ၎င်းကို အလိုအလျောက် သိရှိပြီး အမှားအယွင်းများကို နောက်ထပ် မတင်ပြတော့ပါ။
ရွေးချယ်မှု ၄: ရေးသားခွင့်ကို ကန့်သတ်ထားသော စည်းမျဉ်းများကို စစ်ဆေးပါ။
တစ်ခါတစ်ရံတွင် ၎င်းသည် ခွင့်ပြုချက်ပြဿနာမဟုတ်ဘဲ ၎င်းကိုပိတ်ဆို့နေသော configuration ဖိုင်ကြောင့်ဖြစ်သည်။ သင်၏ .htaccess ဖိုင်ကိုဖွင့်ပြီး ဖိုင်ရေးသားခွင့်ကို ကန့်သတ်သည့် သို့မဟုတ် PHP ဖိုင်ဖန်တီးခြင်းကို တားဆီးသည့် စည်းမျဉ်းအားလုံးကို ဖျက်ပစ်ပါ။ Nginx အတွက်၊ သင်၏ site configuration တွင် root path read only သို့မဟုတ် create_file off ကဲ့သို့သော ကန့်သတ်ချက်များရှိမရှိ စစ်ဆေးပြီး ဖယ်ရှားပါ။
နောက်ထပ်အခြေအနေတစ်ခုကတော့ virtual host ဒါမှမဟုတ် lightweight cloud hosting ကိုယ်တိုင်က root directory မှာ PHP files တွေ generation ကို ကန့်သတ်ထားတာမျိုးပါ။ ဒီကိစ္စမှာ restriction ကိုဖယ်ရှားဖို့ ဒါမှမဟုတ် Wordfence ရဲ့ protection mode ကိုပြောင်းဖို့ hosting provider ကို ဆက်သွယ်ဖို့ လိုပါတယ်။ Wordfence menu, All Options, WAF ကိုသွားပြီး root file creation ကိုကျော်ဖို့ protection engine mode ကို Extended Protection ကိုပြောင်းပါ။
ဖြေရှင်းချက် ၅: ပလပ်အင်ပဋိပက္ခများကြောင့် ပိတ်ဆို့ခြင်း
အချို့သော caching သို့မဟုတ် security plugin များသည် ဤလုပ်ဆောင်ချက်ကို ပိတ်ဆို့ထားနိုင်သည်။ WP Rocket၊ W3 Total Cache နှင့် LiteSpeed Cache ကဲ့သို့သော caching plugin များအပြင် Sucuri နှင့် iThemes Security ကဲ့သို့သော security plugin များကို ယာယီပိတ်ထားပါ။ ထို့နောက် server cache နှင့် opcache ကို ရှင်းလင်းပြီး PHP service ကို ပြန်လည်စတင်ပါ။
systemctl restart php8.3-fpmပြဿနာရှာဖွေဖြေရှင်းခြင်း အမြန်အစီအစဉ် (အဆင့်များကို အစဉ်လိုက်လိုက်နာရန် အကြံပြုထားသည်)
ရှုပ်ထွေးမှုတွေ မဖြစ်အောင် ဒီအစီအစဉ်အတိုင်း လိုက်နာဖို့ အကြံပြုချင်ပါတယ်။ ပထမဦးစွာ၊ permissions နဲ့ ownership ကို ပေါင်းစည်းပါ။ ဒါက ပြဿနာကို ဖြေရှင်းဖို့ အခွင့်အလမ်း အမြင့်ဆုံးပါပဲ။ အဲဒါ အလုပ်မလုပ်ရင် PHP-FPM ကို restart လုပ်ပြီး backend ကို refresh လုပ်ပါ။ အဲဒါတောင် အလုပ်မလုပ်သေးဘူးဆိုရင်၊ ဖိုင်အသစ်တစ်ခုကို ကိုယ်တိုင်ဖန်တီးပြီး wp-config ကို ပြင်ဆင်ပါ။ ပြီးရင် သင့်ရဲ့ Nginx ဒါမှမဟုတ် Apache configuration က root directory မှာ PHP files အသစ်တွေ ဖန်တီးတာကို ပိတ်ဆို့ထားလား စစ်ဆေးပါ။ နောက်ဆုံးအနေနဲ့၊ firewall modes ကို ပြောင်းဖို့ စဉ်းစားပါ။
ကျွန်တော် သတိပေးရမယ့် တစ်ခုကတော့ permission တွေကို 777 လို့ ဘယ်တော့မှ မသတ်မှတ်သင့်ဘူးဆိုတာပါပဲ။ Folder permission တွေကို 755 နဲ့ file permission တွေကို 644 လို့ သတ်မှတ်သင့်ပါတယ်။ permission တွေကို 777 လို့ သတ်မှတ်လိုက်ခြင်းအားဖြင့် သင့်ဝက်ဘ်ဆိုက်ကို တိုက်ရိုက်ဖော်ထုတ်နိုင်ပြီး လုံခြုံရေးအန္တရာယ် အလွန်မြင့်မားစေပါတယ်။ hack ခံရရင် နောင်တရဖို့ နောက်ကျသွားပါပြီ။
အမှန်အတိုင်းပြောရရင် ဒီဖြေရှင်းနည်းတွေက သင့်အခြေအနေအတွက် အလုပ်ဖြစ်မလားဆိုတာ ကျွန်တော်သေချာမသိပေမယ့် ကျွန်တော်ကြုံတွေ့ခဲ့ရတဲ့ အခက်အခဲတွေနဲ့ ကျွန်တော်ရှာဖွေတွေ့ရှိခဲ့တဲ့ နည်းလမ်းတွေကို မျှဝေပေးလိုက်ပါတယ်။ တခြား error message တွေရရင် screenshot ရိုက်ပြီး ကျွန်တော့်ဆီပို့ပါ၊ ကျွန်တော် နောက်တစ်ခါ ပြန်ကြည့်ပါ့မယ်။
ဒီအထိဖတ်ပြီးပြီဆိုတော့ အသုံးဝင်ရင် like လုပ်ပြီး share လုပ်ပေးပါ။ update တွေကို ဦးစွာရယူချင်ရင် ကျွန်တော့်ကို follow လုပ်နိုင်ပါတယ်။
ကျွန်တော့်ရဲ့ဆောင်းပါးကို ဖတ်ရှုပေးတဲ့အတွက် ကျေးဇူးတင်ပါတယ်။ နောက်တစ်ကြိမ်မှာ ပြန်ဆုံကြမယ်။
မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ဤနေရာတွင် မျှဝေထားသော "WordPress Wordfence ၏ wordfence-waf.php ကို မဖန်တီးနိုင်ခြင်းအတွက် ပြီးပြည့်စုံသော ဖြေရှင်းချက်" သင်ခန်းစာသည် သင့်အတွက် အထောက်အကူဖြစ်နိုင်ပါသည်။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-34337.html
