Artikulo Direktoryo
Ang pinakabagong kumpletong gabay sa pag-install ng Adminer sa HestiaCP ay kinabibilangan ng one-click deployment, security hardening, at mga awtomatikong hakbang sa configuration. Itinuturo nito sa iyo nang sunud-sunod kung paano i-deploy ang mga tool sa pamamahala ng database at protektahan ang iyong server, na nagbibigay-daan kahit sa mga baguhan na mabilis na makapagsimula at malutas ang mga problema ng pagpapatakbo at pagpapanatili ng HestiaCP + Adminer.
Kung gumagamit ka pa rin ng mga tool sa pamamahala ng database nang walang anumang proteksyon, ipinapasa mo ang mga susi sa mga hacker.
Bakit pipiliin ang Admin sa halip na... phpMyAdmin?
Ang Adminer ay binubuo ng isang PHP file na wala pang 1MB, na ginagawang napakasimple, mabilis, at matipid sa mapagkukunan ang pag-deploy.
Kung ikukumpara sa masalimuot na istruktura ng phpMyAdmin, mas angkop ang Adminer para sa VPS, maliliit na website, at mga personal na proyekto.

Mga hakbang para i-install ang Administrator sa HestiaCP
1. I-download ang file ng Administrator
Pumunta sa Opisyal na Website ng Admin I-download ang pinakabagong bersyon adminer.php.
I-upload ang file sa direktoryo ng website ng HestiaCP, halimbawa:
/home/username/web/adminer.domain.com/public_html/adminer.php
2. Gumawa ng subdomain at paganahin ang SSL.
Magdagdag ng subdomain sa panel ng HestiaCP adminer.domain.comPaganahin ang Let's Encrypt SSL upang matiyak ang ligtas na pagpapadala.
3. I-configure ang proteksyon ng password ng Nginx
Idagdag ang sumusunod sa Nginx configuration file para sa subdomain:
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;
}
Bumuo ng file ng password:
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd adminuser
Kapag ina-access ang Administrator, lalabas ang isang dialog box para sa password, at maaari ka lamang mag-log in sa pamamagitan ng pagpasok ng tamang username at password.
Awtomatikong i-update ang mga file ng Administrator
Upang maiwasan ang mga panganib sa seguridad na nauugnay sa paggamit ng mga mas lumang bersyon, maaaring makamit ang mga awtomatikong pag-update gamit ang mga shell script at mga naka-iskedyul na gawain ng Cron.
Halimbawa ng script ng pag-update
#!/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"
I-save bilang /usr/local/bin/update-adminer.shAt magdagdag ng naka-iskedyul na gawain:
crontab -e
0 3 * * 1 /usr/local/bin/update-adminer.sh
Sa ganitong paraan, awtomatikong maa-update ang Administrator file tuwing Lunes ng alas-3 ng umaga.
FaiPag-atake laban sa brute-force ng l2Ban
Ang Simple Basic Auth ay mahina laban sa mga brute-force attack, habang ang Fail2Ban ay maaaring awtomatikong harangan ang mga malisyosong IP.
Konpigurasyon ng filter
dokumento:/etc/fail2ban/filter.d/nginx-adminer.conf
[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =
Konpigurasyon ng kulungan (dagdag na tagal ng pagbabawal)
dokumento:/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
Epekto: Ang unang ban ay sa loob ng 10 minuto, ang pangalawa ay sa loob ng 20 minuto, ang pangatlo ay sa loob ng 40 minuto, at iba pa. Ang mga patuloy na umaatake ay ipagbabawal sa mas matagal na panahon.
Kumpletuhin ang one-click deployment script
I-save bilang /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
Konklusyon: Pagbabalanse ng Kaligtasan at Kahusayan
Naniniwala akong ang mga tool sa pamamahala ng database ay hindi isang bagay na basta mo na lang iiwan sa pampublikong internet at gamitin nang may kapanatagan ng loob. Kaakit-akit ang magaan na disenyo ng Admin, ngunit dapat sumabay ang mga hakbang sa seguridad. Ang proteksyon ng password ang unang linya ng depensa, ang mga awtomatikong pag-update ay nagbibigay ng patuloy na proteksyon, at ang Fail2Ban ay nag-aalok ng matatalinong panlaban. Sa pamamagitan lamang ng pagsasama-sama ng tatlong elementong ito makakalikha ka ng isang kapaligiran sa pamamahala ng database na parehong mahusay at ligtas.
Ang isang tunay na dalubhasa ay hindi lamang isang taong marunong gumawa ng mga kagamitan, kundi isang taong marunong protektahan ang mga ito.
Sana ay makatulong sa iyo ang artikulong "HestiaCP Admin Installation: Security Automation Settings + Database Management Optimization" na ibinahagi sa blog ni Chen Weiliang ( https://www.chenweiliang.com/ ).
Huwag mag-atubiling ibahagi ang link ng artikulong ito: https://www.chenweiliang.com/cwl-34018.html
