Kuinka piilottaa PHP-versionumero HTTP-otsikossa


PHP-määritykset sallivat oletusarvoisesti palvelimen HTTP-vastausotsikon X-Powered-By näyttää palvelimelle asennetun PHP-version.

Palvelimen tietoturvasyistä (vaikka se ei ole suuri uhka huolestuttavana) on suositeltavaa, että poistat nämä tiedot käytöstä tai piilotat nämä tiedot hyökkääjiltä, jotka saattavat kohdistaa palvelimeesi, koska he haluavat tietää, käytätkö PHP:tä vai ei.

Olettaen, että tietyssä palvelimellesi asennetussa PHP-versiossa on tietoturva-aukkoja, ja toisaalta hyökkääjät tietävät tämän, heidän on paljon helpompi hyödyntää haavoittuvuuksia ja päästä palvelimeen komentosarjojen avulla.

Edellisessä artikkelissani olen näyttänyt kuinka piilottaa apache-versionumero, jossa olet nähnyt kuinka sammuttaa apachen asennettu versio. Mutta jos käytät PHP:tä apache-verkkopalvelimessasi, sinun on piilotettava myös PHP:n asennettu versio, ja tämä on se, mitä aiomme näyttää tässä artikkelissa.

Siksi tässä viestissä selitämme kuinka piilottaa tai poistaa käytöstä PHP-versionumeron näyttäminen palvelimen HTTP-vastausotsikossa.

Tämä asetus voidaan määrittää ladatussa PHP-määritystiedostossa. Jos et tiedä tämän asetustiedoston sijaintia palvelimellasi, etsi se suorittamalla alla oleva komento:

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

Ennen kuin teet muutoksia PHP-määritystiedostoon, suosittelen, että teet ensin varmuuskopion PHP-asetustiedostosta seuraavasti:

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

Avaa sitten tiedosto suosikkieditorillasi superkäyttäjän oikeuksilla, kuten:

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

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

Etsi avainsana expose_php ja aseta sen arvoksi Pois:

expose_php = off

Tallenna tiedosto ja poistu. Käynnistä sen jälkeen verkkopalvelin uudelleen seuraavasti:

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

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

Viimeisenä mutta ei vähäisimpänä, tarkista, näkyykö palvelimen HTTP-vastausotsikko edelleen PHP-versionumerosi käyttämällä alla olevaa komentoa.

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

missä liput:

  1. -head – lähettää HEAD-pyynnön mime-otsikoille.
  2. -mime_header – tulostaa haetun asiakirjan MIME-otsikon yhdessä sen lähteen kanssa.

Huomaa: varmista, että järjestelmääsi on asennettu lynx-komentoriviselain.

Se siitä! Tässä artikkelissa selitimme, kuinka PHP-versionumero piilotetaan palvelimen HTTP-vastausotsikossa, jotta verkkopalvelin voidaan suojata mahdollisilta hyökkäyksiltä. Voit lisätä mielipiteesi tähän viestiin tai kenties kysyä asiaan liittyviä kysymyksiä alla olevan kommenttilomakkeen kautta.