ဆောင်းပါးလမ်းညွှန်
- 1 phpMyAdmin အစား Admin ကို ဘာကြောင့် ရွေးချယ်သင့်တာလဲ။
- 2 HestiaCP မှာ Administrator ကို ထည့်သွင်းနည်း အဆင့်များ
- 3 Administrator ဖိုင်များကို အလိုအလျောက် အပ်ဒိတ်လုပ်ပါ
- 4 Fail2Ban မှ brute-force တိုက်ခိုက်မှု
- 5 တစ်ချက်နှိပ်ရုံဖြင့် ဖြန့်ကျက်မှု script ကို အပြီးသတ်ပါ
- 6 နိဂုံးချုပ်- ဘေးကင်းရေးနှင့် ထိရောက်မှုကို ဟန်ချက်ညီစေခြင်း
နောက်ဆုံး HestiaCP Administrator ကို ထည့်သွင်းနည်း လမ်းညွှန်ချက်အပြည့်အစုံတွင် တစ်ချက်နှိပ်ရုံဖြင့် ဖြန့်ကျက်ခြင်း၊ လုံခြုံရေး ခိုင်မာစေခြင်းနှင့် အလိုအလျောက် ပြင်ဆင်မှု အဆင့်များ ပါဝင်သည်။ ၎င်းသည် ဒေတာဘေ့စ် စီမံခန့်ခွဲမှုကိရိယာများကို မည်သို့ဖြန့်ကျက်ရမည်နှင့် သင့်ဆာဗာကို မည်သို့ကာကွယ်ရမည်ကို အဆင့်ဆင့် သင်ကြားပေးပြီး အစပြုသူများအတွက် လျင်မြန်စွာ စတင်အသုံးပြုနိုင်စေပြီး HestiaCP + Adminer လည်ပတ်မှုနှင့် ပြုပြင်ထိန်းသိမ်းမှု၏ ဝေဒနာများကို ဖြေရှင်းပေးပါသည်။
ဒေတာဘေ့စ်စီမံခန့်ခွဲမှုကိရိယာများကို ကာကွယ်မှုမရှိဘဲ ဆက်လက်အသုံးပြုနေပါက သော့များကို ဟက်ကာများထံ ပေးအပ်နေခြင်းဖြစ်သည်။
ဘာလို့ Admin အစား ရွေးချယ်သင့်တာလဲ... phpMyAdmin က?
Administrator တွင် 1MB အောက်ရှိသော PHP ဖိုင်တစ်ခုတည်းဖြင့် ဖွဲ့စည်းထားသောကြောင့် ဖြန့်ကျက်မှုကို အလွန်ရိုးရှင်း၊ မြန်ဆန်ပြီး အရင်းအမြစ်များကို ထိရောက်စွာ အသုံးပြုနိုင်ပါသည်။
phpMyAdmin ရဲ့ ရှုပ်ထွေးတဲ့ဖွဲ့စည်းပုံနဲ့ နှိုင်းယှဉ်ရင် Adminer ဟာ VPS၊ ဝက်ဘ်ဆိုက်ငယ်လေးတွေနဲ့ ကိုယ်ပိုင်ပရောဂျက်တွေအတွက် ပိုသင့်တော်ပါတယ်။

