Download - Toscana Joomla Party - Proteggiamo il nostro sito Joomla!

Transcript
Page 1: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

Proteggiamo il nostro sito Joomla!Proteggiamo il nostro sito Joomla!

Toscana Joomla Party

Lucca - 27 Settembre 2008

Page 2: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 2

Joomla! è sicuro?- In campo informatico non si può parlare di 100% di sicurezza: non esistono software assolutamente sicuri, ma software più o meno sicuri;

-Le recenti falle di sicurezza di Joomla! Hanno probabilmente diffuso la convinzione che non sia un CMS sicuro;

- In realtà, Joomla!, essendo un prodotto open source, ha un grande punto di forza: un ampio numero di persone che, leggendo e analizzando il suo codice, può individuare bugs, che quindi verranno corretti quanto prima:

Dalla scoperta della falla in Joomla! 1.5.6 al rilascio della patch di sicurezza sono passate solo poche ore!

- I problemi maggiori non riguardano quindi il core di Joomla! (a patto ovviamente di tenerlo sempre aggiornato), bensì dalle estensioni di terze parti: Joomla! Può contare su un grandissimo numero di estensioni (3756su extensions.joomla.org !!! )

Page 3: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 3

Joomla! è sicuro?

Codice scritto male o non aggiornato=

Problemi di sicurezza

espandono in modo considerevole le funzionalità

di Joomla!

Grande numero di estensioni

Page 4: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 4

Joomla! è sicuro?

Le regole base: Aggiornare la versione di Joomla! Aggiornare le estensioni di terze parti Non utilizzare il proprio spazio web come

un raccoglitore: Nella cartella pubblica del nostro account dovrebbero stare solo i file e le cartelle di Joomla! E nient’altro!

Page 5: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 5

Conoscere Joomla!

Page 6: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 6

NON lasciare nella public_html:

Vecchi backup contenenti versioni di Joomla! non aggiornate

File .sql contenenti dump del database, file .zip cartella installation (non basta rinominarla!) File contenenti phpinfo();

forniscono una grande quantità di informazioni sulla configurazione del nostro web server

Page 7: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 7

Hosting condiviso = condominio

Sottovalutare la sicurezza del proprio sito

provoca danni non solo al proprio

account ma anche a tutti gli altri

residenti sul nostro stesso server

Page 8: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

Top 10 Stupidest Administrator TricksLe 10 cose più stupide che può fare l’amministratore di un sito Joomla!

Page 9: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 9

Scegliere l’hosting provider piu’ economico che si riesce a trovare

Preferibilmente con migliaia di siti su ogni server, molti dei quali con traffico elevatissimo (magari siti porno!!)

Non controllare la lista degli hosting provider presenti su Joomla.org

Invece si dovrebbe…

10. L’hosting

Page 10: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 10

10. L’hosting Controllare la lista degli hosting provider su Joomla.org: tutti i nomi sulla

lista rispettano i requisiti di sicurezza richiesti da Joomla! http://help.joomlaitalia.com/Guide/Tutorial/Impostare-un-hosting-per-

Joomla.html

Scegliere provider con server aggiornati Appello di Brad Baker (DevTeam Joomla.org) ai provider:

1. PHP 5 2. register_globals OFF 3. modulo suPHP

Scopriamo perché..

Page 11: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 11

PHP 5: PHP 4 ha terminato il suo ciclo di sviluppo e non verrà più supportato. Non verranno più quindi rilasciati aggiornamenti, nemmeno di sicurezza. E' sconsigliato utilizzare Joomla su server con ancora PHP 4.

Register_globals OFF: se su ON lato server (anche se si disabilita lato uente attraverso una direttiva nel php.ini o nell’.htaccess), in certe situazioni il proprio sito può essere compromesso se un altro account sullo stesso server è compromesso o utilizzato in modo malevolo. Inoltre dalla versione 4.2 di PHP è settato di default su OFF

