Back to top

Autore Topic: [GUIDA] - Metodo per installazione di Joomla "in sicurezza".  (Letto 6486 volte)

Offline stimart

  • Nuovo arrivato
  • *
  • Post: 21
  • Sesso: Maschio
    • Mostra profilo
 :) Vi presento un metodo, personalmente testato ed ottimamente funzionante, per rendere sicura la proprio installazione di Joomla contro attacchi hacker.

PARTE 1
Prima di procedere con l'installazione dobbiamo cambiare l'ID di default del superadministrator:

Aprire il file installation/installer/helper.php e cercare la stringa:
Codice: [Seleziona]
$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:
Codice: [Seleziona]
$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 2
A 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 3
Installate 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:
Codice: [Seleziona]
<?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 4
Mettere 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 5
Mettere 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]:
Codice: [Seleziona]
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 .htpasswd

Così 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]
« Ultima modifica: 01 Ott 2010, 14:55:08 da stimart »
Il mio INTJ

mau_develop

  • Visitatore
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #1 il: 01 Ott 2010, 16:05:32 »
perchè devo mettere il configuration in una cartella?

se chiedevi a qualche mod la tua guida poteva essere inserita nella sezione guide dove ce ne sono altre molto simili.

M.

Offline ariess

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4056
  • Sesso: Maschio
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #2 il: 01 Ott 2010, 18:23:32 »
ciao stimart,

a parte la 3° parte, di cui neanche a me è chiara l'utilità, gli altri accorgimenti sono già noti e descritti nel forum o nel wiki.

non mi sembra però che siano stati raccolti tutti in un unica guida, quindi potrebbe essere utile il tuo intervento (magari togliendo il riferimento all'estensione commerciale)
è comunque apprezzabile la tua disponibilità e voglia di collaborare  :) grazie
« Ultima modifica: 01 Ott 2010, 18:33:37 da ricdata »

Offline ariess

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4056
  • Sesso: Maschio
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #3 il: 01 Ott 2010, 19:03:19 »
ho provato a fare la modifica al punto 3, ma non mi funziona.... pagina bianca sia in back end sia nel sito... non viene letto il config-joomla.php messo nella cartella.

credo comunque che facendo questa modifica diventa poi impossibile mettere il sito in offline, sbaglio?

Offline stimart

  • Nuovo arrivato
  • *
  • Post: 21
  • Sesso: Maschio
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #4 il: 01 Ott 2010, 19:09:36 »
Ciao ricdata :) innanzitutto grazie per aver accettato il mio intervento.
Beh.. posso assicurarti che a me funziona egregiamente!
Certo che, ovviamente, non sarà possibile mettere il sito off-line... ci sono pro e contro. ;)
Il mio INTJ

mau_develop

  • Visitatore
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #5 il: 01 Ott 2010, 19:13:03 »
no no ..ci sono contro... pro non ne vedo.

in che modo riusciresti a vedere/grabbare/manipolare il mio configuration.php?

M.

Offline ariess

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4056
  • Sesso: Maschio
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #6 il: 01 Ott 2010, 19:22:25 »
ti aggiorno:

mettendo il path relativo e non assoluto funziona, ma al primo aggiornamento della pagina il configuration.php nella root viene sovrascritto e torna come l'originale

Offline stimart

  • Nuovo arrivato
  • *
  • Post: 21
  • Sesso: Maschio
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #7 il: 01 Ott 2010, 19:35:42 »
Uhm... non saprei, a me non lo aggiorna.
Hai impostato il chmod 444?

Riguardo l'utilità è una variante di quella "ufficiale": http://docs.joomla.org/Moving_outside_public_html
Il mio INTJ

mau_develop

  • Visitatore
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #8 il: 01 Ott 2010, 19:43:33 »
non mi fraintendere, non voglio contestarti nulla :) , semplicemente non riesco a capire il motivo visto che non è mai stato obbiettivo di nulla, non ci sono esploit ... e quando ormai, a causa di altre vulnerabilità, riesci ad accedere allo spazio come owner trovi tranquillamente tutto.

M.

Offline ariess

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4056
  • Sesso: Maschio
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #9 il: 01 Ott 2010, 19:59:08 »
ho riprovato ed ora lo mantiene, si sovrascrive solo quando si prova a mettere il sito offline.

resto comunque dubbioso sull'efficacia di questa manovra
mettiamo il caso che si possa riuscire al modificare il configuration.php originale (come dice mau), allo stesso modo si può quindi modificare anche quello "modificato", ci vorrebbe un attimo quindi a cancellare l'include e rendere inutile l'altro configuration messo nella cartella, non trovi?

non è una critica a te ma all'articolo di joomla.org

Offline stimart

  • Nuovo arrivato
  • *
  • Post: 21
  • Sesso: Maschio
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #10 il: 01 Ott 2010, 20:20:43 »
Uhm... e se si creasse un file .htaccess configurato in modo tale da impedire la lettura del configuration.php?
E' interessante ragionare attorno al discorso dati sensibili del file in questione.
So che spesso escono fuori bug che permettono, tramite un semplice input dalla barra degli indirizzi, di "leggere" il contenuto dei file php.

Vorrei ragionare assieme a voi e cercare di accorpare in questa guida tutte le varianti e le soluzioni migliori.
Il PUNTO 3 è da discutere effettivamente :D :) e sono felice di farlo assieme a voi.

;) Che ne dite di trovare assieme tutte le soluzioni "preventive" del caso?
Il mio INTJ

mau_develop

  • Visitatore
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #11 il: 01 Ott 2010, 21:08:02 »
cosa succede se sfruttando una vulnerabilità di un extension io riesco a caricare una shell che mi esegue i comandi che voglio io?
quando "lavoro" con un file sul server sto operando con i privilegi del proprietario, quindi faccio quello che voglio.

Cosa succede se riesco ad espliotare una sqlinj? riesco ad avere una lista di user e di password, decriptata questa entro direttamente dal pannello.

Una delle poche cose utili è il plugin che ha scritto Marco, non credo sia infallibile ma credo che offra comunque un buon margine di sicurezza addizionale al framework.

M.

Offline maxtrend

  • Esploratore
  • **
  • Post: 100
  • Sesso: Maschio
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #12 il: 20 Ott 2010, 17:15:00 »
PARTE 5
Mettere 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.

Possiamo usare kSecure simile al precedente ma che è gratuito, scaricabile da qui (richiede la registrazione)

Note: per non avere problemi utilizzare in modalità di compatibilità (Compatibility)
« Ultima modifica: 20 Ott 2010, 17:18:27 da maxtrend »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[GUIDA] - Metodo per installazione di Joomla "in sicurezza".
« Risposta #13 il: 26 Ott 2010, 22:31:31 »
veramente una guida completa c'è:
http://docs.joomla.org/Category:Security_Checklist

quanto alla directory administrator, premesso che non mi è ancora capitato un attacco brute force all'amministrazione di joomla, sul mio sito trovate una spiegazione su un possibile metodo per effettuare la procedura capendo come funziona.

imho:
spostare configuration.php non ha gran che senso.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif