Pag-instalar sa Admin sa HestiaCP: Awtomatikong Pag-setup sa Seguridad + Pag-optimize sa Pagdumala sa Database

Labing Bag-o HestiaCP Kining kompletong giya sa pag-install sa Adminer naglakip sa one-click deployment, security hardening, ug automated configuration steps. Gitudloan ka niini og sunod-sunod unsaon pag-deploy sa database management tools ug pagpanalipod sa imong server, nga naghimo niini nga sayon ​​para sa mga bag-o pa lang magsugod dayon ug masulbad ang mga problema sa HestiaCP + Adminer operation ug maintenance.

Kon nagagamit ka gihapon og mga himan sa pagdumala sa database nga walay bisan unsang proteksyon, imong gihatag ang mga yawe ngadto sa mga hacker.

Ngano nga pilion ang Admin imbes nga... phpMyAdmin?

Ang Adminer gilangkoban sa usa ka PHP file nga ubos sa 1MB, nga naghimo sa pag-deploy nga sayon ​​kaayo, paspas, ug episyente sa mga kahinguhaan.

Kon itandi sa komplikado nga istruktura sa phpMyAdmin, ang Adminer mas angay para sa VPS, gagmay nga mga website, ug personal nga mga proyekto.

Pag-instalar sa Admin sa HestiaCP: Awtomatikong Pag-setup sa Seguridad + Pag-optimize sa Pagdumala sa Database

Mga lakang sa pag-install sa Administrator sa HestiaCP

1. I-download ang Administrator file

Adto sa Opisyal nga Website sa Admin I-download ang pinakabag-ong bersyon adminer.php.

I-upload ang file ngadto sa direktoryo sa website sa HestiaCP, pananglitan:

/home/username/web/adminer.domain.com/public_html/adminer.php

2. Paghimo og subdomain ug i-enable ang SSL.

Pagdugang og subdomain sa HestiaCP panel adminer.domain.comI-enable ang Let's Encrypt SSL aron masiguro ang luwas nga transmission.

3. I-configure ang proteksyon sa password sa Nginx

Idugang ang mosunod 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;
}

Paghimo og file sa password:

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd adminuser

Sa pag-access sa Administrator, usa ka kahon sa diyalogo sa password ang mo-pop up, ug mahimo ka lang mag-log in pinaagi sa pagsulod sa husto nga username ug password.

Awtomatikong i-update ang mga file sa Administrator

Aron malikayan ang mga risgo sa seguridad nga nalangkit sa paggamit sa mga daang bersyon, ang mga awtomatikong pag-update mahimong makab-ot gamit ang mga shell script ug mga naka-iskedyul nga buluhaton sa Cron.

Ehemplo sa script sa 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 isip /usr/local/bin/update-adminer.shUg idugang ang naka-eskedyul nga buluhaton:

crontab -e
0 3 * * 1 /usr/local/bin/update-adminer.sh

Niining paagiha, ang file sa Administrator awtomatikong ma-update matag Lunes sa alas 3 sa buntag.

Fail2Ban nga pag-atake batok sa brute-force

Ang Simple Basic Auth daling maapektuhan sa brute-force attacks, samtang ang Fail2Ban awtomatikong makababag sa mga malisyosong IP.

Pag-configure sa filter

dokumento:/etc/fail2ban/filter.d/nginx-adminer.conf

[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =

Konpigurasyon sa prisohan (dugang nga gidugayon sa pagdili)

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 pagdili sulod sa 10 ka minuto, ang ikaduha sulod sa 20 ka minuto, ang ikatulo sulod sa 40 ka minuto, ug uban pa. Ang padayon nga mga tig-atake idili sa mas taas nga panahon.

Kompletoha ang one-click deployment script

I-save isip /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: Pagbalanse sa Kaluwasan ug Kaepektibo

Hugot akong nagtuo nga ang mga himan sa pagdumala sa database dili usa ka butang nga imong mabiyaan lang sa publikong internet ug gamiton nga malinawon ang hunahuna. Ang gaan nga disenyo sa Adminer madanihon, apan ang mga lakang sa seguridad kinahanglan nga mosunod. Ang proteksyon sa password mao ang unang linya sa depensa, ang awtomatikong mga pag-update naghatag ug padayon nga proteksyon, ug ang Fail2Ban nagtanyag ug intelihenteng mga kontra-measure. Pinaagi lamang sa paghiusa niining tulo ka elemento nga makahimo ka ug usa ka palibot sa pagdumala sa database nga episyente ug luwas.

Ang usa ka tinuod nga agalon dili lang usa ka tawo nga nahibalo unsaon paghimo og mga himan, apan usa usab ka tawo nga nahibalo unsaon kini pagpanalipod.

发表 评论

Ang imong email address dili mamantala. Gigamit ang mga kinahanglanon nga uma * Label

Linukot nga basahon sa Taas