Modulo suPHP: con PHP funzionante come modulo di Apache, gli script vengono eseguiti con lo user del server (nobody, httpd o apache); con PHP eseguito come CGI, invece, il proprietario del file è lo user relativo all’account.

Cosa significa questo? Con PHP che gira sotto Apache, chiunque sul server potrà leggere e scrivere i file

(che saranno settati a 777), con i conseguenti problemi di sicurezza immaginabili; con PHP eseguito come CGI, invece, i file risulteranno essere scrivibili solo da quell’user, e non da altri user presenti sullo stesso server. I permessi massimi applicabili saranno adesso 755 e mettere file a 777 genererà un “500 Internal Server Error”

Permessi consigliati: 755 per le cartelle 644 per i files

10. L’hosting

Page 12: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 12

9. I backup

Non perdere tempo ad effettuare backup regolari

Se succede qualche cosa probabilmente il tuo provider ti aiuterà

Invece si dovrebbe…

Page 13: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 13

9. I backup

Effettuare regolari e frequenti backup

In particolare prima di effettuare aggiornamenti è sempre buona norma avere un backup completo di sito e database da utilizzare in caso di disastri

Page 14: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 14

8. Le misure di sicurezza

Non perdere tempo a configurare PHP e le impostazioni di Joomla per incrementare la

sicurezza del proprio sitoPreoccuparsi di questi dettagli solo nel caso in cui

succeda qualcosa

Invece si dovrebbe…

Page 15: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 15

Alcuni esempi: nel file .htaccess è possibile: proteggere alcune cartelle sensibili (es.

administrator) tramite password Restringere l’accesso alle cartelle sensibili

attraverso gli indirizzi IP Bloccare le libwww-perl:RewriteCond %{HTTP_USER_AGENT} ^libwww-

perl/[0-9].[0-9]* RewriteRule ^.*$ http://127.0.0.1 [R,L]

8. Le misure di sicurezza

Page 16: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 16

7. I dati di accesso

Usa gli stessi username e password per ogni cosa

Usa gli stessi dati di accesso per il tuo sito Joomla!, il tuo account bancario, la tua casella di posta..

Chi ha voglia di memorizzare tutte queste password? Molto meglio utilizzare sempre la stessa!

Invece si dovrebbe…

Page 17: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 17

Utilizzare dati di accesso diversi da quelli di altri nostri account

Cambiare lo username di default di Joomla! Da admin a qualcosa di più complesso

Utilizzare password alfanumeriche, con simboli, di almeno di 8 caratteri.

Evitare:- Parole di senso compiuto- Nomi di familiari o animali domestici

7. I dati di accesso

Page 18: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 18

6. La manutenzione del sito

Pubblicare il nostro nuovo, fantastico sito targato Joomla! E festeggiare un lavoro ben

fatto!Non è necessario prendersi cura del sito finito..

Dopotutto, se non si fanno dei cambiamenti, cosa mai potrebbe succedere?

Invece si dovrebbe…

Page 19: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 19

Controllare se sono uscite nuove versioni di Joomla!: http://www.joomla.org/ http://feeds.joomla.org/JoomlaSecurityNews

Controllare sui siti degli sviluppatori se sono uscite nuove versioni delle nostre estensioni installate

Controllare che non siano state scoperte vulnerabilità nelle estensioni installate: nel caso rimuoverle o installare le opportune patch:

http://help.joomla.org/component/option,com_easyfaq/task,view/id,186/Itemid,268/

Rimuovere tutte le estensioni inutilizzate e controllare che tutti i file e le cartelle ad esse correlate siano stati rimossi completamente dagli script di disinstallazione. Spesso, infatti, durante il processo di disinstallazione, è possibile che molte estensioni di terze parti lascino file e cartelle, o tabelle nel database. Ogni file lasciato sul server resta accessibile da web attaverso richiamo diretto dall’URL: http://tuodominio.com/modules/bad_module.

6. La manutenzione del sito

Page 20: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 20

