Best practice per server Web: struttura delle directory e sicurezza


15

Vorrei utilizzare il server Ubuntu come web server, ma voglio assicurarmi di seguire le migliori pratiche per l'impostazione delle cose. Voglio assicurarmi di impostare la directory nella posizione migliore e capire come configurare la sicurezza appropriata su quella cartella. Vorrei essere in grado di eseguire l'FTP sul server e inviare i file nelle cartelle Web, quindi vorrei capire come garantire che il mio utente PureFTPd possa manipolare file / directory all'interno delle cartelle Web.


Ho trovato questa risposta su serverfault.com e l'ho trovata molto utile. Molti dei commenti sono ottimi suggerimenti per affrontare questo argomento.
MystaMax,

Risposte:


5

Quello che ho fatto sul mio server in modo che il mio utente potesse sftp direttamente le cose /var/wwwè:

sudo chgrp -R www-data /var/www
sudo usermod -aG www-data $(whoami)
sudo chmod -R 775 /var/www/*
sudo chmod 2775 /var/www

Questo metterà il tuo utente in un gruppo che ha la proprietà del gruppo su / var / www e tutte le sue directory figlio, imposta tutto in / var / www in modo ricorsivo per consentire al tuo gruppo l'accesso in scrittura e imposta il bit setgid nella directory / var / www in modo che tutti i file creati successivamente in / var / www mantengano la stessa proprietà del gruppo anziché avere il gruppo impostato sul gruppo principale del creatore.


Questo sarebbe un buon metodo, ma solo se si crea un gruppo diverso da quello in www-datacui è già in esecuzione il server Web stesso. Di conseguenza, qualsiasi compromesso degli script del server Web significa che i file in questione /var/wwwpotrebbero essere modificati. Basta passare www-dataa qualcosa di simile web-users(e creare prima quel gruppo, con sudo addgroup web-users).
Kees Cook,

2

Questa è una domanda molto generica.

Ovviamente, non vuoi eseguire il tuo server web come root. Tuttavia, l'installazione di Ubuntu lo fa già nel modo giusto.

Inoltre, sul sito Web di Apache sono riportati alcuni suggerimenti su come configurare correttamente la tua directory .

Per quanto riguarda ftp. Vuoi assicurarti di utilizzare un server ftp sicuro che non invii i tuoi nomi utente e password in chiaro sulla rete. Le pagine di aiuto di Ubuntu hanno un tutorial su come configurare un tale server ftp .


Apprezzo l'informazione, mi rendo conto che è generale, speravo che ci potesse essere una visione piuttosto generale delle migliori pratiche per impostare le cose.
JPrescottSanders,

0

Quando ho solo un server Ubuntu, con più utenti che usano il server come web server, scarto la /var/wwwdirectory perché per me - /var/wwwè dove metti i file web a livello globale. Aggiornamento la /etc/skeldirectory e aggiungo una publice privatecartella con un collegamento simbolico www -> publice aggiorno tutti i miei host virtuali DocumentRoots a cui puntare /home/<user>/public.

Non vedo /var/wwwcome il posto dove mettere più cartelle e file a livello di utente. Ecco a cosa /home/è progettata la directory! Mantiene puliti i percorsi e le strutture delle directory.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.