Joomla security – Sicurezza Joomla

Per creare un sito con Joomla o meglio se si vuole fornire hosting per questo CMS Joomla si dovrà impostare il proprio server in modo da ottimizzare le prestazioni per la sicurezza.  Perchè Joomla se usato inconsapevolmente potrebbe essere sfruttato da hacker che possono sfruttare i bug di sistema di Joomla in modo da arrivare fino alla gestione dell’intero server.
 

Partiamo dall’inizio dobbiamo avere uno spazio web con php possibilmente 5 perchè più sicuro del php 4, un database mysql, il sistema operativo può essere sia linux che windows anche se si consiglia LINUX. A questo punto installiamo Joomla! in 6 passaggi abbiamo finito. Carichiamo via FTP (smartftp) tutti i file e le cartelle nello spazio a voi dedicato, chiamiamo dal vostro browser la pagina index.php oppure la installation/index.php e seguite la procedura a schermo.

 

Finita l’installazione ricordiamo di rendere più sicura l’installazione del vostro Joomla, iniziamo con il cancellare la cartella "installation" con tutti i file, subito dopo rimettiamo a tutti file che abbiamo cambiato i permessi al suo posto originale, solitamente le cartelle a 0755 e i file a 0644. Ricordate che le cartelle "media" e "images" dovranno essere scrivibili in modo da poter caricare i file sul vostro sito web. Il file di configurazione configuration.php e la cosa più importante da ricordare anche perchè il più utilizzato solitamente per cambiare le impostazioni del sito, ma non dimenticate mai edi rimettere i permessi non scrivibili a tale file.

Da adesso in poi possiamo ricordare che abbiamo un’installazione sufficiente, ma se installiamo altri componenti di terze parti dobbiamo stare molto attenti, controllate da dove provengono e se sono sicuri, in tutti i casi dobbiamo sempre aggiornare sia i componenti moduli mambots e bridge alle ultime versioni non appena vengono rilasciate le nuove versioni che comprono dei nuovi bug. Altrettanto dovete fare con Joomla che rilascia nuove versioni che correggono dei BUG, perciò dobbiamo aggiornare anche JOOMLA stesso all’ultima versione stabile non appena possibile.
 
Finita l’installazione non dimenticate di mettere i permessi 0444 al file configuration.php
Cambiare i permessi a file e cartelle chmod 0644 a tutti i file e tutte le cartelle a chmod 0755.
 

Inoltre possiamo impostare Joomla dalla configurazione globale che metterà i permessi ai nuovi file e cartelle come sopra, a 644 e 755 per le cartelle.

Utilizzare username e password non troppo facili da indovinare, inoltre cercate di cambiarle spesso le password di amministrazione. Una buona regola potrebbe essere di usare una combinazione di numeri e caratteri maiuscolo e minuscolo. Non conservate mai la password nel sito e non diffondetela in rete per nessun motivo, nel caso avete qualche sospetto cambiatela subito.

Un’altra cosa molto importante nasce quando utilizzate i componenti SEO-SEF di JOOMLA, perchè questo potrebbe metterebbe a rischio l’intero sito o addirittura l’intero server. Modificato il file htaccess.txt in .htaccess si può modificare le funzioni di PHP, come per esempio:

La direttiva "register_globals di PHP è ‘ON ‘ invece che  ‘OFF’.  Per metterla in sicurezza inserire nel file .htaccess

php_value register_globals off

oppure

register_globals = 0

Ci sono altre funzioni che potete modificare per rendere più sicuro il sito, occorre modificare il file php.ini del server. Per bloccare SQL iniection, basta mettere le seguenti linee nella vostra pagina di php.ini: 

allow_url_fopen = OFF
disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open

 

La prima linea disabilita il permesso di esecuzione di script malevolo attraverso l’url. Il secondo inabilita molto le funzioni di PHP:

  • shows_source — uno pseudonimo di highlight_file() che fornisce la sintassi che evidenzia per le lime;
  • sistema — permette l’esecuzione dei programmi esterni;
  • shell_exec — permetta l’esecuzione degli ordini via lle coperture;
  • exec — permetta l’esecuzione degli ordini;
  • passthru — simile alla funzione del exec(), permette l’esecuzione degli ordini;
  • phpinfo — le informazioni delle uscite PHP che potrebbero essere usate dagli intrusi potenziali;
  • popen — apre un tubo ad un processo che è eseguito da un determinato ordine;
  • proc_open — simile a popen() ma fornisce il controllo migliore sopra l’esecuzione di ordine.

Così questa regolazione inabilita tutti le possibili esecuzioni di script. Di nuovo, questo potrebbe causare i problemi con alcuni componenti e moduli che usano le funzioni di PHP per gli ordini di lancio, ma il loro numero è trascurabile.

Per applicare le regole sopra e per assicurare una completa sicurezza del portale, potete usare il file htaccess. Poiché non tutti i webhosting lasciano usare tale file e poiché alcune funzioni possono essere specificate soltanto nel file php.ini del server, possiamo intervenire usando il file php.ini per inserire le limitazioni.

In fine: copia il file php.ini in ogni cartella o sottocartella del vostro Joomla!. Possibilmente dopo che il vostro sito è installato correttamente e completamente funzionante, poi controlla se tutto funziona dopo aver attivato queste modifiche.

Dopo, come misura supplementare di sicurezza, proteggi le sottocartelle con un file htpasswd. In /administrator, genera due nuovi file: htaccess e htpasswd.

Il file htaccess dovrebbe contenere le seguenti linee:

 
AuthType Basic
AuthName "Joomla Administrator"
AuthUserFile /full/path/to/joomla/administrator/.htpasswd
<Limit GET>
require valid-user
</Limit>

Specifica un username (differente da quello già registrato all’interno di Joomla!) e una password lunga e difficile da indovinare, se avete difficoltà provate a seguire il link tools htaccess. Avrete così una doppia password per accedere all’amministrazione del vostro sito Joomla, Ricordate questi dati e conservateli in sicurezza al difuori del sito, magari in agenda.

Cancella i file dell’installazione e le immagini che non avete bisogno di dai subdirectories del Joomla!, Potreste anche cancellare i moduli che non utilizzate. Controlla tutte le estensioni installate per vedere se ci sono vulnerabilità e visita la base di dati di vulnerabilità del Secunia spesso. Visita Joomla! La categoria Scurezza delle tribune e colto che cosa altre devono dire e, nel caso del disastro, segue questa guida di riferimento. Inoltre suggerisco leggere il Joomla! Lista di controllo Di Sicurezza Del Coordinatore.

La cosa principale per la sicurezza è mantenersi informati. Controlla le liste di sicurezza ed aggiorna le vostre estensioni ogni volta che le nuove versioni sono lanciate.