Ricerca nel sito web

Come nascondere il numero di versione PHP nell'intestazione HTTP


La configurazione PHP, per impostazione predefinita, consente all'intestazione della risposta HTTP del server "X-Powered-By" di visualizzare la versione PHP installata su un server.

Per motivi di sicurezza del server (sebbene non sia una grave minaccia di cui preoccuparsi), si consiglia di disabilitare o nascondere queste informazioni agli aggressori che potrebbero prendere di mira il tuo server volendo sapere se stai utilizzando PHP o meno.

Supponendo che una particolare versione di PHP installata sul tuo server abbia buchi di sicurezza e, d'altro canto, gli aggressori ne vengano a conoscenza, diventerà molto più facile per loro sfruttare le vulnerabilità e ottenere l'accesso al server tramite script.

Nel mio articolo precedente, ho mostrato come nascondere il numero di versione di Apache, in cui hai visto come disattivare la versione installata di Apache. Ma se stai eseguendo PHP sul tuo server web Apache devi nascondere anche la versione installata di PHP, e questo è ciò che mostreremo in questo articolo.

Pertanto, in questo post, spiegheremo come nascondere o disattivare la visualizzazione del numero di versione PHP nell'intestazione della risposta HTTP del server.

Questa impostazione può essere configurata nel file di configurazione PHP caricato. Nel caso in cui non conosci la posizione di questo file di configurazione sul tuo server, esegui il comando seguente per trovarlo:

php -i | grep "Loaded Configuration File"
---------------- On CentOS/RHEL/Fedora ---------------- 
Loaded Configuration File => /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
Loaded Configuration File => /etc/php/7.0/cli/php.ini

Prima di apportare qualsiasi modifica al file di configurazione PHP, ti suggerisco di eseguire prima un backup del file di configurazione PHP in questo modo:

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo cp /etc/php.ini /etc/php.ini.orig

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo cp /etc/php/7.0/cli/php.ini  /etc/php/7.0/cli/php.ini.orig  

Quindi apri il file utilizzando il tuo editor preferito con privilegi di superutente in questo modo:

---------------- On CentOS/RHEL/Fedora ---------------- 
sudo vi /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
sudo vi /etc/php/7.0/cli/php.ini

Individua la parola chiave expose_php e imposta il suo valore su Off:

expose_php = off

Salvare il file ed uscire. Successivamente riavviare il server web come segue:

---------------- On SystemD ---------------- 
sudo systemctl restart httpd
sudo systemctl restart apache2 

---------------- On SysVInit ---------------- 
sudo service httpd restart
sudo service apache2 restart

Ultimo ma non meno importante, controlla se l'intestazione della risposta HTTP del server mostra ancora il numero di versione di PHP utilizzando il comando seguente.

lynx -head -mime_header http://localhost 
OR
lynx -head -mime_header http://server-address

dove le bandiere:

  1. -head – invia una richiesta HEAD per le intestazioni mime.
  2. -mime_header – stampa l'intestazione MIME di un documento recuperato insieme alla sua fonte.

Nota: assicurati di avere lynx, browser Web a riga di comando installato sul tuo sistema.

Questo è tutto! In questo articolo, abbiamo spiegato come nascondere il numero di versione di PHP nell'intestazione della risposta HTTP del server per proteggere un server web da possibili attacchi. Puoi aggiungere un'opinione a questo post o magari porre qualsiasi domanda correlata tramite il modulo di commento qui sotto.