Installera Admin i HestiaCP: Automatiserad säkerhetsinstallation + optimering av databashantering

Den senaste kompletta guiden för att installera Adminer på HestiaCP inkluderar driftsättning med ett klick, säkerhetsförstärkning och automatiserade konfigurationssteg. Den lär dig steg för steg hur du driftsätter databashanteringsverktyg och skyddar din server, vilket gör att även nybörjare snabbt kan komma igång och lösa problem med drift och underhåll av HestiaCP + Adminer.

Om du fortfarande använder databashanteringsverktyg utan något skydd, lämnar du över nycklarna till hackare.

Varför välja Administratör istället för... phpMyAdmin?

Adminer består av en enda PHP-fil på mindre än 1 MB, vilket gör distributionen extremt enkel, snabb och resurseffektiv.

Jämfört med den komplexa strukturen i phpMyAdmin är Adminer mer lämplig för VPS, små webbplatser och personliga projekt.

Installera Admin i HestiaCP: Automatiserad säkerhetsinstallation + optimering av databashantering

Steg för att installera Administrator i HestiaCP

1. Ladda ner administratörsfilen

Gå till Administratörens officiella webbplats Ladda ner den senaste versionen adminer.php.

Ladda upp filen till HestiaCP:s webbplatskatalog, till exempel:

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

2. Skapa en underdomän och aktivera SSL.

Lägg till en underdomän i HestiaCP-panelen adminer.domain.comAktivera Let's Encrypt SSL för att säkerställa säker överföring.

3. Konfigurera Nginx lösenordsskydd

Lägg till följande i Nginx-konfigurationsfilen för underdomänen:

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

Generera lösenordsfil:

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

När du öppnar administratörsfönstret visas en dialogruta för lösenord, och du kan bara logga in genom att ange rätt användarnamn och lösenord.

Uppdatera administratörsfiler automatiskt

För att undvika säkerhetsriskerna som är förknippade med att använda äldre versioner kan automatiska uppdateringar uppnås med hjälp av shell-skript och schemalagda Cron-uppgifter.

Exempel på uppdateringsskript

#!/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"

Spara som /usr/local/bin/update-adminer.shOch lägg till en schemalagd uppgift:

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

På så sätt uppdateras administratörsfilen automatiskt varje måndag klockan 03:00.

Fail2Ban anti-brute-force-attacker

Simple Basic Auth är sårbar för brute-force-attacker, medan Fail2Ban automatiskt kan blockera skadliga IP-adresser.

Filterkonfiguration

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

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

Fängelsekonfiguration (stegvis avstängningsvaraktighet)

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

Effekt: Den första avstängningen är i 10 minuter, den andra i 20 minuter, den tredje i 40 minuter, och så vidare. Kontinuerliga angripare kommer att avstängas under allt längre perioder.

Komplett distributionsskript med ett klick

Spara som /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

Slutsats: Balans mellan säkerhet och effektivitet

Jag är övertygad om att databashanteringsverktyg inte är något man bara kan lämna på internet och använda med sinnesro. Adminers lätta design är tilltalande, men säkerhetsåtgärderna måste hålla jämna steg. Lösenordsskydd är den första försvarslinjen, automatiska uppdateringar ger kontinuerligt skydd och Fail2Ban erbjuder intelligenta motåtgärder. Endast genom att kombinera dessa tre element kan man skapa en databashanteringsmiljö som är både effektiv och säker.

En sann mästare är inte någon som bara vet hur man bygger verktyg, utan någon som vet hur man skyddar dem.

发表 评论

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

Bläddra till början