Attenti ad una grave vulnerabilità di PHPMyAdmin su Debian Etch

Schermata della vulnerabilità di PHPMyAdminDa oltre un mese noto sui miei server dove ancora gira Debian 4.0 (Etch) ripetuti tentativi di accesso ai database MySQL approfittando di una grave vulnerabilità di PHPMyAdmin. So che il problema è già stato segnalato su https://bugs.debian.org, ma ancora non è stata rilasciata alcuna patch. Ne parlo qui perché chi ha un server Etch e non ha debitamente protetto l’accesso al db da localhost possa correre ai ripari prima che accada l’irreparabile – mi si passi il gioco di parole.

Tralascio di scendere nei dettagli di come si possa (facilmente) sfruttare la vulnerabilità del pacchetto phpmyadmin 2.9.1.1-11 perché di ragazzini a cui piace giocare al piccolo hacker – a spese di chi si fa un mazzo tanto dalla mattina alla sera – ce n’è già troppi in circolo. Partiamo invece dal risultato finale, che vedete rappresentato nella screenshot in alto a destra. Questo è il sintomo più evidente di un server che ha subito il tentativo di intrusione e che ne è uscito indenne solo per il fatto che il sysadmin è stato sufficientemente diligente da impostare, in fase di installazione, una password all’utente root di MySQL anche se questi accede da localhost. Per la stragrande maggioranza di voi sarà una cosa più che normale e – del resto – durante l’installazione di Lenny questa pericolosa libertà non viene più concessa. Ma fino alla versione 4.0 di Debian era possibile terminare l’installazione di MySQL senza che root avesse ricevuto alcuna password per l’accesso da localhost e alcuni colleghi che conosco bene – e che ho già provveduto ad avvertire almeno due settimane or sono – hanno sottovalutato molto i rischi di un comportamento troppo – per così dire –  disinvolto.

Sfruttando la combinazione di una certa leggerezza e del bug che riguarda gli script di installazione di PHPMyAdmin è possibile generare e posizionare sul server un file di configurazione alternativo e – orrore! – prioritario rispetto a quello che Debian assegna per default al software. In questo modo, se root ha accesso da localhost senza password è sufficiente aprire un browser sul PHPMyAdmin del server per avere pieno accesso all’intero database con pieni privilegi e senza alcuna forma di restrizione se non il normale buon senso. In pochi secondi si può mettere in ginocchio l’intero database: droppare, alterare, copiare, rinominare, esportare, etc.

Per ovviare a questo problema è sufficiente intervenire come segue:

# echo "" > /var/lib/phpmyadmin/config.inc.php
# chmod 400 /var/lib/phpmyadmin/config.inc.php

Senza dimenticare di impostare una password a root e – magari – pianificare la migrazione a Lenny in tempi rapidi.

A buon intenditore…

Condivido
8 Commenti
  • Gusions
    Luglio 28, 2009

    per fortuna lenny ha risolto questo bug. =)

  • Picchio
    Luglio 29, 2009

    perché non sei ancora migrato a Lenny ?

    • Ivan Agliardi
      Luglio 29, 2009

      Nessuna ragione in particolare: la cronica mancanza di tempo, al momento ho aggiornato a Lenny solo metà dei miei server. Del resto ci sono ancora sei mesi prima che Etch se ne vada in pensione, non c’è fretta 😉

      Piuttosto, a proposito dei tempi di rilascio di Debian GNU/Linux 6 e 7 questa mattina ho letto una news molto interessante, andate a vedervela qui: Debian decides to adopt time-based release freezes

  • Silvio Balduzzi
    Agosto 5, 2009

    Mi sono permesso di parlare di questo problema e della tua soluzione sul nostro server di posta, anche sul mio sito a questo indirizzo 😀

    https://geniusbar.it/Default.aspx?tabid=166&articleType=ArticleView&articleId=501

    A presto

    Silvio

    • Ivan Agliardi
      Agosto 9, 2009

      Eh eh eh 🙂 Grazie per avermi definito tuo maestro, comunque non eri tu il sistemista a cui facevo riferimento nel mio post. Lieto comunque di esserti stato d’aiuto 😉

  • Silvio Balduzzi
    Agosto 16, 2009

    Si…avevo immaginato che non fosse rivolto a me 😀
    Sarei davvero molto felice di averti più spesso come maestro.

  • Luca
    Settembre 11, 2009

    Io ho un server con su Lenny e cmq avviando phpmyadmin ho lo stesso screenshot che hai postato tu.
    Ti ringrazio per aver illustrato come mettere la “pezza”, ma non arrivo a capire come posso ovviare a problema avvenuto.
    Vabbè, sono principiante e chiedo scusa se la risposta può suonarti ovvia.. grazie

  • Ivan Agliardi
    Settembre 12, 2009

    Ciao Luca,

    non mi è chiaro al 100% cosa intendi dire, nel senso che la tecnica illustrata nel mio post non serve solamente per prevenire ma anche per riparare l’eventuale danneggiamento di PHPMyAdmin provocato dalla vulnerabilità di cui sopra. Spero di avere risposto alla tua domanda con questo commento, in caso contrario possiamo approfondire l’argomento.

    Buon week end. Ivan.

Leave a comment