A Server-fejléc kitettség az az állapot, amikor a webszerver a HTTP-válaszban elárulja a saját nevét és verziószámát, tipikusan a Server és az X-Powered-By fejlécben. Ilyenkor bárki, aki egy kérést küld az oldalra, megtudja, hogy Apache/2.4.29 fut rajta PHP/7.4.3 alatt.
Hogyan működik
Minden HTTP-válasz fejlécekkel kezdődik. A Server fejléc a webszerver szoftverét azonosítja, az X-Powered-By pedig a futtatókörnyezetet, leggyakrabban a PHP-t. Mindkettő alapértelmezetten be van kapcsolva a legtöbb telepítésnél.
A verziószám a kritikus rész. A puszta Server: nginx önmagában kevés információ. A Server: Apache/2.4.29 (Ubuntu) viszont már egy pontos célpont: ehhez a verzióhoz nyilvános CVE-lista tartozik, és percek alatt kiderül, mely sebezhetőségek érintik.
Miért érdekli ez a támadót
Egy automatizált szkennelés első lépése a felderítés. A bot végigmegy sok ezer domainen, elmenti a fejléceket, és kiszűri azokat, ahol a verzió egyezik egy ismert sebezhetőséggel. Nem kell gondolkodnia rajta, csak illesztenie egy listához.
Ez nem jelenti azt, hogy a fejléc elrejtése megvéd. A verziófrissítés a valódi védelem, a fejléc-elrejtés csak zaj a támadó felderítésében. De a zaj is számít: a tömeges, alacsony erőfeszítésű szkennelések nagy részét pont az ilyen szűrés vezérli.
Mit néz ebből a riport
A riport egy alacsony hatású megállapításként jelzi, ha a Server vagy az X-Powered-By fejléc verziószámot tartalmaz. A hatókör itt környezet és hoszting, nem kód: a szerverkonfigurációban javítod, nem a CMS-ben.
Röviden: a verziószám a fejlécben ingyen ad felderítési információt a támadónak, és semmit nem ad cserébe neked.
Miért fontos
Biztonsági szempont
A verziószám felderítési információ. Egy X-Powered-By: PHP/7.4.3 fejléc megmondja, hogy a futtatókörnyezet évek óta nem kap biztonsági javítást. Ez a bot számára azt jelenti: érdemes itt próbálkozni.
A tömeges szkennelés olcsó és folyamatos. A riportokban rendszeresen látjuk, hogy a feltört oldalak nagy részén nem célzott támadás volt, hanem egy automata talált rá egy ismert résre.
SEO és AI szempont
Közvetlen rangsorolási hatása nincs. A Google nem bünteti a Server fejlécet, a generatív keresők pedig nem is látják. A hatás közvetett: ha az oldalt feltörik, az indexbe spam-oldalak kerülnek, és a márkád hitelessége sérül.
Üzleti szempont
Ez a legolcsóbb biztonsági javítás, amit egy oldalon el lehet végezni. Nincs kockázata, nincs mellékhatása, nem befolyásol semmilyen funkciót. Ha egy hoszting-szolgáltató ezt sem állítja be, az jelzés a többi beállításának a színvonaláról is.
Hogyan javítod
WordPress
A PHP X-Powered-By fejlécét PHP-szinten kell kikapcsolni:
- Nyisd meg a
php.ini fájlt a szerveren.
- Állítsd be:
expose_php = Off.
- Indítsd újra a PHP-FPM-et vagy a webszervert.
Ha nincs php.ini-hozzáférésed, a .htaccess-be is teheted: Header unset X-Powered-By. Ez csak akkor működik, ha a mod_headers modul aktív.
A WordPress emellett kiírja a saját verzióját egy <meta name="generator"> tagbe. Ezt a remove_action('wp_head', 'wp_generator'); sorral tudod eltávolítani a téma functions.php fájljából.
Shopify
Nincs teendőd és nincs is lehetőséged. A platform kezeli a szerverkonfigurációt, a fejlécek nem szerkeszthetők. Ez a megállapítás zárt platformon nem releváns.
Unas
Szintén szolgáltatói hatáskör. Az admin felületen nincs szerverfejléc-beállítás. Ha a riportban mégis megjelenik verziószám, jelezd a támogatásnak, de ne várj gyors változást.
Shoprenter
Ugyanaz a helyzet: a hosztingot a szolgáltató üzemelteti. A te felelősséged inkább az egyedi kód és a fejléc-beállítások azon része, amit a felület enged.
Egyedi fejlesztés
Apache esetén a fő konfigurációban (nem .htaccess-ben):
ServerTokens Prod - csak a terméknév marad.
ServerSignature Off - eltűnik az aláírás a hibaoldalakról.
apachectl configtest, majd újraindítás.
nginx esetén a http blokkban:
server_tokens off; - eltűnik a verziószám.
- Ha a terméknevet is el akarod tüntetni, arra a
headers-more modul kell.
nginx -t, majd nginx -s reload.
Node/Express esetén: app.disable('x-powered-by'); vagy használd a helmet csomagot.
A javítás után ellenőrizd curl -sI paranccsal, hogy tényleg eltűnt-e. A magyar KKV-oldalak többségén ez a beállítás alapból nincs megcsinálva, mert a sablonos hoszting-telepítések nem foglalkoznak vele.
Technikai példa
Így néz ki egy kitett válasz. A curl -sI csak a fejléceket kéri le:
$ curl -sI https://pelda.hu
HTTP/2 200
server: Apache/2.4.29 (Ubuntu)
x-powered-by: PHP/7.4.3
content-type: text/html; charset=UTF-8
Két sor, két pontos célpont. A verzió alapján egy szkennelő azonnal tudja, hogy mely ismert hibák jöhetnek szóba.
Ugyanez a válasz megfelelő konfiguráció után, biztonsági fejlécekkel kiegészítve:
HTTP/2 200
server: nginx
content-type: text/html; charset=UTF-8
strict-transport-security: max-age=31536000; includeSubDomains
x-content-type-options: nosniff
referrer-policy: strict-origin-when-cross-origin
Az X-Powered-By eltűnt, a Server nem ad verziót. A HSTS és az X-Content-Type-Options pedig valódi védelmet ad, nem csak elrejt valamit.
nginx konfigurációban a teljes beállítás így néz ki:
http {
server_tokens off;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
}
Az always kapcsoló fontos: e nélkül a fejléc hibakódoknál (404, 500) nem kerül a válaszba.
Gyakori kérdések
Tényleg biztonsági kockázat ez, vagy csak elmélet?
Önmagában nem sebezhetőség, ezért kapja az alacsony hatást. A kockázat közvetett: felderítési információt ad az automatizált szkennelőknek, amelyek verzió alapján szűrik a célpontokat. A javítás olcsó, ezért nincs értelme kihagyni.
Ha elrejtem a verziót, biztonságban vagyok?
Nem. Ez csak annyit ér, hogy a támadónak egy lépéssel többet kell dolgoznia. A valódi védelem a naprakész szoftververzió, a rendszeres frissítés és a
biztonsági fejlécek beállítása. A fejléc-elrejtés ezek kiegészítője, nem pótléka.
Rontja a SEO-t, ha kiírom a verziót?
Nem, közvetlen rangsorolási hatása nincs. A Google nem veszi figyelembe a Server fejlécet. A közvetett hatás viszont valós: egy feltört oldal indexeléssel és bizalommal kapcsolatos károkat szenved.
Shopify-on vagy Unason mit tudok tenni?
Gyakorlatilag semmit, és ez rendben van. Zárt platformon a szolgáltató felel a szerverkonfigurációért. Ha a riport mégis jelzi, tekintsd tájékoztatásnak, ne feladatnak.
Miért látok még mindig verziószámot a javítás után?
Három tipikus ok van. Böngésző- vagy CDN-cache adja vissza a régi választ, a konfiguráció nem a megfelelő blokkba került, vagy egy alkalmazásszintű keretrendszer írja ki a fejlécet. Ellenőrizd curl -sI paranccsal, cache-megkerüléssel.