Back to top

Autore Topic: Come rendere sicuro Joomla contro attacchi degli hacker  (Letto 74266 volte)

Offline idroweb

  • Esploratore
  • **
  • Post: 178
  • Sesso: Maschio
    • Mostra profilo
Re:Come rendere sicuro Joomla contro attacchi degli hacker
« Risposta #20 il: 02 Dic 2009, 22:49:31 »
Caricando solo la struttura di 73 kb mi da lo stesso errore, correggo, invece i dati sono di circa 6 MB

Offline tonicopi

  • Global Moderator
  • Instancabile
  • ********
  • Post: 12790
  • Sesso: Maschio
    • Mostra profilo
Re:Come rendere sicuro Joomla contro attacchi degli hacker
« Risposta #21 il: 02 Dic 2009, 22:52:45 »
Il database lo hai solo svuotato e non cancellato quindi se tenti di ricrearlo ti restituisce quell'errore.
Devi fare l'importazione cancellando le righe iniziali del file sql dove crea il database. se hai dubbi posta qui le prime ventina di righe del file  ;)
joomlacsszengarden.com = il giardino dei css di Joomla!
L'attesa del piacere è essa stessa... piacere!

Offline marco_g

  • Appassionato
  • ***
  • Post: 650
  • Sesso: Maschio
    • Mostra profilo
Re:Come rendere sicuro Joomla contro attacchi degli hacker
« Risposta #22 il: 02 Dic 2009, 22:58:00 »
Messaggio di MySQL: Documentazione
#1007 - Can't create database 'ffff55555'; database exists

Ok ti dice il database già esiste io non l'ho creato


CREATE DATABASE `ffff55555` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

ora cancella questa stringa dal tuo codice prima del ripristino e se tutto va bene non ti dovrebbe più dare quell'errore

Offline idroweb

  • Esploratore
  • **
  • Post: 178
  • Sesso: Maschio
    • Mostra profilo
Re:Come rendere sicuro Joomla contro attacchi degli hacker
« Risposta #23 il: 02 Dic 2009, 23:34:49 »
Ok! è andato tutto a posto, appena riesco riprovo con la modifica sicurezza tenendo conto di quest'ultimi insegnamenti e vi faccio sapere.

Grazie mille!

Offline marco_g

  • Appassionato
  • ***
  • Post: 650
  • Sesso: Maschio
    • Mostra profilo
Re:Come rendere sicuro Joomla contro attacchi degli hacker
« Risposta #24 il: 02 Dic 2009, 23:39:17 »
Sono contento che sei riuscito a ripristinare.

Offline idroweb

  • Esploratore
  • **
  • Post: 178
  • Sesso: Maschio
    • Mostra profilo
Re:Come rendere sicuro Joomla contro attacchi degli hacker
« Risposta #25 il: 03 Dic 2009, 01:50:00 »
Ho effettuato queste modifiche su Joomla!1.0.15 e pare che funzioni tutto! dunque sui siti 1.5.15 posso andare tranquillo.

Prima ho eliminato le tabelle del DB, poi ho importato il file struttura, quindi il file dati per intero e alla fine il file configuration.php.

Grazie ancora

Offline marco_g

  • Appassionato
  • ***
  • Post: 650
  • Sesso: Maschio
    • Mostra profilo
Re:Come rendere sicuro Joomla contro attacchi degli hacker
« Risposta #26 il: 03 Dic 2009, 09:16:26 »
Figurati  :)

Offline k_mallok

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:Come rendere sicuro Joomla contro attacchi degli hacker
« Risposta #27 il: 03 Dic 2009, 12:56:41 »
Ciao marco_g

Bell'articolo!!  ;D
Ma chiaramente l'argomento si può (e si deve) approfondire. Ci sono altri piccoli accorgimenti che possono essere presi per cercare di aumentare il livello di sicurezza di un sito realizzato in Joomla.

Per quanto riguarda la rinominazione delle tabelle un'altra soluzione possibile sarebbe quella di sfruttare la query DDL ALTER TABLE. Questa query permette di rinominare una tabella e ha la seguente sintassi:

