Hosting specifico per Joomla!



Documenti analoghi
Come realizzare un portale tutto vostro su Altervista sfruttando un CMS come Joomla.

Il Web Server e il protocollo HTTP

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

DBMS (Data Base Management System)

Configurazione avanzata di XAMPP

Guida all upgrade alla versione 1.4.1

Migriamo da Joomla! 1.5 a 1.7

CONTENUTI 1. INTRODUZIONE CONCETTI BASICI SU EQUINOX CMS XPRESS ACCESSO A EQUINOX CMS XPRESS PAGINA D INIZIO...

Guida all upgrade alla versione 1.3.1

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Dispensa di database Access

INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla!

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

Installazione & Configurazione Php e MySQL su Mac Os X. Php

2.1 Installazione e configurazione LMS [4]

WordPress: il corso Fondamentale

Guida all'installazione del CMS Joomla

[1] Cross Site Scripting [2] Remote / Local File Inclusion [3] SQL Injection

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Sito web parrocchiale: STRUMENTI E PROGRAMMI

Installazione & Manuale di Utilizzo

MService La soluzione per ottimizzare le prestazioni dell impianto

19. LA PROGRAMMAZIONE LATO SERVER

Manuale di Installazione PHPNuke in Italiano Edizione Visuale By CLA

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Guida di Pro Spam Remove

AVCP-Xml Manuale per l'aggiornamento alla versione Provincia di Cremona

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Software per Helpdesk

INSTALLAZIONE JOOMLA

OmniAccessSuite. Plug-Ins. Ver. 1.3

GERARCHIE RICORSIVE - SQL SERVER 2008

--- PREMESSE INTRODUZIONE. .:luxx:.

Volumi di riferimento

MySQL Database Management System

File system II. Sistemi Operativi Lez. 20

Progetto di Basi di Dati e Multimidia Laboratorio Struttura dell applicazione web

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Introduzione a phpmyadmin

Approvazione : Perico Marco.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

L amministratore di dominio

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

CONCETTO DI ANNIDAMENTO

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

REOL-Services Quick Reference Ver. 1.1 Tecno Press Srl. 1

Guida Joomla. di: Alessandro Rossi, Flavio Copes

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Tesi Di Laurea. Anno Accademico 2010/2011. relatore Ch.mo prof. Cinque Marcello. correlatore Ch.mo Ing. Catello Cacace

La tecnologia ASP.NET e i database

Gestione dell account AdWords di Google Guida pratica

Joomla: Come installarlo e come usarlo. A cura di

SVILUPPO DEL BLOG Autori: Ilari Michele, Cimini Oscar, Zaleski Dawid

ELENCO CLIENTI FORNITORI Patch1

Strategie e Operatività nei processi di backup e restore

INFN Napoli NESSUS. IL Security Scanner. Francesco M. Taurino 1

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

API e socket per lo sviluppo di applicazioni Web Based

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Le Basi di Dati. Le Basi di Dati

CUSTOMER SERVICE GPS/ RADIOTRACKING DOG COLLAR. T. (+34) F. (+34)

X-Letter Gestione Newsletter (versione template o landing pages)

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Consiglio della Regione Toscana (CRT) Settore tecnologie informatiche e ITIS Meucci Firenze. Giuseppe Russo

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1

CONTENT MANAGEMENT SY STEM

ImporterONE Export Plugin Magento

ImporterOne Manuale Export Plugin Prestashop

Dexma Newsletter System

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

Traduzione e adattamento a cura di Gylas per Giochi Rari Versione 1.0 Luglio giochirari@giochirari.

Il BACKUP è disponibile in

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:


EM3 SoftCom Software di comunicazione fra EM3 e PC Versione 2.019

Guida all'installazione del CMS Simple Machine Forum

I tutorial di MadLabs.. Installazione e prima configurazione

TYPO3 in azione con l infrastruttura ZEND: affidabilità e sicurezza. Mauro Lorenzutti CTO di Webformat srl mauro.lorenzutti@webformat.

Individuare Web Shell nocive con PHP Shell

IL PARTNER IDEALE. Consulenza IT & Soluzioni HR

Una piattaforma per creare blog, che utilizza il linguaggio PHP e si

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Cosa è un foglio elettronico

Corso Joomla per ATAB

Schedulazione dinamica. Elettronica dei Calcolatori 1

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Sistemi per la gestione di database: MySQL ( )

BLOCK CALL Manuale utente Block Call Manuale Utente

DynDNS tra Client e server Linux Ubuntu (Client e server 8.04 LTS)

Ata_NiAg02. Modulo Gestione Agenti

