Vi presento un metodo, personalmente testato ed ottimamente funzionante, per rendere sicura la proprio installazione di Joomla contro attacchi hacker.
PARTE 1Prima di procedere con l'installazione dobbiamo cambiare l'
ID di default del superadministrator:
Aprire il file
installation/installer/helper.php e cercare la stringa:
$query = "INSERT INTO #__users VALUES (62, 'Administrator', 'admin', ".$db->Quote($adminEmail).", ".$db->Quote($cryptpass).", 'Super Administrator', 0, 1, 25, '$installdate', '$nullDate', '', '')";
sostituire il numero 62 con un altro a piacere.
Sempre nello stesso file cercare:
$query = "INSERT INTO #__core_acl_aro VALUES (10,'users','62',0,'Administrator',0)";
e sostituire anche qui il numero 62 col numero precedentemente scelto.
PARTE 2A questo punto avviate l'installazione di Joomla e, giunti al quarto step relativo all'inserimento dei dati di configurazione del database, cliccate sulla voce "
Configurazione avanzata" (
vedere immagine in allegato).
Qui dovete sostituoire "
jos_" con un qualsiasi altro prefisso di tre caratteri seguito dall'underscore, es.: "abc_", "pop_", "xyz_".
Fatto ciò, completate tutti gli step e, conclusa l'installazione, cancellate la directory installation, così come suggerito dalla procedura stessa.
PARTE 3Installate i componenti, i plugins ed i moduli che dovrete utilizzare sul vostro sito.
Accedete al backend (amministrazione) ed apportate le eventuali ulteriori ed ULTIME modifiche alla voce
Configurazione accessibile dal Menu.
Fatto ciò procediamo con una
modifica essenziale:
Sulla
root del dominio create una cartella e chiamatela con un nome a piacere, es.: "
bloccata".
Scaricate sul vostro desktop il file "
configuration.php" (che si trova sulla root di installazione di Joomla) e rinominatelo in "
config-joomla.php"; create un documento di testo vuoto ed inserite il seguente codice, sostituendo alla voce "[PATH ASSOLUTO DEL VOSTRO DOMINIO]" il percorso corretto:
<?php
include('[PATH ASSOLUTO DEL VOSTRO DOMINIO]/bloccata/config-joomla.php');
?>
Salvate il file con il nome "
configuration.php".
Via FTP uploadate il file
config-joomla.php dentro la cartella che abbiamo precedentemente creato e chiamato "
bloccata".
Una volta effettuato l'upload del file, cambiate il
CHMOD in 400.
Fatto ciò cambiate adesso il
CHMOD della SOLA cartella "bloccata" in 555.
Sempre via FTP uploadate il nuovo file "
configuration.php" dentro la cartella dove avete installato Joomla e sovrascrivetelo.
Fatto ciò cambiate il
CHMOD del file in 444.
PARTE 4Mettere in sicurezza la registrazione utenti!
Un bel componente gratuito che potrebbe fare al caso nostro è "
AlphaRegistration", scaricabile al seguente indirizzo:
http://www.alphaplug.com/downloads.html?func=select&id=3.
Qui, invece, potete testare la demo:
http://www.alphaplug.com/index.php/component/user/register.html?format=html&option=com_alpharegistration&Itemid=&view=register&Itemid=1.
Vi basterà installarlo e configurarlo in modo tale da utilizzare il
reCaptcha come anti-spam.
Per usare il reCaptcha dovete prima ottenere le due chiavi, pubblica e privata, al seguente indirizzo:
https://www.google.com/recaptcha/admin/create.
PARTE 5Mettere in sicurezza la cartella "administrator"!
Questa parte può anche essere tralasciata poiché è un metodo, purtroppo,
a pagamento e consiste nell'installazione del componente
jSecure:
http://www.joomlaserviceprovider.com/component/ambrasubs/file/view/5/7.html.
Ovviamente se per questo punto avete suggerimenti alternativi sappiate che sono ben accetti e sarò felice di inserirli.In ogni modo, un metodo gratuito per proteggere questa cartella è il seguente:
Create un file di testo nuovo ed incollate il seguente codice, modificando opportunamente le due voci [PATH ASSOLUTO DEL VOSTRO DOMINIO] e [CARTELLA DI JOOMLA]:
AuthType Basic
AuthName "Area protetta"
AuthUserFile [PATH ASSOLUTO DEL VOSTRO DOMINIO]/[CARTELLA DI JOOMLA]/administrator/.htpasswd
require valid-user
e salvatelo con il nome "
.htaccess"
Andate all'indirizzo
http://webxtractions.com/cgi-bin/password.cgi.
Inserite username e password che vorreste usare per proteggere l'accesso alla cartella administrator.
Premete encrypt e nella parte destra della schermata spunterà l'output.
Aprite un nuovo file di testo ed incollate l'accoppiata username&password che sono stati generati.
Salvate il file col nome "
.htpasswd".
Caricate sul server, nella directory "administrator", entrambi i files
.htaccess e
.htpasswdCosì facendo, provando ad accedere al backend, vi verrà richiesta un primo nome utente e password direttamente dal server Apache.
** IMPORTANTE **Se doveste ricevere errori durante la navigazione del sito, dovrete semplicemente effettuare un rollback del file configuration.php riportandolo al suo stato originario, con chmod 644.Personalmente NON ho avuto alcun problema, pur utilizzando diversi componenti.
Sono disponibile per qualsiasi chiarimento in merito!
*************** Spero possa esservi stato di aiuto!
Ciao, Marco.
[allegato eliminato da un amministratore]