HestiaCP မှာ Administrator ကို ထည့်သွင်းနည်း အဆင့်များ
၁။ Administrator ဖိုင်ကို ဒေါင်းလုဒ်လုပ်ပါ
သွားပါ အက်ဒမင်၏ တရားဝင်ဝက်ဘ်ဆိုက် နောက်ဆုံးထွက်ဗားရှင်းကို ဒေါင်းလုဒ်လုပ်ပါ adminer.php။
ဖိုင်ကို HestiaCP ဝက်ဘ်ဆိုက် directory သို့ upload လုပ်ပါ၊ ဥပမာ-
/home/username/web/adminer.domain.com/public_html/adminer.php
၂။ ဒိုမိန်းခွဲတစ်ခု ဖန်တီးပြီး SSL ကို ဖွင့်ပါ။
HestiaCP panel မှာ subdomain တစ်ခုထည့်ပါ adminer.domain.comလုံခြုံသော ထုတ်လွှင့်မှုကို သေချာစေရန် Let's Encrypt SSL ကို ဖွင့်ပါ။
၃။ Nginx စကားဝှက်ကာကွယ်မှုကို ပြင်ဆင်ပါ
ဒိုမိန်းခွဲအတွက် Nginx configuration ဖိုင်ထဲသို့ အောက်ပါတို့ကိုထည့်ပါ။
location / {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
root /home/username/web/adminer.domain.com/public_html;
index index.php adminer.php;
}
စကားဝှက်ဖိုင်ကို ထုတ်လုပ်ပါ-
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd adminuser
Administrator ထဲကို ဝင်ရောက်တဲ့အခါ password dialog box တစ်ခု ပေါ်လာမှာဖြစ်ပြီး မှန်ကန်တဲ့ username နဲ့ password ကို ရိုက်ထည့်မှသာ login ဝင်နိုင်မှာပါ။
Administrator ဖိုင်များကို အလိုအလျောက် အပ်ဒိတ်လုပ်ပါ
ဗားရှင်းအဟောင်းများကိုအသုံးပြုခြင်းနှင့်ဆက်စပ်သော လုံခြုံရေးအန္တရာယ်များကို ရှောင်ရှားရန်အတွက် shell scripts များနှင့် Cron အချိန်ဇယားဆွဲထားသော task များကို အသုံးပြု၍ အလိုအလျောက် အပ်ဒိတ်များကို ပြုလုပ်နိုင်ပါသည်။
script ဥပမာကို အပ်ဒိတ်လုပ်ပါ
#!/bin/bash
URL="https://www.adminer.org/latest.php"
TARGET="/home/username/web/adminer.domain.com/public_html/adminer.php"
wget -q -O "$TARGET" "$URL"
chown username:username "$TARGET"
chmod 644 "$TARGET"
အဖြစ် သိမ်းဆည်းပါ /usr/local/bin/update-adminer.shပြီးတော့ အချိန်ဇယားဆွဲထားတဲ့ အလုပ်တစ်ခုကို ထည့်ပါ-
crontab -e
0 3 * * 1 /usr/local/bin/update-adminer.sh
ဤနည်းအားဖြင့် Administrator ဖိုင်ကို တနင်္လာနေ့တိုင်း နံနက် ၃ နာရီတွင် အလိုအလျောက် အပ်ဒိတ်လုပ်ပါမည်။
Fail2Ban ရက်စက်ကြမ်းကြုတ်သော တိုက်ခိုက်မှု
Simple Basic Auth သည် brute-force attacks များကို ခံရနိုင်ခြေရှိပြီး Fail2Ban သည် malicious IP များကို အလိုအလျောက် ပိတ်ဆို့နိုင်သည်။
စစ်ထုတ်မှု စီစဉ်သတ်မှတ်ခြင်း
စာရွက်စာတမ်း:/etc/fail2ban/filter.d/nginx-adminer.conf
[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =
ထောင်ဖွဲ့စည်းပုံ (တိုးမြှင့်ပိတ်ပင်မှုကြာချိန်)
စာရွက်စာတမ်း:/etc/fail2ban/jail.local
[nginx-adminer]
enabled = true
filter = nginx-adminer
port = http,https
logpath = /var/log/nginx/access.log
maxretry = 3
findtime = 600
bantime.increment = true
bantime.rndtime = 60
bantime.factor = 2
bantime = 600
အကျိုးသက်ရောက်မှု- ပထမအကြိမ် ပိတ်ပင်မှုသည် ၁၀ မိနစ်၊ ဒုတိယအကြိမ် ၂၀ မိနစ်၊ တတိယအကြိမ် ၄၀ မိနစ် စသည်ဖြင့်ဖြစ်သည်။ ဆက်တိုက်တိုက်ခိုက်သူများကို ပိုမိုကြာရှည်သောကာလများအထိ ပိတ်ပင်သွားမည်ဖြစ်သည်။
တစ်ချက်နှိပ်ရုံဖြင့် ဖြန့်ကျက်မှု script ကို အပြီးသတ်ပါ
အဖြစ် သိမ်းဆည်းပါ /usr/local/bin/setup-fail2ban-adminer.sh:
#!/bin/bash
FILTER_PATH="/etc/fail2ban/filter.d/nginx-adminer.conf"
JAIL_PATH="/etc/fail2ban/jail.local"
cat > $FILTER_PATH << 'EOF'
[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =
EOF
cat >> $JAIL_PATH << 'EOF'
[nginx-adminer]
enabled = true
filter = nginx-adminer
port = http,https
logpath = /var/log/nginx/access.log
maxretry = 3
findtime = 600
bantime.increment = true
bantime.rndtime = 60
bantime.factor = 2
bantime = 600
EOF
systemctl restart fail2ban
fail2ban-client status nginx-adminer
执行:
sudo chmod +x /usr/local/bin/setup-fail2ban-adminer.sh
sudo /usr/local/bin/setup-fail2ban-adminer.sh
နိဂုံးချုပ်- ဘေးကင်းရေးနှင့် ထိရောက်မှုကို ဟန်ချက်ညီစေခြင်း
ဒေတာဘေ့စ်စီမံခန့်ခွဲမှုကိရိယာများကို အများပြည်သူသုံးအင်တာနက်ပေါ်တွင် ရိုးရိုးရှင်းရှင်းထားခဲ့ပြီး စိတ်အေးချမ်းသာစွာအသုံးပြုနိုင်သောအရာမဟုတ်ဟု ကျွန်ုပ် ခိုင်မာစွာယုံကြည်ပါသည်။ Adminer ၏ ပေါ့ပါးသောဒီဇိုင်းသည် ဆွဲဆောင်မှုရှိသော်လည်း လုံခြုံရေးအစီအမံများသည် အရှိန်အဟုန်နှင့် လိုက်လျောညီထွေဖြစ်ရမည်။ စကားဝှက်ကာကွယ်မှုသည် ပထမခံစစ်ဖြစ်ပြီး၊ အလိုအလျောက်အပ်ဒိတ်များသည် စဉ်ဆက်မပြတ်ကာကွယ်မှုကို ပေးစွမ်းပြီး Fail2Ban သည် ဉာဏ်ရည်ထက်မြက်သောတန်ပြန်အစီအမံများကို ပေးဆောင်သည်။ ဤအစိတ်အပိုင်းသုံးခုကို ပေါင်းစပ်ခြင်းဖြင့်သာ ထိရောက်ပြီး လုံခြုံသော ဒေတာဘေ့စ်စီမံခန့်ခွဲမှုပတ်ဝန်းကျင်တစ်ခုကို ဖန်တီးနိုင်မည်ဖြစ်သည်။
စစ်မှန်တဲ့ ပါရမီရှင်ဆိုတာ ကိရိယာတွေ တည်ဆောက်နည်းကို သိရုံသာမက ကိရိယာတွေကို ဘယ်လိုကာကွယ်ရမလဲဆိုတာ သိတဲ့သူပါ။
မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ဤနေရာတွင် မျှဝေထားသော "HestiaCP Admin Installation: Security Automation Settings + Database Management Optimization" ဆောင်းပါးသည် သင့်အတွက် အထောက်အကူဖြစ်နိုင်ပါသည်။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-34018.html