Benvenuti. Luca Biffi, Supporto Tecnico Achab

Data warehouse in Oracle

PHP e Structured Query Language

PRODUZIONE PAGELLE IN FORMATO PDF

CUSTOMIZZAZIONE CALENDARIO CRM VTIGER 5.0.4

Il linguaggio SQL: query innestate

Cos è la FatturaPA. Come creare una fattura elettronica con Fattura Facile (creazione del file XML)

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Transcript:

Hosting specifico per Joomla! Relatori: Marco Mangione, Carlo Granisso Azienda: COLT Engine S.r.l. www.joomlahost.it Joomladay 19 gennaio 2008

Hosting specifico per Joomla! Joomla Joomla! is one of the most powerful Open Source Content Management Systems everything from Systems on the planet.. It is used all over the world for from simple websites to complex corporate applications. Joomla! is easy to install, simple to manage,, and reliable. Joomla Joomla! è uno dei più potenti e versatili sistemi OpenSource per la creazione di portali sul Pianeta. E E usato nel mondo per tutto: dal semplice sito web alle applicazioni corporate complesse. Joomla! È facile da installare, semplice da gestire e affidabile

Perché il suphp ci viene in aiuto Installare Joomla!! senza modificare i permessi a files e cartelle drwxr-x--- 3 carlo apache 4096 2008-01-13 18:42. drwx--x--x 7 carlo carlo 4096 2008-01-13 18:42.. -rwxr-xr-x 1 carlo carlo 561 2007-10-12 15:44 400.shtml -rwxr-xr-x 1 carlo carlo 654 2007-10-12 15:43 401.shtml -rwxr-xr-x 1 carlo carlo 647 2007-10-12 15:39 403.shtml -rwxr-xr-x 1 carlo carlo 515 2007-05-08 06:17 404.shtml -rwxr-xr-x 1 carlo carlo 526 2007-10-12 15:34 500.shtml drwxr-xr-x 2 carlo carlo 4096 2008-01-13 18:42 cgi-bin -rwxr-xr-x 1 carlo carlo 1513 2008-01-13 18:42 index.html -rwxr-xr-x 1 carlo carlo 13954 2006-09-16 02:11 logo.jpg

I PERMESSI: QUESTI SCONOSCIUTI 777? 755? 444? Per ciascun gruppo di permessi corrisponde una tipolgia di utente: USER, GROUP, OTHER. A ciascuna azione (Read ( identificazione: Read, Write, Execute) ) corrisponde un codice di 4 -> Read 2 -> Write 1 -> Execute Un permesso 777 777 corrisponde a: USER: 4 (Read ( Read) ) + 2 (Write ( Write) ) + 1 (Execute ( Execute) ) = 7 GROUP: 4 (Read ( Read) ) + 2 (Write ( Write) ) + 1 (Execute ( Execute) ) = 7 OTHER: 4 (Read ( Read) ) + 2 (Write ( Write) ) + 1 (Execute ( Execute) ) = 7

Differenze di installazione tra hosting compatibile e NON Hosting Joomla! NON compatibile Hosting Joomla! compatibile

PARAMETRI PHP.INI safe Mode OFF session.save_path SCRIVIBILE display_errors ON file_uploads ON magic_quotes_gpc ON magic_quotes_runtime OFF register_globals OFF output_buffering OFF session.auto_start OFF

UN ESEMPIO DI FILE.HTACCESS ########## Begin - Rewrite rules to block out some common exploits ## If you experience problems on your site block out the operations listed below ## This attempts to block the most common type of exploit `attempts` to Joomla! # # Block out any script trying to set a mosconfig value through the URL RewriteCond %{QUERY_STRING} mosconfig_[a-za-z_]{1,21}(= \%3D) [OR] # Block out any script trying to base64_encode crap to send via URL RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # Block out any script that includes a <script> tag in URL RewriteCond %{QUERY_STRING} (\< %3C).*script.*(\> %3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL RewriteCond %{QUERY_STRING} GLOBALS(= \[ \%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL RewriteCond %{QUERY_STRING} _REQUEST(= \[ \%[0-9A-Z]{0,2}) # Send all blocked request to homepage with 403 Forbidden error! RewriteRule ^(.*)$ index.php [F,L] # ########## End - Rewrite rules to block out some common exploits php_flag register_globals ON php_flag safe_mode Off

Il buon funzionamento di un sito non dipende solo dall hosting hosting ma anche dal webmaster. Se da un lato ci sono stati sforzi da parte di sviluppatori e hosters affinché l utilizzo di Joomla!! potesse essere il più semplice possibile, dall altra altra è necessario anche un intervento da parte dell utente in modo che il suo sito web possa continuare a funzionare in maniera ottimale.

