Php.ini è il file di configurazione che controlla diversi aspetti del comportamento dell'interprete PHP. È un file di puro testo in cui le direttive (case sensitive, ovvero con differenza tra minuscole e maiuscole) sono inserite nella forma "direttiva = valore" ed ogni commento, invece, inizia con il carattere di punto e virgola (";").
Il file php.ini relativo a PHP 5 su Debian lo troviamo in /etc/php5/apache2/php.ini e sono richiesti privilegi di root per poterlo modificare. Per modificarlo, da shell come root, possiamo usare il comando:
mc -e /etc/php5/apache2/php.ini
avendo preventivamente installato il comodissimo software mc (Midnight Commander) tramite il comando:
apt-get install mc
come è uso fare per ogni altro pacchetto.
Se il file non si trovasse ove indicato, da shell dare, come root:
find / -name php.ini
al fine di reperirne il percorso assoluto e dunque procedere alla modifica.
Qui di seguito si mostreranno le descrizioni delle direttive del file php.ini più importanti ai nostri fini. Sotto il nome della direttiva viene indicato, tra parentesi quadre, tramite quali altri file le stesse direttive possono essere impostate.
Ci occuperemo principalmente della messa in sicurezza di un solo programma Web su server dedicato. Nel seguito si darà cenno alla "convivenza" di più programmi Web su uno stesso server (la complessità e le problematiche aumentano non poco).
Non tratterò della modalità safe mode, in quanto è possibile ottenere simili ma migliori risultati tramite configurazioni a gabbia chroot oppure di separazione fisica (o virtuale) delle risorse (filesystem/servizi) su più macchine. Questo lo tratteremo nell'ultimo capitolo.
In linea di massima, quando è abilitata la modalità sicura, PHP opera simulando l'utente cui appartiene lo script eseguito e non potrà accedere via filesystem a cartelle e file che non gli appartengano, fatto salvo il contenuto della cartella puntata dalla direttiva safe_mode_include_dir. I file salvati in questa cartella, infatti, potranno esser utilizzati dagli script PHP, tramite comandi di include, indipendentemente dall'effettivo proprietario (ma sempre dipendentemente dai loro permessi).
Infine, ogni chiamata di sistema potrà riguardare esclusivamente file nella safe_mode_exec_dir, ovvero gli unici file eseguibili che uno script PHP avrà il permesso di lanciare - tramite le sue istruzioni exec(), system() o passthru() - non potranno risiedere che nella cartella indicata dall'omonima direttiva.
Nmap: tecniche per evadere un firewallVediamo come sfuggire ai controlli di un firewall utilizzando Nmap. |
Sfruttare vulnerabilità XSS con BeEFUsiamo BeEF per automatizzare lo sfruttamento di vulnerabilità Cross... |
Trojan Flashback: rimuoverlo da Mac OS XIndividuiamo e rimuoviamo il trojan Flashback da Mac OS X |
Individuare vulnerabilità in Joomla con JoomScanUsiamo JoomScan per verificare la sicurezza di Joomla e la presenza... |
XSS: attacchi avanzatiApprofondiamo le vulnerabilità Cross Site Scripting analizzando... |
Guida SQL Injection con SqlmapScopriamo se le nostre applicazioni web sono vulnerabili alle SQL... |
Guida sicurezza applicazioni WebLe tecniche di attacco più comuni, i metodi per verificare la... |
Guida Sicurezza wirelessQuali sono i pericoli di sicurezza di una rete senza filo e quali... |
Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |