La sicurezza del tuo sito web realizzato con Joomla è importantissima. |
|
|
|||
|
Autore :
Joomlait » Questo articolo è stato letto: 18099 volte » |
|||||
| Notizie Joomla in Italia | |||
|
Interessante articolo scritto da Razvan T. Coloja apparso sulla pagine di Linux.com , questo espone gli aspetti importanti per la sicurezza del sito realizzato con Joomla che spesso molti utenti tralasciano mettendo così a rischio il proprio sito e l'intera stabilità del server che lo ospita. Joomla ad oggi ha raggiunto una forte popolarità e grande diffusione e per questo è spesso sotto il mirino di molte persone che tentano di sfruttarne eventuali vulnerabilità o di scoprirne di nuove. Riporto l'intero testo tradotto in italiano da Sara82.
Joomla è un content management system molto noto, maturo abbastanza da essere utilizzato da migliaia di portali web sia amatoriali che professionali.
L'installazione è semplice e consiste in 6 passi successivi. Ad ogni modo, un’installazione di default di Joomla non è necessariamente un'installazione sicura, così andiamo a vedere come possiamo proteggere il nostro portale da potenziali attacchi.
La prima regola di sicurezza quando si approda a Joomla è “aggiornare frequentemente”, perchè quando viene rilasciata una nuova versione, di solito questa comprende diversi bug segnalati dagli utenti e fix di sicurezza. Se il tuo host te lo permette, usa PHP5 invece di PHP4, perchè è più avanzato e offre una maggior sicurezza.
Una volta che il tuo sito è pronto per essere pubblicato, assicurati di settare il tuo file configuration.php in sola lettura – uno step molto critico che molti utenti trascurano. Cambia i permessi a file e directory – chmod 644 per i files e chmod 755 per le cartelle – ma assicurati di lasciare scrivibili cartelle temporanee e di cache, per non ottenere un errore del sito.
Tieni presente che cartelle speciali usate dai moduli e dai componenti di Joomla che hanno a che fare con i file devono essere anch’esse scrivibili.
Un componente di gestione delle immagini che non può caricare file è inservibile. All’interno del pannello di amministrazione di Joomla! Vai su Sito Configurazione Globale e scegli il tab Server. Attiva il CHMOD 0644 ai nuovi file e il CHMOD 0755 alle nuove directory, poi applica queste impostazioni.
Non dimenticare di cancellare la tua cartella di installazione dalla root di Joomla non appena l’installazione è terminata; non sarai in grado di accedere al tuo sito se questa cartella è ancora presente nella root del tuo server. Cambia lo username dell’amministratore da admin a qualcosa di meno ovvio e assicurati di utilizzare una password buona, lunga, e difficile da ricordare. Una buona regola è utilizzare una combinazione di lettere minuscole e maiuscole e di numeri, lunga almeno otto caratteri. Non scriverla da nessuna parte e non utilizzarla altrove come password.
Un passo importante nel rendere Joomla! Sicuro è creare e configurare un file .htaccess nella root del sito. Questo file, tra le altre cose, decide i permessi di accesso per cartelle speciali e le impostazioni mod_rewrite. I contenuti di questo file possono variare a seconda delle opzioni che il tuo hosting provider fornisce e dai componenti e moduli che potresti utilizzare.
Dopo un’installazione di default di Joomla!, probabilmente ti apparirà il seguente messaggio quando accederai al pannello di amministrazione: "PHP register_globals setting è 'ON' invece di 'OFF'. Questo significa che le variabili di ambiente, le variabili GET, POST,cookie e le variabili server sono registrate come variabili globali. Se metti il register_globals off, puoi prevenire attacchi injection alle variabili. Dovrai modificare il tuo file php.ini -- ma c’è un tranello. La maggior parte degli hosting provider non permette l’accesso diretto al file php.ini principale. E’ possibile aggirare il problema creando un file php.ini nella root del sito ed inserire lì le opportune righe di codice. In alcuni casi è possibile che ci voglia fino ad un’ora affinché le impostazioni siano lette dai server del provider, così armati di pazienza. Una volta fatto questo, inserisci una delle seguenti righe, a seconda della versione di PHP che hai sul server (rispettivamente PHP 5 o PHP 4):
php_value register_globals off
o
register_globals = 0
C’è ancora qualcosa che puoi fare per rafforzare ulteriormente il file php.ini. Per respingere gli attacchi di SQL inject, inserisci le seguenti 2 righe nel tuo file php.ini.
allow_url_fopen = OFF
La prima riga disabilita i wrapper URL-aware fopen che permettono di accedere ad oggetti URL come i file. La seconda riga disabilita una grande quantità di funzioni PHP:
* shows_source – un alias di highlight_file() che fornisce la “sintax hightlighting” dei file * system – permette l’esecuzione di programmi esterni; * shell_exec -- permette l’esecuzione di comandi attraverso la shell; * exec -- permette l’esecuzione di comandi; * passthru – simile alla funzione exec(),permette l’esecuzione di comandi; * popen – apre a pipe to a process being executed by a certain command; * proc_open – simile a popen() ma fornisce un miglior controllo sull’esecuzione del comando. Usando quest’impostazione disabiliterai tutti gli strumenti per eseguire comandi e script. D’altra parte, questo potrebbe causare problemi con alcuni componenti e moduli che usano funzioni PHP per lanciare comandi, ma il loro numero è trascurabile. Vedila in questo modo: probabilmente dovrai fare alcuni backup manuali, ma almento potrai dormire sonni tranquilli la notte.
Per applicare quanto detto in precedenza e rendere il portale sicuro, puoi utilizzare il file .htaccess. Dal momento che non tutti gli hosting provider ti pemettono di personalizzate i file .htaccess, e dal momento che alcune funzioni possono essere specificate solo nel php.ini, noi spiegheremo come usare il file php.ini per inserire le restrizioni. Ora viene la parte divertente: copia il file php.ini in ogni cartella della tua installazione di Joomla che contiene al suo interno file .php. Fai questo dopo che il tuo sito è terminato e pronto per essere pubblicato, poi controlla che tutto funzioni come dovrebbe.
La prossima azione, come misura extra di sicurezza, protegge la sottocartella di amministrazione con un file .htpasswd. In /administrator, crea due nuovi file: .htaccess and .htpasswd.
Il file .htaccess dovrebbe contenere le seguenti righe:
AuthType Basic AuthName "Joomla Administrator" AuthUserFile /full/path/to/joomla/administrator/.htpasswd <Limit GET> require valid-user </Limit>
Specifica uno username (diverso da quello già registrato all’interno di Joomla!) e crea una password complicata per questo usando un generatore online di .htpasswd come .htaccess Tools. Incolla l’output dal sito – username e password criptata -- all’interno del file .htpasswd, poi salva e ricarica la pagina di amministrazione del portale. Ti verrà chiesto di inserire uno username e la password che hai appena creato, e potrai così accedere alla seconda schermata di login di Joomla! Assicurati di utilizzare diversi username e password per ognuno.
Cancella i file temporanei di installazione e le immagini che non ti servono dalle sottodirectory di Joomla!, poi disinstalla i moduli che non prevedi di usare. Controlla se le estensioni installate sono soggette a vulnerabilità e visita spesso il Secunia's Vulnerability Database. Visita le sezioni dei forum di Joomla dedicate alla sicurezza e leggi cosa dicono gli utenti, e in caso di disastro, segui queste linee guida. Io raccomando anche di leggere la Joomla! Administrator's Security Checklist.
La chiave, nel mantenere la sicurezza, sta nel tenersi informati. Controlla le liste di sicurezza, e aggiorna le tue estensioni ogni volta che viene rilasciata una nuova versione. Inoltre, ricorda che un numero minore di estensioni significa meno tempo passato a metterle in sicurezza. Controlla i log dei server di volta in volta per le stringhe di SQL injection e informa il tuo hosting provider se dovessero presentarsi seri problemi.
Razvan T. Coloja ha pubblicato più di 150 articoli su Linux e l’IT sia su riviste cartacee che online. Svolge il lavoro di editor per una rivista romena ed è uno dei curatori e degli editor di www.mylro.org, un portale e una community romena su Linux/OSS.
Articoli più recenti:
|