Codice: [Seleziona]
ALTER TABLE nome_tabella RENAME nuovo_nome_tabella
Il problema adesso è ottenere la lista dei nomi delle tabelle e creare uno script sql da eseguire sul database

Per ottenere la lista delle tabelle:
  • connettersi al database con phpmyadmin
  • cliccare sul pulsante SQL (in alto). Verrà visualizzata la casella di testo per l'esecuzione diretta delle query sul database
  • scrivere ed eseguire la seguente query:
Codice: [Seleziona]
SHOW TABLES IN nome_database LIKE 'jos_%'
verrà visualizzato l'elenco delle tabelle che iniziano con jos_ presenti nel database di nome 'nome_database' (ovviamente sarà il nome del db su cui stiamo lavorando)
  • a questo punto creare un documento di testo con il notepad (o altro editor di testo) e con un pò di pazienza copiare e incollare la lista delle tabelle. Nel file di testo avremo una cosa del genere:
Codice: [Seleziona]
jos_banner
jos_bannerclient
jos_bannertrack
jos_categories
.... ecc.

    Ottenuta la lista dei nomi delle tabelle dobbiamo, ancora con un pò di copia e incolla, trasformarla in una lista di query che rinominino ogni singola tabella.
    Il risultato finale sarà il seguente:

    Codice: [Seleziona]
    ALETR TABLE jos_banner RENAME new_banner;
    ALETR TABLE jos_bannerclient RENAME new_bannerclient;
    ALETR TABLE jos_bannertrack RENAME new_bannertrack;
    ALETR TABLE jos_categories RENAME new_categories;
    .... ecc.

    A questo punto non serve altro che copiare tutte le query incollarle della casella di testo destinata all'esecuzione diretta delle query sul database ed eseguirle.
    Magari si possono copiare e incollare un pò per volta ;)

    Resta intesa la modifica al file configuration.php per dichiarare il nuovo prefisso delle tabelle.

    Sono d'accordo con l'idea dello script e ad usare le query sql, ma costruirlo in questo modo è più dispendioso dell'operazione proposta nell'articolo, inoltre si corre pesantemente il rischio di sbaglaire, col copia/incolla si sà.
    appena posso provo con una bella espressione regolare,se la cosa riesce la posto. Dovrebbe bastare creare un file con la lista dei nomi delle tabelle da dare in pasto all'espressione regolare.

    Offline marco_g

    • Appassionato
    • ***
    • Post: 650
    • Sesso: Maschio
      • Mostra profilo
    Re:Come rendere sicuro Joomla contro attacchi degli hacker
    « Risposta #28 il: 03 Dic 2009, 13:43:46 »
    Ciao marco_g

    Bell'articolo!!  ;D
    Ma chiaramente l'argomento si può (e si deve) approfondire. Ci sono altri piccoli accorgimenti che possono essere presi per cercare di aumentare il livello di sicurezza di un sito realizzato in Joomla.

    Per quanto riguarda la rinominazione delle tabelle un'altra soluzione possibile sarebbe quella di sfruttare la query DDL ALTER TABLE. Questa query permette di rinominare una tabella e ha la seguente sintassi:

    Codice: [Seleziona]
    ALTER TABLE nome_tabella RENAME nuovo_nome_tabella
    Il problema adesso è ottenere la lista dei nomi delle tabelle e creare uno script sql da eseguire sul database

    Per ottenere la lista delle tabelle:
    • connettersi al database con phpmyadmin
    • cliccare sul pulsante SQL (in alto). Verrà visualizzata la casella di testo per l'esecuzione diretta delle query sul database
    • scrivere ed eseguire la seguente query:
    Codice: [Seleziona]
    SHOW TABLES IN nome_database LIKE 'jos_%'
    verrà visualizzato l'elenco delle tabelle che iniziano con jos_ presenti nel database di nome 'nome_database' (ovviamente sarà il nome del db su cui stiamo lavorando)
    • a questo punto creare un documento di testo con il notepad (o altro editor di testo) e con un pò di pazienza copiare e incollare la lista delle tabelle. Nel file di testo avremo una cosa del genere:
    Codice: [Seleziona]
    jos_banner
    jos_bannerclient
    jos_bannertrack
    jos_categories
    .... ecc.

      Ottenuta la lista dei nomi delle tabelle dobbiamo, ancora con un pò di copia e incolla, trasformarla in una lista di query che rinominino ogni singola tabella.
      Il risultato finale sarà il seguente:

      Codice: [Seleziona]
      ALETR TABLE jos_banner RENAME new_banner;
      ALETR TABLE jos_bannerclient RENAME new_bannerclient;
      ALETR TABLE jos_bannertrack RENAME new_bannertrack;
      ALETR TABLE jos_categories RENAME new_categories;
      .... ecc.

      A questo punto non serve altro che copiare tutte le query incollarle della casella di testo destinata all'esecuzione diretta delle query sul database ed eseguirle.
      Magari si possono copiare e incollare un pò per volta ;)

      Resta intesa la modifica al file configuration.php per dichiarare il nuovo prefisso delle tabelle.

      Sono d'accordo con l'idea dello script e ad usare le query sql, ma costruirlo in questo modo è più dispendioso dell'operazione proposta nell'articolo, inoltre si corre pesantemente il rischio di sbaglaire, col copia/incolla si sà.
      appena posso provo con una bella espressione regolare,se la cosa riesce la posto. Dovrebbe bastare creare un file con la lista dei nomi delle tabelle da dare in pasto all'espressione regolare.

      Sicuramente valida alternativa come ho già detto,  che tra l'altro ho già segnalato nell'articolo, un solo problema:
      non si può realizzare uno script valido per tutti, perché può variare in base alle estensioni installate.
      Quindi chi ha le capacità e la competenza, sicuramente potrà percorrere questa strada molto più interessante.
      Mentre gli altri che masticano poco l'sql e possono aver paura di sbagliare si troveranno sicuramente più a loro agio con la procedura che ho descritto.

      Comunque ogni valida alternativa è bene segnalarla, grazie ancora per il suggerimento

      Offline n_drew

      • Nuovo arrivato
      • *
      • Post: 34
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #29 il: 03 Dic 2009, 15:37:17 »
      Prima di tutto grazie a Marco e a tutti coloro che stanno contrbuendo a questa discussione.
      Io personalmente adotto queste misure di sicurezza:

      - Joomla e estensioni (indispensabili) sempre aggiornate.
      - Password "robuste"
      - Cartella administrator proteta da password.
      - Utente admin "rimpiazzato" coma da guida di Marco (prima mi limitavo a rinominarlo).
      - Rinominare i suffissi delle tabelle (grazie sempre a Marco).

      Certmante è un'aorgomento trattato tante volte, ma mi chiedevo: quale altre accortezze potrebbero essere usate per alzare il livello di sicurezza?

      Offline marco_g

      • Appassionato
      • ***
      • Post: 650
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #30 il: 03 Dic 2009, 15:45:36 »
      Prima di tutto grazie a Marco e a tutti coloro che stanno contrbuendo a questa discussione.
      Io personalmente adotto queste misure di sicurezza:

      - Joomla e estensioni (indispensabili) sempre aggiornate.
      - Password "robuste"
      - Cartella administrator proteta da password.
      - Utente admin "rimpiazzato" coma da guida di Marco (prima mi limitavo a rinominarlo).
      - Rinominare i suffissi delle tabelle (grazie sempre a Marco).

      Certmante è un'aorgomento trattato tante volte, ma mi chiedevo: quale altre accortezze potrebbero essere usate per alzare il livello di sicurezza?

      Ottima idea quella di proteggere la cartella Administrator da password, una sola domanda, poi il backend ti funziona correttamente?

      Offline n_drew

      • Nuovo arrivato
      • *
      • Post: 34
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #31 il: 03 Dic 2009, 15:51:55 »
      Ottima idea quella di proteggere la cartella Administrator da password, una sola domanda, poi il backend ti funziona correttamente?

      Sì. Una volta che ho avuto accesso alla cartella Administrator, per mezzo del browser, il backend funziona normalmente.

      Offline marco_g

      • Appassionato
      • ***
      • Post: 650
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #32 il: 03 Dic 2009, 16:02:46 »
      Naturalmente la protezione la imposti dal pannello di controllo del DirectAdmin

      Offline 56francesco

      • Fuori controllo
      • *
      • Post: 29585
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #33 il: 03 Dic 2009, 16:09:49 »
      ragazzi devo dirverlo, quotate molto ma molto ma molto male..
      oltre la netiquette, il database del forum per quanto immenso avrà pur sempre un limite? o no?

      la sicurezza  si ottiene anche con un appropriato uso delle risorse o no?
      « Ultima modifica: 03 Dic 2009, 16:11:22 da 56francesco »
      (uso XP perchè win98 non si installa) 
      PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

      Offline marco_g

      • Appassionato
      • ***
      • Post: 650
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #34 il: 03 Dic 2009, 16:16:27 »
      Ciao Francesco, cosa intendi?

      Offline bigham

      • Global Moderator
      • Instancabile
      • ********
      • Post: 3662
      • Sesso: Maschio
      • Contagiato dalla Joomlaite :)
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #35 il: 03 Dic 2009, 19:57:25 »
      Utilizzare solo l'sql pone certi limiti è vero e creare uno script php sarebbe ancora più indicato visto che è possibile avere un maggiore controllo su quello che si sta facendo.
      In realtà avevo dato solo un input all'idea di marco_g che può portare a qualcosa di più performante.

      L'alternativa sarebbe quella di creare una Stored Procedure (utilizzando PL/SQL ad esempio) per fare la medesima cosa. Ma ci addentriamo in meandri troppo specialistici  ;D

      Ci sono più cose in cielo e in terra, Orazio, di quante ne sogni la tua filosofia.

      Offline marco_g

      • Appassionato
      • ***
      • Post: 650
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #36 il: 03 Dic 2009, 21:15:09 »
      In realtà avevo dato solo un input all'idea di marco_g che può portare a qualcosa di più performante.

      L'alternativa sarebbe quella di creare una Stored Procedure (utilizzando PL/SQL ad esempio) per fare la medesima cosa. Ma ci addentriamo in meandri troppo specialistici  ;D

      Magari se qualcuno più ferrato volesse contribuire, io non arrivo fino li
      « Ultima modifica: 03 Dic 2009, 21:16:47 da marco_g »

      Offline bigham

      • Global Moderator
      • Instancabile
      • ********
      • Post: 3662
      • Sesso: Maschio
      • Contagiato dalla Joomlaite :)
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #37 il: 03 Dic 2009, 22:53:04 »
      Internet è una grande fonte di informazioni.  ;D ;D

      Ho trovato questo script in php che non sembra male:

      Codice: [Seleziona]
      $db_server = "localhost";    // hostname server MySQL
      $db_username = "username";   // username server MySQL
      $db_password = "password";   // password server MySQL
      $db_name = "database";       // nome del database
      $pattern = "jos_";           // stringa da cercare
      $new_pattern = "new_";       // string da sostituire,
                                   // può essere vuota

      // si connette al server MySQL
      $link = mysql_connect( $db_server, $db_username, $db_password);

      // restituisce un errore se la connessione non riesce
      if (!$link) {
        die('Non posso connettermi: ' . mysql_error());
      }

      // elenca tutte le tabelle nel database che contengono la stringa cercata
      $sql = "SHOW TABLES FROM `" . $db_name . "`";
      $sql .= " LIKE '%" . $pattern . "%'";

      // esegue la query
      $result = mysql_query ( $sql, $link );

      // e se ci sono errori li visualizza
      if (!$result) {
        die("query non valida: " . mysql_error( $link ));
      }

      $renamed = 0;
      $failed = 0;

      while ( $row = mysql_fetch_array ($result) )
      {
        // rinomina ogni tabella sostituendola stringa cercata (jos_)
        // con la nuova stringa (new_)
        $table_name = $row[0];
        $new_table_name = str_replace ( $pattern, $new_pattern, $table_name);

        $sql = "RENAME TABLE `" . $db_name . "`.`" . $table_name . "`";
        $sql .= " TO `" . $db_name . "`.`" . $new_table_name . "`";

        $result_rename = mysql_query ( $sql, $link );
        if ($result_rename)
        {
          echo "Tabella `" . $table_name . "` rinominata in :`";
          echo $new_table_name . "`.\n";
          $renamed++;
        }
        else
        {
          // notifica quando la rinominazione fallisce e perchè
          echo "La rinominazione della tabella `" . $table_name . "` non è riuscita: ";
          echo mysql_error( $link ) . "\n";
          $failed++;
        }
      }

      // visualizza una piccola statistica sul numero di tabelle rinominate e non rinominate
      echo $renamed . " tabelle sono state rinominate, " . $failed . " hanno fallito.\n";

      // chiude la connessione al server MySQL
      mysql_close( $link );

      Come sempre questi script sono da testare con attenzione (non mi assumo responsabilità se spaccate il vostro DB ;D) e possono essere sempre migliorati.
      Ma in linea di principio dovrebbe funzionare.

      (Mi sa che siamo andati un pò Off Topic ;D ;D)

      PS
      NON quotate questo post!  ;) ;D ;D
      « Ultima modifica: 03 Dic 2009, 22:55:44 da bigham »
      Ci sono più cose in cielo e in terra, Orazio, di quante ne sogni la tua filosofia.

      Offline tonicopi

      • Global Moderator
      • Instancabile
      • ********
      • Post: 12790
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #38 il: 04 Dic 2009, 00:18:48 »
      OT ? Ma stai scherzando bigham?
      Sei assolutamente in topic. L'argomento in questo forum è assolutamente inerente all'articolo e nulla ci vieta di approfondire php e mysql che sono i motori di Joomla!
      Lo script che hai postato funziona alla grande. Provatelo in un database di prova. Con questo script possiamo sostituire tutti i prefissi delle tabelle dei nostri siti in pochi secondi con una procedura che non può arrecare alcun danno :D

      Va solo precisato, per rendere usabile lo script,  che lo dovete eseguire nella root del vostro sito incollando il codice che ha postato Bigham nel post immediatamente sopra a questo in un file di testo che salverete per esempio con il nome di rename.php  Solo avendo l'avvertenza di mettere il tutto dentro i tag di apertura e chiusura del php:

      Codice: [Seleziona]
      <?php 
      //script di bigham che comincia così
      $db_server "localhost";    // hostname server MySQL
      $db_username "username";   // username server MySQL
      $db_password "password";   // password server MySQL
      $db_name "database";       // nome del database
      $pattern "jos_";           // stringa da cercare
      $new_pattern "new_";       // string da sostituire,
                                   // può essere vuota
      //segue script....
      ?>

      e sostituendo i valori nelle inizializzazioni delle variabili qui sopra con i vostri ;)

      Poi digitate vostrosito.it/rename.php e in un batter di ciglia tutte le vostre tabelle verranno rinominate.

      Ricordarsi di cambiare il prefisso anche nel file configuration.php (con questa procedura non vedo differenza tra farlo prima o dopo).

      Ricordo di nuovo che questa procedura va adottata per sostituire i prefissi alle tabelle dei database dei siti già funzionanti. Nelle nuove installazioni è ovviamente TANTO più semplice cambiare il prefisso durante l'installazione di Joomla!
      Grazie marco_g
      Grazie bigham
      Grazie 56francesco... che ci ricordi sempre di limitare gli sprechi...  :D
      « Ultima modifica: 04 Dic 2009, 00:31:53 da tonicopi »
      joomlacsszengarden.com = il giardino dei css di Joomla!
      L'attesa del piacere è essa stessa... piacere!

      Offline marco_g

      • Appassionato
      • ***
      • Post: 650
      • Sesso: Maschio
        • Mostra profilo
      Re:Come rendere sicuro Joomla contro attacchi degli hacker
      « Risposta #39 il: 04 Dic 2009, 01:13:42 »
      Grazie a voi del contributo, per caso conoscete anche uno script per poter riassegnare l'autore "admin" ai vari articoli?
      « Ultima modifica: 04 Dic 2009, 01:27:45 da marco_g »

       



      Web Design Bolzano Kreatif