Installazione di Admin in HestiaCP: configurazione automatica della sicurezza e ottimizzazione della gestione del database.

最新 EstiaCP Questa guida completa all'installazione di Adminer include l'implementazione con un solo clic, il rafforzamento della sicurezza e le procedure di configurazione automatizzate. Ti insegna passo passo come implementare strumenti di gestione del database e proteggere il tuo server, consentendo anche ai principianti di iniziare rapidamente e risolvendo i problemi più comuni relativi al funzionamento e alla manutenzione di HestiaCP + Adminer.

Se continui a utilizzare strumenti di gestione di database senza alcuna protezione, stai consegnando le chiavi agli hacker.

Perché scegliere Adminer invece di... phpMyAdmin?

Adminer è costituito da un singolo file PHP di meno di 1 MB, il che rende l'installazione estremamente semplice, veloce ed efficiente in termini di risorse.

Rispetto alla struttura complessa di phpMyAdmin, Adminer è più adatto a VPS, siti web di piccole dimensioni e progetti personali.

Installazione di Admin in HestiaCP: configurazione automatica della sicurezza e ottimizzazione della gestione del database.

Procedura per installare l'amministratore in HestiaCP

1. Scarica il file dell'amministratore

Vai a Sito web ufficiale di Adminer Scarica l'ultima versione adminer.php.

Carica il file nella directory del sito web di HestiaCP, ad esempio:

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

2. Crea un sottodominio e abilita l'SSL.

Aggiungi un sottodominio nel pannello HestiaCP adminer.domain.comAbilita Let's Encrypt SSL per garantire una trasmissione sicura.

3. Configurare la protezione tramite password di Nginx

Aggiungi quanto segue al file di configurazione di Nginx per il sottodominio:

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

Genera il file delle password:

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

Quando si accede all'area di amministrazione, verrà visualizzata una finestra di dialogo per l'inserimento della password e sarà possibile accedere solo inserendo nome utente e password corretti.

Aggiorna automaticamente i file dell'amministratore

Per evitare i rischi per la sicurezza associati all'utilizzo di versioni precedenti, è possibile effettuare aggiornamenti automatici tramite script di shell e attività pianificate con Cron.

Esempio di script di aggiornamento

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

Salva con nome /usr/local/bin/update-adminer.shE aggiungi un'attività pianificata:

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

In questo modo, il file dell'amministratore verrà aggiornato automaticamente ogni lunedì alle 3 del mattino.

Fail2Ban anti-attacco brute-force

L'autenticazione di base semplice è vulnerabile agli attacchi di forza bruta, mentre Fail2Ban può bloccare automaticamente gli indirizzi IP dannosi.

Configurazione del filtro

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

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

Configurazione della prigione (durata del ban incrementale)

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

Effetto: Il primo ban dura 10 minuti, il secondo 20 minuti, il terzo 40 minuti e così via. Gli utenti che commettono attacchi ripetuti verranno bannati per periodi di tempo sempre più lunghi.

Script completo per l'installazione con un solo clic

Salva con nome /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

strumento:

sudo chmod +x /usr/local/bin/setup-fail2ban-adminer.sh
sudo /usr/local/bin/setup-fail2ban-adminer.sh

Conclusione: trovare un equilibrio tra sicurezza ed efficienza

Sono fermamente convinto che gli strumenti di gestione dei database non siano qualcosa che si possa semplicemente lasciare su internet e utilizzare con la massima tranquillità. Il design leggero di Adminer è accattivante, ma le misure di sicurezza devono essere all'altezza. La protezione tramite password è la prima linea di difesa, gli aggiornamenti automatici garantiscono una protezione continua e Fail2Ban offre contromisure intelligenti. Solo combinando questi tre elementi è possibile creare un ambiente di gestione dei database che sia al contempo efficiente e sicuro.

Un vero maestro non è colui che sa solo costruire strumenti, ma colui che sa anche proteggerli.

发表 评论

Il tuo indirizzo email non verrà pubblicato. 必填 项 已 用 * 标注

Scorrere fino a Top