Spesso, sì, questo è il caso.
A seconda del meccanismo per la separazione dell'account in uso, i malintenzionati potrebbero essere in grado di eludere la protezione fornita dall'host e attaccare altri siti. La sicurezza in quest'area è in genere abbastanza scarsa che la maggior parte degli attaccanti tenterà movimenti laterali tra i siti sullo stesso server. Funziona abbastanza spesso per farne parte della loro strategia. Ecco alcuni dei livelli di isolamento in uso oggi e la protezione che forniscono. Assumerò apache, poiché è ciò che è comune. Sebbene questi stessi principi si applichino con altri software server.
Impostazione predefinita
Se non vengono apportate personalizzazioni di sicurezza, il server Web eseguirà un singolo utente ("apache" o "nessuno" o "www-data") condiviso tra tutti i siti, mentre i file saranno di proprietà di specifici utenti FTP. L'intenzione è di limitare il tipo di accesso pubblico (apache) assicurandosi che non abbia accesso in scrittura ai file. Sfortunatamente, questo accordo non è compatibile con la maggior parte delle attuali applicazioni Web che si aspettano che gli utenti possano caricare file, incluso il codice eseguibile, consentendo all'aggiornamento automatico, all'installazione di estensioni e ad altre attività amministrative eseguite attraverso il sito. / p>
In questa configurazione, il codice in esecuzione su qualsiasi sito ha lo stesso accesso ai file di un altro sito come quello stesso sito. Questa configurazione porta facilmente a compromessi per molte applicazioni Web.
SuExec / FastCGI
Con SuExec, le applicazioni CGI vengono eseguite con le autorizzazioni del proprietario del sito anziché utilizzare le autorizzazioni proprie di Apache. suPHP e suhosin estendono questo comportamento anche a PHP (che tradizionalmente non funziona come eseguibile CGI). Anche FastCGI, incluso fcgid, fornisce questo stesso comportamento.
Sotto questo regime, i file sono in genere ancora leggibili dall'account utente di Apache, ma solo scrivibili dall'account del proprietario del sito. Questo limita la maggior parte dei tipi di spostamenti laterali, ma consente comunque un numero limitato di attacchi.
Uno di questi attacchi che ho osservato è tale che l'autore dell'attacco crea collegamenti simbolici ai file di configurazione per altri siti sul server, in questo modo:
/home/user1/public_html/foo.txt -> /home/user2/public_html/wp-config.php
L'utente quindi esplora direttamente quel file e la configurazione che contiene (comprese le password del database) viene visualizzata all'utente malintenzionato.
RUID2
Un nuovo modulo sperimentale di Apache chiamato mod_ruid2 di Kees Monshouwer esegue il processo di apache stesso sotto le autorizzazioni dell'utente. Questo modulo è ora disponibile sui server cPanel, il che significa che è ampiamente distribuito dagli ambienti di hosting condiviso. Ciò protegge contro l'attacco descritto in precedenza, ma non protegge da autorizzazioni e gestione improprie, vulnerabilità di escalation dei privilegi e altri problemi a livello di sistema. Inoltre, non è compatibile con numerose funzionalità ed estensioni comuni.
Impostazioni di isolamento personalizzate
È possibile eseguire il server in un regime di isolamento utilizzando chroot e funzionalità simili (come cgroup) per offrire isolamento e sicurezza aggiuntivi senza le spese della virtualizzazione. Questa opzione non è stata tradizionalmente portata avanti molto lontano, però.
Virtualizzazione
Senza dare a ciascun utente il proprio server, dare a ciascun utente il proprio server virtuale è la cosa migliore. Questo è il nucleo dell'hosting "cloud" e offre una sicurezza relativamente strong, ma a costi piuttosto elevati.