Nincs kiírt szoftververzió
A teszt azt nézi, elárulja-e a Server vagy az X-Powered-By fejléc a szoftver pontos verzióját; ha igen, kapcsold ki a kiírását.
A webszerver és a PHP alapból közli a válaszfejlécben, mi fut az oldal mögött, sokszor a pontos verzióval együtt: nginx/1.24.0, Apache/2.4.58, PHP/8.3.6. Az MDN a Server fejlécről azt írja, hogy a finom részletességű szoftverinformáció megkönnyítheti az ismert sebezhetőségek felderítését. Egy támadó a verzióból azonnal látja, melyik ismert hibával próbálkozzon.
A verzió elrejtése nem pótolja a frissítést, de kivesz a kezéből egy könnyű támpontot.
Hogyan mérjük
Szekció neve “Hogyan mérjük”A riport letölti a kezdőoldalt (legfeljebb 5 átirányítást követ), és két fejlécet vizsgál meg ebben a sorrendben: Server, majd X-Powered-By. A teszt kétállapotú.
| Eredmény | Mikor |
|---|---|
| Hiba | valamelyik fejléc értékében van szám.szám alakú szövegrész (például 1.24, 2.4, 8.3) |
| Megfelelő | egyik fejlécben sincs ilyen, vagy a fejléc nincs a válaszban |
Példák a kód szerint:
- Hiba:
nginx/1.24.0,Apache/2.4.58 (Ubuntu),PHP/8.3.6. - Megfelelő:
nginx,Apache,cloudflare,PHP, és azApache/2is, mert ebben nincs pont a számok közt.
Amit a teszt nem csinál:
- Csak ezt a két fejlécet nézi. A HTML-ben lévő egyéb jelzéseket (például generátor-meta tag, nyilvános fájlok) nem.
- Csak a kezdőoldal válaszát vizsgálja.
- Az első találatnál megáll, és csak azt az egy fejlécet jelzi.
Hogyan javítsd
Szekció neve “Hogyan javítsd”A javítás attól függ, melyik fejléc bukott. A riport kártyája is ezt választja szét.
Server fejléc
Szekció neve “Server fejléc”nginx
Szekció neve “nginx”Az nginx http blokkjába:
server_tokens off;Az nginx dokumentációja szerint ez kikapcsolja a verzió kiírását a hibaoldalakon és a Server fejlécben. A fejléc ettől még Server: nginx marad.
Apache
Szekció neve “Apache”Az Apache fő konfigurációjába (.htaccess-ben nem működik):
ServerTokens ProdAz Apache dokumentációja szerint ekkor a szerver csak ennyit küld: Server: Apache. Ha LiteSpeed fut az Apache helyett: az Enterprise változat az Apache konfigurációját olvassa, az OpenLiteSpeed nem, ott a WebAdmin felületen állítsd be, vagy kérd a tárhelytől.
X-Powered-By fejléc
Szekció neve “X-Powered-By fejléc”PHP (php.ini)
Szekció neve “PHP (php.ini)”A php.ini fájlba (vagy kérd a tárhelytől):
expose_php = OffA php.net szerint ez a beállítás dönt arról, hogy a PHP közli-e a verzióját a HTTP-fejlécben (például X-Powered-By: PHP/5.3.7). Az érték csak a php.ini fájlban állítható.
nginx
Szekció neve “nginx”A location ~ \.php$ blokkba, a fastcgi_pass sor mellé:
fastcgi_hide_header X-Powered-By;proxy_pass mögött proxy_hide_header X-Powered-By; kell.
Apache (.htaccess)
Szekció neve “Apache (.htaccess)”<IfModule mod_headers.c> Header unset X-Powered-By Header always unset X-Powered-By</IfModule>Cloudflare
Szekció neve “Cloudflare”Cloudflare: Rules, Overview, Create rule, Response Header Transform Rule, művelet: válaszfejléc eltávolítása.
Remove: X-Powered-ByÚjraindítás vagy konfigurációbetöltés után a változás érvényesül (nginx: nginx -t, majd reload; a PHP-nél a PHP-FPM újraindítása kell).
Hogyan ellenőrizd
Szekció neve “Hogyan ellenőrizd”Futtasd újra a riportot. Parancssorban is megnézheted:
curl -sI "https://pelda.hu/?v=1" | grep -iE '^(server|x-powered-by):'A jó kimenetben nincs szám.szám a fejlécekben, például server: nginx, vagy a sor hiányzik.
Készült: