បញ្ជីអត្ថបទ
- 1 ហេតុអ្វីត្រូវជ្រើសរើស Administrator ជំនួសឲ្យ phpMyAdmin?
- 2 ជំហានដើម្បីដំឡើង Administrator នៅក្នុង HestiaCP
- 3 ធ្វើបច្ចុប្បន្នភាពឯកសារអ្នកគ្រប់គ្រងដោយស្វ័យប្រវត្តិ
- 4 ការវាយប្រហារប្រឆាំងនឹងកម្លាំង brute-force របស់ Fail2Ban
- 5 បំពេញស្គ្រីបដាក់ពង្រាយដោយចុចតែម្តង
- 6 សេចក្តីសន្និដ្ឋាន៖ ការធ្វើឱ្យមានតុល្យភាពសុវត្ថិភាព និងប្រសិទ្ធភាព
ចុងក្រោយ។ HestiaCP ការណែនាំពេញលេញអំពីការដំឡើង Administrator នេះរួមមានការដាក់ពង្រាយដោយចុចតែម្តង ការពង្រឹងសុវត្ថិភាព និងជំហានកំណត់រចនាសម្ព័ន្ធដោយស្វ័យប្រវត្តិ។ វាបង្រៀនអ្នកមួយជំហានម្តងៗអំពីរបៀបដាក់ពង្រាយឧបករណ៍គ្រប់គ្រងមូលដ្ឋានទិន្នន័យ និងការពារម៉ាស៊ីនមេរបស់អ្នក ដែលធ្វើឱ្យវាងាយស្រួលសម្រាប់អ្នកចាប់ផ្តើមដំបូងក្នុងការចាប់ផ្តើមបានយ៉ាងឆាប់រហ័ស និងដោះស្រាយចំណុចឈឺចាប់នៃប្រតិបត្តិការ និងការថែទាំ HestiaCP + Adminer។
ប្រសិនបើអ្នកនៅតែប្រើប្រាស់ឧបករណ៍គ្រប់គ្រងមូលដ្ឋានទិន្នន័យដោយគ្មានការការពារណាមួយទេ អ្នកកំពុងប្រគល់កូនសោទៅឱ្យពួក Hacker។
ហេតុអ្វីបានជាជ្រើសរើសអ្នកគ្រប់គ្រងជំនួសឲ្យ... phpmyadmin?
Administrator មានឯកសារ PHP តែមួយដែលមានទំហំតិចជាង 1MB ដែលធ្វើឱ្យការដាក់ពង្រាយមានភាពសាមញ្ញ លឿន និងសន្សំសំចៃធនធាន។
បើប្រៀបធៀបទៅនឹងរចនាសម្ព័ន្ធស្មុគស្មាញរបស់ phpMyAdmin Adminer គឺស័ក្តិសមជាងសម្រាប់ VPS គេហទំព័រតូចៗ និងគម្រោងផ្ទាល់ខ្លួន។

ជំហានដើម្បីដំឡើង Administrator នៅក្នុង HestiaCP
១. ទាញយកឯកសារអ្នកគ្រប់គ្រង
ទៅ គេហទំព័រផ្លូវការរបស់អ្នកគ្រប់គ្រង ទាញយកកំណែចុងក្រោយបំផុត adminer.php។
ផ្ទុកឡើងឯកសារទៅកាន់ថតគេហទំព័រ HestiaCP ឧទាហរណ៍៖
/home/username/web/adminer.domain.com/public_html/adminer.php
2. បង្កើតដែនរង ហើយបើកដំណើរការ SSL។
បន្ថែមដែនរងមួយនៅក្នុងបន្ទះ HestiaCP adminer.domain.comបើកដំណើរការ Let's Encrypt SSL ដើម្បីធានាបាននូវការបញ្ជូនដែលមានសុវត្ថិភាព។
៣. កំណត់រចនាសម្ព័ន្ធការការពារពាក្យសម្ងាត់ Nginx
បន្ថែមខាងក្រោមទៅឯកសារកំណត់រចនាសម្ព័ន្ធ Nginx សម្រាប់ដែនរង៖
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 ប្រអប់ពាក្យសម្ងាត់នឹងលេចឡើង ហើយអ្នកអាចចូលបានលុះត្រាតែបញ្ចូលឈ្មោះអ្នកប្រើប្រាស់ និងពាក្យសម្ងាត់ត្រឹមត្រូវ។
ធ្វើបច្ចុប្បន្នភាពឯកសារអ្នកគ្រប់គ្រងដោយស្វ័យប្រវត្តិ
ដើម្បីជៀសវាងហានិភ័យសុវត្ថិភាពដែលទាក់ទងនឹងការប្រើប្រាស់កំណែចាស់ៗ ការអាប់ដេតដោយស្វ័យប្រវត្តិអាចសម្រេចបានដោយប្រើស្គ្រីបសែល និងភារកិច្ចដែលបានកំណត់ពេលដោយ Cron។
ឧទាហរណ៍ស្គ្រីបធ្វើបច្ចុប្បន្នភាព
#!/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 នឹងត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយស្វ័យប្រវត្តិរៀងរាល់ថ្ងៃច័ន្ទវេលាម៉ោង 3 ព្រឹក។
Fail2Ban ការវាយប្រហារប្រឆាំងនឹងកម្លាំងឃោរឃៅ
Simple Basic Auth ងាយរងគ្រោះដោយការវាយប្រហារដោយកម្លាំង ខណៈពេលដែល Fail2Ban អាចរារាំង 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
ផលប៉ះពាល់៖ ការហាមឃាត់លើកដំបូងគឺរយៈពេល 10 នាទី លើកទីពីររយៈពេល 20 នាទី លើកទីបីរយៈពេល 40 នាទី និងបន្តបន្ទាប់ទៀត។ អ្នកវាយប្រហារជាបន្តបន្ទាប់នឹងត្រូវបានហាមឃាត់ក្នុងរយៈពេលយូរជាងមុន។
បំពេញស្គ្រីបដាក់ពង្រាយដោយចុចតែម្តង
រក្សាទុកជា /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 ផ្តល់នូវវិធានការទប់ទល់ឆ្លាតវៃ។ មានតែការរួមបញ្ចូលគ្នានូវធាតុទាំងបីនេះទេ ទើបអ្នកអាចបង្កើតបរិយាកាសគ្រប់គ្រងមូលដ្ឋានទិន្នន័យដែលមានប្រសិទ្ធភាព និងសុវត្ថិភាព។
អ្នកជំនាញពិតប្រាកដមិនមែនគ្រាន់តែជាមនុស្សដែលដឹងពីរបៀបបង្កើតឧបករណ៍នោះទេ ប៉ុន្តែជាមនុស្សដែលដឹងពីរបៀបការពារវា។
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ អត្ថបទ "ការដំឡើងអ្នកគ្រប់គ្រង HestiaCP៖ ការកំណត់ស្វ័យប្រវត្តិកម្មសុវត្ថិភាព + ការបង្កើនប្រសិទ្ធភាពការគ្រប់គ្រងមូលដ្ឋានទិន្នន័យ" ដែលបានចែករំលែកនៅទីនេះអាចមានប្រយោជន៍សម្រាប់អ្នក។
សូមស្វាគមន៍ចំពោះការចែករំលែកតំណភ្ជាប់នៃអត្ថបទនេះ៖https://www.chenweiliang.com/cwl-34018.html
