Quanto di un problema di sicurezza è il proc_open () di PHP su un host condiviso

3

La mia azienda sta sviluppando un sistema PHP che deve interagire con Git sul server, che al momento può essere fatto più comodamente consentendo chiamate esterne tramite proc_open() , system() e simili . Il problema è che i nostri client utilizzano in genere host condivisi e tali host in genere non consentono queste funzioni PHP. (Beh, in genere non hanno Git installato sui loro server, ma questo è un altro problema: concentriamoci su proc_open() ora.)

Mi piacerebbe capire appieno quali sono le implicazioni sulla sicurezza di proc_open() consentita e in quali circostanze.

Ecco quello che ho raccolto finora:

  • Se l'host utilizza Apache + mod_php consentendo che proc_open () sia un no-go perché lo script PHP e a sua volta il comando della shell eseguito viene eseguito con lo stesso utente ( Apache) per tutti gli utenti sull'host condiviso. Questo è ovviamente troppo rischioso (un utente potrebbe accedere ai file degli altri).
  • Se l'host utilizza CGI, FastCGI, PHP-FPM o simili e se le autorizzazioni file sono impostate correttamente , consentendo a proc_open () dovrebbe essere relativamente multa . Il ragionamento qui è che lo script PHP stesso può già fare un sacco di cose, quindi aggiungere la possibilità di eseguire comandi esterni (con le dovute autorizzazioni) non fa molta differenza. (Rende alcune differenze in quanto rende l'area della superficie più grande, ma la differenza non dovrebbe essere enorme.)

La domanda è, è corretto sopra? O ci sono esempi di attacchi che sarebbero possibili solo tramite proc_open() e non altrimenti? Grazie.

    
posta Borek Bernard 25.06.2015 - 15:00
fonte

1 risposta

1

È corretto che proc_open possa essere pericoloso, se e solo se c'è un input dell'utente che lo attraversa.

Per influire su altri utenti / siti Web sul server, al giorno d'oggi è a basso rischio dal momento che viene utilizzato cagefs e la sicurezza del kernel viene aggiornata sui server. Quindi non preoccuparti degli altri utenti: è il lavoro della società di hosting.

    
risposta data 13.07.2015 - 22:53
fonte

Leggi altre domande sui tag