Quanto è visibile il mio / var / www al mondo esterno?


8

Suppongo che questa sia più una domanda di mantenimento della casa, ma qui va.

Se creo un file di backup del mio index.htmlchiamato index.html.bak, è possibile che qualcuno dall'esterno che usa httpsul mio server apache2 sia in grado di elencare il contenuto della mia /var/wwwdirectory? Attualmente non conosco alcun metodo per farlo, ma ciò potrebbe essere dovuto alla mia mancanza di esperienza in questo settore. Devo archiviare i file che non devono essere visualizzati altrove?

Attualmente, l'unico modo possibile per pensare che qualcuno potrebbe scoprire il file è se ci fosse un link esplicito da qualche parte che punta al file. Quanto è visibile la mia directory web?

Risposte:


11

Per rispondere direttamente alle tue domande - puoi conservare tali file altrove o puoi configurare apache per negare l'accesso ad essi - negare l'accesso a * .bak è relativamente semplice.

Apache, a meno che non sia configurato per non farlo (come indicato da MH sopra), genererà e visualizzerà un elenco di directory per qualsiasi directory che non contiene un file indice - definito dalla direttiva DirectoryIndex, ma in genere index.html, index.htm, index.php e simili.

Su una nota più generale:

Puoi prendere in considerazione l'utilizzo di un sistema di controllo di revisione come SVN o git (o anche RCS) per mantenere le vecchie versioni E una cronologia delle modifiche delle tue pagine Web (inclusa la possibilità di vedere cosa è cambiato e quando e, soprattutto, la capacità di ripristinare una versione precedente)

Sia git che svn necessitano di un repository impostato altrove. RCS è abbastanza primitivo e di base ma non richiede alcuna configurazione, mantiene la cronologia delle revisioni nella stessa directory o in una sottodirectory ./RCS se presente. Un piccolo fastidio con RCS è che quando si effettua il check-in di un file, cambia le autorizzazioni in sola lettura, quindi è necessario ricontrollarlo prima di poterlo modificare di nuovo (o utilizzare ci -lper effettuare il check-in di un file e controllare immediatamente fuori).

Git IMO è probabilmente eccessivo per questo lavoro, SVN è vicino all'ideale in termini di complessità vs capacità di gestire la cronologia delle revisioni di un set di pagine HTML modificate a mano e RCS è arcaico ma ancora utile. Con RCS è possibile modificare i file solo direttamente in / var / www, il che significa che le modifiche sono "attive" non appena si salva il file. Con svn o git puoi estrarre una copia locale in, ad esempio, la tua home directory sul tuo computer desktop, modificare i file, archiviare le modifiche e quindi estrarre gli aggiornamenti in / var / www sul server quando è finito. È inoltre possibile effettuare il checkout delle modifiche a un server di gestione temporanea prima del test, prima di verificarle sul server di produzione.

Puoi quindi negare l'accesso alle sottodirectory .svn /, .git /, RCS / etc con apache - ad es. Vedi /programming/398008/deny-access-to-svn-folders-on-apache

Naturalmente, l'uso efficace del controllo di revisione richiederà un po 'di disciplina. dovrai prendere l'abitudine di controllare le modifiche ogni volta che le apporti - ne vale la pena.


15

Se si specifica Options -Indexesper Directoryin questione, Apache non genererà un elenco di directory. Tuttavia, se qualcuno indovina il nome del file, potrebbe comunque accedervi se il sistema operativo consente al server Web di accedere al file.


5
Sì. Se hai qualcosa che non desideri venga pubblicato sul Web, non tenerlo dentro /var/www.
jscott,

Questa è la risposta migliore per quelle tl;drpersone con la risposta di Craig, sebbene quella di Craig sia più approfondita.
tacotuesday,

@nonak In alto, vota entrambi :)
jscott il

Sul tema dell'ipotesi, indovina quanto tempo ci vorrebbe per trovare index.html.bak o index.bak.html, ecc. Tutto ciò che è ovvio non ha davvero alcuna possibilità.
John Gardeniers,

1
I computer fanno le ipotesi in questi giorni. Quindi non fare affidamento sull'oscurità per proteggere qualcosa di importante. A proposito, ho votato a favore dell'altra risposta. :)
Michael Hampton,

2

Se hai l'elenco delle directory abilitato, quel file è sicuramente visibile. Anche se l'elenco delle directory non è abilitato, non è consigliabile salvare un file che non si desidera vedere in / var / www perché è stato creato per documenti pubblici.


0

Non vedo alcun punto nel mantenere il file di backup /var/www.

I backup sono fatti per riparare rapidamente le cose quando le rovini. Ti suggerirei di creare una nuova directory di backup, in qualche unità principale ( inaccessibile al mondo esterno ), e di archiviare lì i tuoi backup.

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.