Effettuare aggiornamenti e modifiche direttamente sul sito di produzione

Chi necessita di un sito di test e sviluppo? Se un’installazione non va a buon fine, basta disinstallare..

Così si annullerà qualsiasi danno provocato da un’installazione errata

Invece si dovrebbe…

5. Sito di test e sito di produzione

Page 21: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 21

Testare nuove estensioni (soprattutto sconosciute o che impattano sul core di Joomla!) su un sito di prova prima di installarle su un sito di produzione. Controllare i log per verificare eventuali errori e warning

Se si effettua un’operazione delicata come ad es. una migrazione a Joomla 1.5.x effettuarla prima in una sottocartella

Ricordare sempre: prevenire è meglio che curare!

5. Sito di test e sito di produzione

Page 22: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 22

4. Estensioni di terze parti

Installare tutte le estensioni che riusciamo a trovare e che ci attirano.

Chiunque sia in grado di sviluppare un’estensione per Joomla!, sicuramente scriverà un codice perfetto, in

grado di bloccare qualunque tipo di attacco.. Dopotutto queste estensioni sono rilasciate da brave persone che

sanno quello che stanno facendo..

Invece si dovrebbe…

Page 23: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 23

Installare il numero minimo di estensioni necessario per i nostri scopi

Utilizzare estensioni conosciute e affidabili Effettuare prima dei test su un sito non in

produzione

4. Estensioni di terze parti

Page 24: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 24

3. Aggiornamento

Non preoccuparsi di aggiornare il proprio sito Joomla!

Finora è andato tutto bene.. Perché preoccuparsi? La stessa cosa vale per le estensioni di terze parti..

Troppo lavoro.. Meglio andare al mare!!

Invece si dovrebbe…

Page 25: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 25

Controllare costantemente gli aggiornamenti di Joomla! Su www.joomla.org o sottoscrivendo i feed sulla sicurezza: http://feeds.joomla.org/JoomlaSecurityNews -

Controllare gli aggiornamenti alle estensioni sui siti dei produttori

3. Aggiornamento

Page 26: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 26

2. L’attacco

Se il tuo sito viene hackerato precipitarsi sui forum di Joomla! In preda al panico

Aprire un topic dal titolo: “Aiuto! Sono stato hackerato!” Assicurandosi di non fornire informazioni fondamentali come la versione di Joomla utilizzata e la lista delle estensioni installate

Invece si dovrebbe…

Page 27: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 27

Essere il più dettagliati e precisi possibile;

Specificare se si sta utilizzando una versione di Joomla! non aggiornata;

Fornire una lista completa delle estensioni installate specificando la relativa versione

2. L’attacco

Page 28: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 28

1. Il ripristino del sito

Sistemare i file corrotti e pensare che sia tutto a posto

Non controllare i log, non cambiare la password, non ripristinare un backup integro.. E infine.. Quando si verrà attaccati nuovamente.. Dare la colpa a Joomla!

Invece si dovrebbe…

Page 29: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 29

Ricordare che la rimozione e pulizia dei file corrotti è solo il primo passo del lungo processo di ripristino di un sito hackerato

1. Il ripristino del sito

Page 30: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 30

Riferimenti utili

RSS di Joomla.org con aggiornamenti sulla sicurezza

http://feeds.joomla.org/JoomlaSecurityNews

Security Announcements Forum di Joomla.org http://forum.joomla.org/viewforum.php?f=372

Page 31: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 31

Vulnerable extensions list di Joomla.org

http://help.joomla.org/component/option,com_easyfaq/task,view/id,186/Itemid,268/

Riferimenti utili

Page 32: Toscana Joomla Party - Proteggiamo il  nostro sito Joomla!

La sicurezza del proprio sito Joomla! 32

Sitografia

http://docs.joomla.org http://community.joomla.org/core-team-

blog/62-blog/467-hosting-providers-isnt-it-time.html

http://www.joomlatutorials.com/ http://help.joomlaitalia.com