# Biztonsági fejlécek

> A négy HTTP-biztonsági fejléc beállítása, a szerveroldali mód, az ellenőrzés és a figyelmeztetések.

Biztonsági fejlécek nélkül a látogatók böngészője nem tudja, hogy blokkolnia kell-e a kockázatos viselkedést, például a nem engedélyezett szkriptek betöltését, vagy azt, hogy a webhelyet beágyazzák egy iFrame-be. Ez kattintáscsaláshoz (clickjacking), adatbeszúráshoz és fiókok megszerzéséhez vezethet. A bővítmény egyszerű felületet ad négy alapvető fejléc beállításához, amelyek a böngészőt szigorú szabályok betartására utasítják.

A négy fejléc:

- **X-Frame-Options**: védelem a kattintáscsalás ellen.
- **X-Content-Type-Options**: a rosszindulatú fájlok végrehajtásának megakadályozása.
- **Referrer-Policy**: a hivatkozási adatokban kiadott információ korlátozása.
- **Content-Security-Policy**: annak korlátozása, honnan tölthetők be erőforrások.

## Bekapcsolás

1. Nyisd meg a **Biztonság → Beállítások → Advanced** oldalt.
2. Keresd meg a **Biztonsági fejlécek** modult, és kapcsold be.
3. Bontsd ki a modult: öt új beállítás jelenik meg.
4. Állítsd be a kívánt értékeket, és mentsd a módosítást.

Az áttekintést a [Haladó beállítások](https://hub.hellowp.io/hu/plugins/ithemes-security-pro/halado/) fejezet adja. A fejlécek az **Advanced** részben vannak, mert hibás beállítás elronthatja a webhelyet.

## Szerverkonfiguráció használata

Alapesetben a bővítmény PHP-n keresztül állítja elő a fejléceket. Ez biztonságosabb azoknak, akik nem ismerik a szerverkonfigurációs fájlok módosításának következményeit. A **Szerverkonfiguráció használata** (Use server configuration) kapcsolóval a fejléceket közvetlenül a webszerver (Apache vagy NGINX) is kezelheti, ami gyorsabb.

Ha bekapcsolod:

1. A fejléceket a PHP már nem állítja elő.
2. A bővítmény a szükséges szabályokat az Apache `.htaccess` vagy az NGINX `nginx.conf` fájljába írja.

NGINX használatakor a mentés után kézzel újra kell töltened az NGINX-et, hogy a módosítás érvénybe lépjen. A konfigurációs fájlok tartalmát a **Beállítások → Eszközök → Server Config Rules** nézetben ellenőrizheted.

## A fejlécek beállításai

### X-Frame-Options

Azt szabályozza, hogy a webhelyed betölthető-e másik webhelyen egy iFrame-ben. A kattintáscsalás ellen véd: a támadó átlátszóan beágyazza az oldaladat egy rosszindulatú oldalba, és rávesz a látogatót, hogy észrevétlenül rákattintson egy gombra (például „Fiók törlése”), vagy megadjon adatokat. Három lehetőség van: beágyazás ugyanarról a forrásról, megadott forrásokról, vagy teljes tiltás.

### X-Content-Type-Options

Megakadályozza, hogy a böngésző a tartalom alapján találgassa a fájl típusát („sniffing”), így a szerver által küldött MIME-típust kell használnia. Így nem lehet ártalmatlan fájlnak álcázni rosszindulatú fájlt: ha egy képnek nevezett fájl szkript, nem fut le. A bevált beállítás a `nosniff`.

### Referrer-Policy

Azt szabályozza, mennyi hivatkozási adatot ad át a böngésző a következő webhelynek, ha a látogató kattint egy külső hivatkozásra. Megakadályozza, hogy az URL-ekben lévő érzékeny adat (visszaállítási token, belső felhasználónév, privát lekérdezés) kikerüljön. Több szabály közül választhatsz: például `no-referrer` (semmilyen adat nem megy át), vagy `strict-origin-when-cross-origin` (csak akkor küld adatot, ha a cél is biztonságos).

### Content-Security-Policy (CSP)

Erős védelmi réteg: korlátozza, mely tartományokról tölthet be a böngésző szkripteket, stílusokat, képeket és más tartalmat. Megakadályozza a webhelyek közötti szkriptelést (XSS) és az adatbeszúrást: ha a támadó mégis bejutna, a szigorú CSP miatt a külső rosszindulatú szkriptjei nem töltődnek be a látogatók böngészőjében.

A mezőt a bővítmény nem ellenőrzi, ezért a szabálynak szintaktikailag helyesnek kell lennie. Érdemes a szabályt egy erre való eszközzel (például a Report URI-val) előállítani, és csak utána beilleszteni.

## Figyelés és ellenőrzés

- **Automatikus ellenőrzés:** egy napi ütemezett feladat (cron) ellenőrzi a fejlécek állapotát.
- **Értesítés:** ha a fejlécek hiányoznak, hibásak vagy nincsenek jelen, értesítést kapsz.
- **Napló:** az ellenőrzés által talált hibák **Critical** (kritikus) problémaként kerülnek a naplóba, azonnali figyelmet kérnek.

## Fontos tudnivalók

- **Hibás beállítás kockázata:** a rossz fejléc (különösen a Content-Security-Policy) elronthatja a webhely működését: jogos szkripteket vagy stílusokat blokkolhat. Csak akkor használd, ha érted a beállításokat.
- **CSP nincs ellenőrizve:** a mezőbe írt szöveget a bővítmény nem validálja.
- **Proxy és WAF:** győződj meg róla, hogy a beállítás nem ütközik a használt proxyszolgáltatásokkal vagy webalkalmazás-tűzfalakkal.
- **Kezdj PHP-val:** először az alapértelmezett PHP-s módot használd, mert biztonságosabb, és hiba esetén könnyebb visszaállítani.
- **Figyeld a naplókat és az értesítéseket**, hogy lásd, a fejlécek jól működnek-e, és nem zavarják-e a látogatókat.
