XAMPP e la sicurezza di default

XAMPP è un tool pensato per rendere semplice l’installazione di un webserver al fine di effettuare il deploy di applicazioni home-madepiù che altro a fini di testing, per cui è, almeno di default, un po’ carente in ambito di sicurezza.

In particolare, in un’installazione di base di XAMPP succede questo:

  • l’utente amministratore di MySQL (root) non ha una password;
  • il demone MySQL è accessibile da remoto;
  • ProFTPD utilizza la password “lampp” per l’utente “nobody”;
  • PhpMyAdmin è accessibile da remoto;
  • gli esempi sono accessibili da remoto;
  • MySQL e Apache vengono eseguiti utilizzando i permessi dello stesso utente di sistema (nobody).

Per porre rimedio a questi problemi è consigliabile avviare XAMPP, digitare a terminale

sudo /opt/lampp/lampp security

seguire attentamente le istruzioni, oppure fare click destro sull’icona del launcher, e selezionare “Configura i parametri di sicurezza per XAMPP”.

Per completezza, vi segnalo i vari files e le varie directory di interesse:

  • /opt/lampp/bin/: cartella di installazione di XAMPP;
  • /opt/lampp/bin/mysql: cartella per il monitoraggio MySQL;
  • /opt/lampp/htdocs/: Apache: cartella radice del server web;
  • /opt/lampp/etc/httpd.conf: file di configurazione di Apache;
  • /opt/lampp/etc/my.cnf: file di configurazione di MySQL.
  • /opt/lampp/etc/php.ini: file di configurazione di PHP.
  • /opt/lampp/etc/proftpd.conf: file di configurazione ProFTP.
  • /opt/lampp/phpmyadmin/config.inc.php: file di configurazione di phpMyAdmin

e i vari parametri da terminale per la gestione di XAMPP (che dovranno essere preceduti da sudo /opt/lampp/lampp):

  • start: avvia il servizio;
  • stop : arresta il servizio;
  • restart: arresta e riavvia il servizio;
  • startapache: avvia solo apache;
  • tartssl: avvia apache con il supporto SSL. Questo comando attiva il supporto SSL permanentemente, quindi al prossimo avvio di XAMPP, sarà attivo;
  • startmysql: avvia solo il database;
  • startftp: avvia il server ProFTP. Attraverso tale servizio sarà possibile caricare file nel server web (nome utente «nobody», password «lampp»). Tale comando attiva il supporto FTP in modo permanente, quindi al prossimo avvio di XAMPP, sarà attivo;
  • stopftp: arresta il server ProFTP. Questo comando disattiva il supporto FTP permanentemente, quindi al prossimo avvio di XAMPP, tale servizio non sarà attivo;
  • stopapache: arresta Apache;
  • stopssl: disattiva il supporto SSL per Apache. Al prossimo avvio, il supporto per SSL non sarà attivo;
  • stopmysql: arresta il servizio MySQL;
  • security: avvia un semplice programma per il controllo e la configurazione dei parametri di sicurezza.

Installare XAMPP server su Ubuntu

XAMPP, anche conosciuto come LAMPP, è il modo più semplice possibile per installare sul proprio sistema operativo un server web casalingo: è bene sottolineare che si sconsiglia l’utilizzo di XAMPP su grossi server di produzione a causa della semplicità (e della sicurezza relativamente scarsa) delle opzioni di default a meno che dopo l’installazione si metta mano ai file di configurazione per adeguare la sicurezza alle diverse esigenze. Quindi, se siete alle prime armi, eseguite i vostri test con XAMPP sul vostro PC locale ed allenatevi a modificare manualmente i file di configurazione, prima di usare XAMPP sul vostro webserver esposto al mondo.

All’interno di XAMPP, oltre al server web Apache (con e senza supporto ad SSL), potrete trovare il dbms MySQL e la relativa interfaccia web phpmyadmin, nonché il server FTP ProFTPd.

XAMPP è un tool multipiattaforma che può essere usato sia su Windows che su Linux che su Mac, a patto – ovviamente – di avere i privilegi amministrativi sulla macchina in cui intendete installarlo. Di seguito troverete una guida che vi insegnerà ad installare XAMPP su Ubuntu (14.04 nel mio caso, la procedura non cambia su altre versioni) ed a creare un file .desktop per semplificare le operazioni future. Continua a leggere