Riparare e ottimizzare le tabelle Un sito web è come un automobile: ecco perché ogni tanto bisogna fargli il tagliando. phpmyadmin può aiutarci nei controlli con due funzioni: Riparazione delle tabelle Ottimizzazione dei dati Massimo rendimento con il minimo sforzo

ESEMPIO DI RIPARAZIONE

L ottimizzazione non basta a volte è necessario intervenire direttamente sulle queries o sugli indici delle tabelle. L utilizzo di indici duplicati rallenta le operazioni di inserimento e ricerca

DIFFERENZE SULLA TABELLA PRIMA. SELECT a. *, MAX( b.time ) AS lastpost FROM jos_sb_messages AS a LEFT JOIN jos_sb_messages AS b ON b.thread = a.thread WHERE a.parent = '0' AND a.catid = 6 AND a.hold = '0' GROUP BY id ORDER BY ordering DESC, lastpost DESC LIMIT 240,15; Con tabelle che hanno migliaia di records è opportuno analizzare le queries ricorrenti per verificare su quali campi vengono eseguite le operazioni di JOIN e WHERE DOPO I campi time e hold vengono indicizzati

E SULLE QUERIES PRIMA Una query non indicizzata può impiegare parecchi secondi alla sua prima esecuzione su tabelle non ottimizzate a dovere. Se la stessa viene eseguita una seconda volta impiega decisamente meno perché MySQL la trova nella cache. DOPO Eseguita su una tabella ottimizzata, anche la prima volta, ha un tempo d esecuzione inferiore: gli indici permettono un accesso diretto al record senza scansire interamente la tabella e riducendo i tempi di risposta.

NON E E SEMPRE COLPA DEL SERVER Errare humanum est, perseverare autem diabolicum In campo informatico la sicurezza al 100% NON ESISTE!

ANCHE GLI SVILUPPATORI COMMETTONO ERRORI Lo sviluppo di software non è mai esente da bugs nel codice: dimenticarsi di aggiornare un componente marcato come fallato è un grave errore che può compro- -mettere la stabilità del vostro sito e del server su cui è ospitato. http://help.joomla.org/component/option,com_easyfaq/task,view/id,186/itemid,268/

GLI AGGIORNAMENTI SONO UN MUST MUST Aggiornare i componenti è il dovere di ogni buon webmaster. Se è segnalato un bug NON corretto è bene disattivare i componenti interessati in attesa di un fix e/o cercarne uno alternativo

GLI HACKERS SFRUTTANO BUGS NON CORRETTI E possibile sfruttare falle di sicurezza per creare delle interrogazioni al database per aumentare il load del server o cancellare dati al sito. Joomla! è affidabile tenendo aggiornati componenti. suphp aiuta l analisi l e l identificazione l dello USER causa del problema

IDENTIFICARE IL PROBLEMA CON suphp Con suphp possiamo sapere quale USER sta causando problemi al server Senza suphp si vedono solo i processi in esecuzione con uno USER generico che non permette di individuarne la causa

UNA DIRETTA CONSEGUENZA DEI BUG NON CORRETTI: LO SPAM L utilizzo di componenti per i form mail che presentano bug di sicurezza è una delle cause maggiori di SPAM. Conseguenze: Inserimento dell IP del server nelle blacklist mondiali Inserimento dell IP del server nelle blacklist interne providers interne dei Soluzioni: Non esiste una vera è propria soluzione Tenere sempre aggiornato il componente o sostituirlo con un altro sicuro sicuro Inserire il codice grafico di conferma

PRESENZA NELLE BLACKLIST: NON E E SEMPRE LO SPAMMER A FAR DANNO Spesso l errato l utilizzo di mailinglist o newsletter induce i sistemi antispam a marcare l IP l del server. Soluzioni: Scaglionare l invio l delle mail a blocchi Inviare i blocchi mail impostando un intervallo temporale tra un gruppo e l altro l

DOVERI DEL PROVIDER Non basta aggiornare i componenti e Joomla! alle ultime versioni. Bisogna: Tenere aggiornati PHP E MySQL Applicare patch al S.O. Fornire il minor numero possibile di chance ai lamer affamati di siti web e server Dal 01 gennaio 2008 gli sviluppatori di PHP hanno ufficialmente abbandonato lo sviluppo e il supporto per le versioni 4.4.x e rilasciata la 4.4.8

Hosting specifico per Joomla! Relatori: Marco Mangione, Carlo Granisso Azienda: COLT Engine S.r.l. www.joomlahost.it Joomladay 19 gennaio 2008