Administratoriaus diegimas „HestiaCP“: automatinis saugos nustatymas + duomenų bazių valdymo optimizavimas

Naujausiame išsamiame „Adminer“ diegimo „HestiaCP“ sistemoje vadove pateikiami diegimo vienu spustelėjimu, saugumo stiprinimo ir automatizuoto konfigūravimo veiksmai. Jame nuosekliai mokoma, kaip diegti duomenų bazių valdymo įrankius ir apsaugoti serverį, todėl net pradedantieji gali greitai pradėti ir išspręsti „HestiaCP“ + „Adminer“ valdymo ir priežiūros problemas.

Jei vis dar naudojate duomenų bazių valdymo įrankius be jokios apsaugos, raktus perduodate įsilaužėliams.

Kodėl verta rinktis „Admin“, o ne... phpMyAdmin?

„Adminier“ sudaro vienas PHP failas, mažesnis nei 1 MB, todėl diegimas yra itin paprastas, greitas ir taupiai naudoja išteklius.

Palyginti su sudėtinga „phpMyAdmin“ struktūra, „Adminer“ labiau tinka VPS, mažoms svetainėms ir asmeniniams projektams.

Administratoriaus diegimas „HestiaCP“: automatinis saugos nustatymas + duomenų bazių valdymo optimizavimas

Administratoriaus diegimo „HestiaCP“ veiksmai

1. Atsisiųskite administratoriaus failą

Eiti į Oficiali administratoriaus svetainė Atsisiųskite naujausią versiją adminer.php.

Įkelkite failą į „HestiaCP“ svetainės katalogą, pavyzdžiui:

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

2. Sukurkite subdomeną ir įjunkite SSL.

Pridėti subdomeną HestiaCP skydelyje adminer.domain.comĮjunkite „Let's Encrypt SSL“, kad užtikrintumėte saugų perdavimą.

3. Konfigūruokite „Nginx“ slaptažodžio apsaugą

Į subdomeno „Nginx“ konfigūracijos failą pridėkite šiuos duomenis:

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;
}

Sukurti slaptažodžių failą:

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

Prisijungus prie administratoriaus paskyros, pasirodys slaptažodžio įvedimo dialogo langas, kuriame galėsite prisijungti tik įvedę teisingą vartotojo vardą ir slaptažodį.

Automatiškai atnaujinti administratoriaus failus

Siekiant išvengti su senesnių versijų naudojimu susijusios saugumo rizikos, automatinius atnaujinimus galima atlikti naudojant apvalkalo scenarijus ir „Cron“ suplanuotas užduotis.

Atnaujinimo scenarijaus pavyzdys

#!/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šsaugoti kaip /usr/local/bin/update-adminer.shIr pridėkite suplanuotą užduotį:

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

Tokiu būdu administratoriaus failas bus automatiškai atnaujinamas kiekvieną pirmadienį 3 val.

Fail2Ban anti-brute-force ataka

„Simple Basic Auth“ yra pažeidžiamas „brute-force“ atakų, o „Fail2Ban“ gali automatiškai blokuoti kenkėjiškus IP adresus.

Filtro konfigūracija

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

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

Kalėjimo konfigūracija (didėjanti draudimo trukmė)

dokumentas:/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

Poveikis: Pirmasis draudimas galioja 10 minučių, antrasis – 20 minučių, trečiasis – 40 minučių ir taip toliau. Nuolat puolantys žaidėjai bus blokuojami vis ilgesniam laikotarpiui.

Užbaikite diegimo scenarijų vienu spustelėjimu

Išsaugoti kaip /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

Išvada: Saugumo ir efektyvumo pusiausvyra

Tvirtai tikiu, kad duomenų bazių valdymo įrankiai nėra tai, ką galite tiesiog palikti viešajame internete ir naudoti ramiai. „Adminier“ lengvas dizainas yra patrauklus, tačiau saugumo priemonės turi neatsilikti. Slaptažodžių apsauga yra pirmoji gynybos linija, automatiniai atnaujinimai užtikrina nuolatinę apsaugą, o „Fail2Ban“ siūlo išmanias apsaugos priemones. Tik derindami šiuos tris elementus galite sukurti efektyvią ir saugią duomenų bazių valdymo aplinką.

Tikras meistras yra ne tik tas, kuris moka gaminti įrankius, bet ir tas, kuris moka juos saugoti.

Tikimės, kad jums bus naudingas straipsnis „HestiaCP administratoriaus diegimas: saugumo automatizavimo nustatymai + duomenų bazių valdymo optimizavimas“, kuriuo pasidalinta Chen Weiliang tinklaraštyje ( https://www.chenweiliang.com/ ).

Nedvejodami pasidalinkite šio straipsnio nuoroda: https://www.chenweiliang.com/cwl-34018.html

Norėdami atskleisti daugiau paslėptų triukų🔑, prisijunkite prie mūsų „Telegram“ kanalo!

Dalinkitės ir like jei patiko! Jūsų pasidalinimai ir mygtukai „Patinka“ yra mūsų nuolatinė motyvacija!

 

发表 评论

您的邮箱地址不会被公开.必填项已用*标注

Pereikite į viršų