Quali sono i pericoli di archiviazione dei file temporanei del server web nella cartella / tmp /?

9

Ho configurato il mio primo server nginx accessibile pubblicamente. L'ho configurato per usare una cartella / tmp / nginx per memorizzare i file temporanei. Questo include il corpo di richieste HTTP, file proxy ecc. La cartella / tmp si trova su una partizione esterna con privilegi nosuid, noexec e nodev. Questa configurazione è potenzialmente pericolosa?

    
posta Galmi 11.02.2012 - 21:34
fonte

2 risposte

5

La preoccupazione maggiore è che un utente malintenzionato possa utilizzare una directory temporanea per memorizzare il codice eseguibile, che è utile quando si sfrutta il sistema. Quasi sempre il / tmp ha privilegi molto aperti, tali che qualsiasi processo può scrivere su di essi (chmod 777). Ad esempio, ho sfruttato questa proprietà di / tmp quando aggirando AppArmor per ottenere l'esecuzione di codice remoto in PHP-Nuke utilizzando un File locale Include la vulnerabilità incatenata con un MySQL in outfile . I file caricati sono anche comunemente memorizzati in / tmp che in PHP può anche trasformare una vulnerabilità LFI in esecuzione di codice remoto .

Indipendentemente dalla piattaforma, ci sono due strategie di autorizzazione da adottare. Il razionale è che un utente malintenzionato userà la tua applicazione contro di te e lì è limitato da ciò che l'applicazione può fare.

  1. L'applicazione web non deve mai avere accesso in scrittura a qualsiasi file     o cartella all'interno della web root o qualsiasi eseguibile dell'applicazione     File. Un attaccante userà questo per introdurre una backdoor o     eseguire attacchi drive-by-download sui client.

  2. Un'applicazione web non deve mai essere in grado di eseguire codice che non lo è in un file all'interno della directory dell'applicazione. mai usato eval() , spesso è una scorciatoia sporca e porta al codice remoto esecuzione. In PHP puoi impostare la configurazione open_basedir opzione in modo che possa includere solo i file all'interno dell'applicazione directory. È anche possibile disabilitare l'accesso a eval () e altro funzioni php sfruttabili utilizzando indurito-php .

risposta data 11.02.2012 - 23:56
fonte
2

Potrebbe avere implicazioni sulla sicurezza se altri utenti sulla scatola hanno accesso alla cartella tmp della scatola.

Se altri hanno accesso possono leggere la cartella tmp, estrarre un id di sessione e poi dirottarlo.

La cartella tmp dovrebbe essere limitata al solo server web.

    
risposta data 11.02.2012 - 23:56
fonte

Leggi altre domande sui tag