Skip to main content

Installa e proteggi MariaDB

Questa guida spiega come installare e configurare in modo sicuro MariaDB sul tuo VPS.

Prerequisiti

  • Accesso SSH root o sudo
  • Sistema Debian/Ubuntu aggiornato

Installazione

  1. Installa MariaDB:

    sudo apt update
    sudo apt install mariadb-server
  2. Proteggi l'installazione:

    sudo mysql_secure_installation

    Segui i passaggi di sicurezza:

    • Premi Invio per la password root (vuota per impostazione predefinita)
    • Rispondi alle domande di sicurezza:
      • Cambiare la password root? [Y/n] : Y (consigliato)
      • Rimuovere utenti anonimi? [Y/n] : Y
      • Disabilitare accesso root da remoto? [Y/n] : Y
      • Rimuovere database di test? [Y/n] : Y
      • Ricaricare tabelle privilegi? [Y/n] : Y

Configurazione utente

  1. Connettiti a MariaDB:

    sudo mysql
  2. Crea un nuovo utente amministratore (sostituisci 'your_user' e 'your_password'):

    CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    EXIT;

Verifica installazione

  1. Testa la connessione con il nuovo utente:

    mysql -u your_user -p
  2. Controlla lo stato del servizio:

    sudo systemctl status mariadb

Protezione porta MariaDB

  1. Controlla la porta di ascolto corrente:

    sudo netstat -tlnp | grep mysql
  2. Configura il firewall (UFW):

    # Blocca accesso predefinito alla porta MySQL (3306)
    sudo ufw deny 3306

    # Se hai bisogno di consentire accesso remoto da un IP specifico
    sudo ufw allow from AUTHORIZED_IP to any port 3306
  3. Modifica il file di configurazione MariaDB:

    sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

    Trova e modifica queste righe:

    # Limita l'ascolto solo a localhost
    bind-address = 127.0.0.1

    # Oppure specifica un indirizzo IP specifico
    # bind-address = YOUR_SERVER_IP
  4. Riavvia MariaDB per applicare le modifiche:

    sudo systemctl restart mariadb
  5. Controlla connessioni autorizzate:

    mysql -u root -p
    SELECT user, host FROM mysql.user;

Best practices di sicurezza

  • Usa password forti
  • Limita l'accesso al database
  • Esegui backup regolari
  • Aggiorna regolarmente MariaDB
  • Limita connessioni a IP fidati
  • Monitora regolarmente i tentativi di connessione

Risoluzione problemi

  • Controlla i log: sudo tail -f /var/log/mysql/error.log
  • Verifica che il servizio sia attivo: sudo systemctl status mariadb
  • Assicurati che le porte siano aperte: sudo netstat -tulpn | grep mysql