Hvordan skjule PHP-versjonsnummer i HTTP-header


PHP-konfigurasjonen lar som standard serverens HTTP-svarhode «X-Powered-By» vise PHP-versjonen installert på en server.

Av hensyn til serversikkerhet (men ikke en stor trussel å bekymre seg for), anbefales det at du deaktiverer eller skjuler denne informasjonen for angripere som kan være rettet mot serveren din ved å vite om du kjører PHP eller ikke.

Forutsatt at en bestemt versjon av PHP installert på serveren din har sikkerhetshull, og på den andre siden får angripere vite dette, vil det bli mye lettere for dem å utnytte sårbarheter og få tilgang til serveren gjennom skript.

I min forrige artikkel har jeg vist hvordan du skjuler apache-versjonsnummer, hvor du har sett hvordan du slår av apache-installert versjon. Men hvis du kjører PHP på apache-webserveren din, må du skjule PHP-installert versjon også, og dette er hva vi skal vise i denne artikkelen.

Derfor vil vi i dette innlegget forklare hvordan du skjuler eller slår av visning av PHP-versjonsnummer i serverens HTTP-svarhode.

Denne innstillingen kan konfigureres i den innlastede PHP-konfigurasjonsfilen. I tilfelle du ikke vet plasseringen til denne konfigurasjonsfilen på serveren din, kjør kommandoen nedenfor for å finne den:

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

Før du gjør noen endringer i PHP-konfigurasjonsfilen, foreslår jeg at du først tar en sikkerhetskopi av PHP-konfigurasjonsfilen slik:

---------------- 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  

Åpne deretter filen ved å bruke din favorittredigerer med superbrukerprivilegier som slik:

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

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

Finn søkeordet expose_php og sett verdien til Av:

expose_php = off

Lagre filen og avslutt. Etterpå starter du webserveren på nytt som følger:

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

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

Sist men ikke minst, sjekk om serverens HTTP-svarhode fortsatt viser PHP-versjonsnummeret ditt ved å bruke kommandoen nedenfor.

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

hvor flaggene:

  1. -head – sender en HEAD-forespørsel for mime-hodene.
  2. -mime_header – skriver ut MIME-overskriften til et hentet dokument sammen med kilden.

Merk: Sørg for at du har Lynx – kommandolinjenettleser installert på systemet ditt.

Det er det! I denne artikkelen forklarte vi hvordan du skjuler PHP-versjonsnummeret i serverens HTTP-svarhode for å sikre en webserver mot mulige angrep. Du kan legge til en mening om dette innlegget eller kanskje stille et relatert spørsmål via kommentarskjemaet nedenfor.