Rinominare alcune tabelle SQL al fine di aumentare il livello di sicurezza

Un article de Wiki Maximus CMS.


Non sarà mai ripetuto abbastanza

La sicurezza di un sito internet è legata ad un "capello".


Essendo Maximus basato su PHPNuke, lo abbiamo dotato di funzioni particolari al fine di non avere più ( e questo speriamo in maniera definitiva ) le stesse falle di sicurezza presenti in PhpNuke ...


Il metodo di attacco più conosciuto su PHPNuke è una iniezione SQL diretta alla tabella SQL _authors (tabella che contiene tutti i dati degli amministratori); la riuscita di una iniezione, consente di crearsi un nuovo account admin o, ancora più maliziosamente, di usurpare l'identità di uno degli amministratori. ( questo metodo viene utilizzato moltissime volte ed è sempre di attualità per PHPNuke )

Per lottare contro questo tipo di attacchi, è stato integrato in Maximus uno script di NSN NukeScripts che Cyril aveva scritto nel 2002-2003 e che, a tutt'oggi, si è dimostrato inattaccabile da parte di tutti i tentativi degli hacks.

Questo, però, non è del tutto sufficiente e, al fine di spingere la protezione sempre più in avanti, l'autore (Cyril), dalla versione Maximus BS, ha incrementato il sistema sicurezza dando la possibilità di rinominare alcune tabelle SQL di Maximus.


Le tabelle più importanti da rinominare ( ed allo stesso tempo da rinominare obbligatoriamente ), sono le seguenti :

  * _authors
  * _config
  * _config_admin
  * _modules

Diciamo che queste 4 tabelle sono quelle più "ricercate" negli attacchi ... pertanto è sufficiente rinominarle affinché tutte le iniezioni SQL cadano nel nulla :)


Per fare questo, ecco la metodologia:

aprite il file kernel/constant.php

alla linea 23 troverete questo codice:

 define('TABLE_AUTHORS', $prefix.'_authors');


sostituite questa linea con ( per esempio )

 define('TABLE_AUTHORS', $prefix.'_account_admins');


Maximus Fuzion BS, si prenderà carico di sostituire all'istante ovunque (moduli, blocchi, temi, ecc.) il nuovo nome assegnato alla tabella.

Affinchè tutto funzioni per il meglio, dovete rinominare, via phpmyadmin, la tabella _authors.


Alla stessa maniera procedete con tutte le altre tabelle alle quali volete modificarne il nome ... ed il gioco è fatto :)


Piermin 09 feb 2007 h 13:20 (rif.: Cyril)