Ho installato un progetto multi-sito su un server VPS con WHM e cPanel.
Codebase è installato su una cartella creata dall'utente chiamata sites
all'interno della directory home dell'account utente cPanel, con un sottodominio master.example.com che funge da sito principale.
home/username/sites/master/public_html
Ho quindi creato siti slave, che consistono in collegamenti simbolici all'installazione master, ma ognuno di essi è configurato per utilizzare il proprio database. Stanno usando lo stesso codice, dal mio padrone.
Ci sono sottodomini aggiuntivi nella mia directory dei siti di cui sopra, ognuno con la sua stessa dir, come:
home/username/sites/sub1/public_html
home/username/sites/sub2/public_html
Oltre al mio dominio principale, che si trova in:
home/username/public_html
Come detto, tutti i siti slave sono praticamente collegamenti simbolici ai file della mia singola istanza webapp del mio sito principale.
A causa di alcuni problemi con il Software Server che non hanno potuto "capire" la configurazione di cui sopra, il provider di hosting mi ha informato che collegando la mia cartella public_html
ai file che risiedono fuori di esso e all'interno di un'altra cartella della mia casa, si rompe il compatibilità con quel software, ed inoltre è estremamente insicuro e non supportato, in quanto apre l'intero server alle vulnerabilità, perché questi link simbolici possono essere utilizzati per ottenere l'accesso all'intero filesystem di root.
Quindi, ora ho bisogno di alcuni dati da parte del settore della sicurezza.
-
La configurazione sopra è male per natura e qualcosa che non dovrei mai fare in nessuna condizione?
-
Perché è sbagliato collegare il mio public_html a un file di una cartella che si trova all'esterno di esso e in particolare alla cartella che ho menzionato sopra?
-
In che modo i suddetti collegamenti simbolici potrebbero essere utilizzati contro di me e assumere il controllo del filesystem di root?
-
Quali sono i requisiti extra che dovrei prendere in considerazione, per fare in modo che l'impostazione sopra riportata funzioni senza essere precaria?