SSL Labs SSL Server Test: HTTPS-beállítások ellenőrzése
Az SSL Labs ingyenes tesztje megmutatja, jól van-e beállítva egy oldal tanúsítványa, protokolljai és HSTS-e, a WordPress-specifikus vegyes tartalmat viszont külön kell keresni.
Az SSL Labs SSL Server Test egy nyilvános szerver HTTPS-beállítását vizsgálja: a tanúsítványt, a tanúsítványláncot, a támogatott protokollokat és titkosításokat. Az eredmény egy osztályzat (A+ és F között) és részletes jelentés. WordPress-oldalnál új tárhely, új tanúsítvány vagy átállás HTTPS-re után érdemes lefuttatni.
A teszt a szervert méri, nem a WordPress-tartalmat. Hogy az oldal elemei is biztonságosan töltődnek-e be, azt külön kell ellenőrizni (lásd lent).
Teszt indítása
Szekció neve “Teszt indítása”- Nyisd meg: ssllabs.com/ssltest.
- A Hostname mezőbe írd be az oldal gépnevét, például
example.com(protokoll nélkül). - A Do not show the results on the boards jelölőnégyzetet pipáld be, ha nem akarod, hogy az eredmény megjelenjen a nyilvános listán. Éles ügyfél-oldalnál ezt érdemes bejelölni.
- Indítsd el a tesztet, és várd meg a jelentést.
Az osztályzat jelentése
Szekció neve “Az osztályzat jelentése”Az SSL Labs Server Rating Guide szerint a pontszám három részből áll: protokoll 30%, kulcscsere 30%, titkosítás erőssége 40%. A betűjegy ebből jön: A 80 ponttól, B 65-től, C 50-től, D 35-től, E 20-tól, F 20 alatt.
| Jegy | Jelentése |
|---|---|
| A+ | Jó beállítás, nincs figyelmeztetés, és a HSTS (legalább 6 hónapos max-age) be van kapcsolva. |
| A | Jó beállítás. |
| A- | Alapvetően jó, de van figyelmeztetés, például hiányzó TLS 1.3 vagy érvénytelen HSTS. |
| B, C | Gyengeség miatt levont jegy. |
| D, E, F | Súlyos hiba. Az F jelent például SSL 2.0-t, Heartbleedet vagy 1024 bitnél rövidebb kulcsot. |
| T | A tanúsítvány nem megbízható (például önaláírt, vagy nem megbízható hitelesítésszolgáltatótól). |
| M | A tanúsítványban lévő név nem egyezik a teszteltel. |
Néhány gyakori levonás az útmutatóból:
- B-re korlátozza: TLS 1.0 vagy 1.1 támogatása, SSL 3, RC4, hiányos tanúsítványlánc, 2048 bitnél rövidebb DH-paraméter.
- C-re korlátozza: TLS 1.2 hiánya, POODLE.
- F: SSL 2.0, nem biztonságos újratárgyalás, Heartbleed.
- Lejárt, visszavont vagy önaláírt tanúsítványnál a tanúsítvány pontszáma nulla.
A jelentés az egyes hibákhoz kiírja az okot is, ezért az útmutatóban nem kell keresned.
Tanúsítványlánc hibái
Szekció neve “Tanúsítványlánc hibái”A jelentés a tanúsítványláncot is megmutatja. A hiányos lánc a rating guide szerint B-re korlátoz. Ilyenkor a böngészők egy része működik (képes pótolni a hiányzó tagot), mások és az API-kliensek hibát adnak.
Teendő: a szerveren a tanúsítványfájl mellé a hitelesítésszolgáltató köztes (intermediate) tanúsítványát is be kell állítani. A pontos lépés a webszerver és a tárhely típusától függ, ezt kérdezd a tárhelyszolgáltatótól.
Az M jegy általában azt jelenti, hogy a tanúsítvány másik gépnévre szól (például www nélküli névre, de a www-t teszteled). A T lejárt, önaláírt vagy nem megbízható kibocsátó esetén jön.
Protokollok
Szekció neve “Protokollok”Az útmutató szerint a régi protokollok pontszáma alacsonyabb: SSL 2.0 0%, SSL 3.0 80%, TLS 1.0 90%, TLS 1.1 95%, TLS 1.2 és 1.3 100%. A cél: csak TLS 1.2 és 1.3 legyen bekapcsolva. A TLS 1.0 és 1.1 támogatása B-re korlátoz, a TLS 1.3 hiánya A- jegyet ad.
A protokollokat a webszerver vagy a tárhely konfigurálja, WordPressből nem állítható.
A HSTS (Strict-Transport-Security fejléc) azt mondja a böngészőnek, hogy az oldalt csak HTTPS-en keresse. Az A+ jegyhez legalább 6 hónapos max-age kell. Példa az MDN dokumentációjából:
Strict-Transport-Security: max-age=31536000; includeSubDomainsÓvatosan kapcsold be:
- Ha a tanúsítvány hibás, a böngésző nem engedi továbblépni a felhasználót.
- Az
includeSubDomainsminden aldomaint érint: ha valamelyik csak HTTP-n megy, elérhetetlen lesz. - Amíg a
max-agele nem jár, a böngésző emlékszik rá. Apreloadbeállítása hosszú távú vállalás, a listáról való kikerülés nem csak rajtad múlik.
Előbb teszteld rövid max-age-dzsel, és csak akkor növeld, ha minden aldomain HTTPS-en működik.
WordPress: vegyes tartalom
Szekció neve “WordPress: vegyes tartalom”Az SSL Labs nem látja a WordPress-oldal tartalmát, ezért a vegyes tartalmat (mixed content) nem jelzi. Ez az, amikor HTTPS-en betöltött oldal HTTP-n kér le képet, scriptet vagy stílust. Az MDN szerint a böngészők a szkriptet, stíluslapot, iframe-et és fetch() hívást blokkolják, a képet, hangot, videót HTTPS-re írják át, ha lehet.
Keresés:
- Nyisd meg az oldalt a böngészőben HTTPS-en.
- Nyisd meg a fejlesztői eszközöket, és nézd a Console fület. Az MDN szerint a konzol figyelmeztet, ha vegyes tartalmat blokkolt vagy átírt.
- Menj végig a fő oldaltípusokon (főoldal, bejegyzés, termékoldal), mert a hibás hivatkozás sokszor egy konkrét tartalomban van.
Javítás:
- A Beállítások > Általános (Settings > General) oldalon a WordPress cím (URL) és a Webhely címe (URL) (angolul WordPress Address (URL), Site Address (URL)) mindkettő
https://-sel kezdődjön, per jel nélkül a végén. - Ha a
wp-config.php-banWP_HOMEésWP_SITEURLkonstans van, ott javítsd (ilyenkor a konstans felülírja az adatbázisbeli értéket):
define( 'WP_HOME', 'https://example.com' );define( 'WP_SITEURL', 'https://example.com' );- WP-CLI-vel is átállíthatod:
wp option update home 'https://example.com'wp option update siteurl 'https://example.com'- A tartalomban maradt
http://hivatkozásokat cseréld le. A WordPress dokumentációja szerint sima adatbázis-csere megsértheti a szerializált adatot, ezért WP-CLI-t vagy Better Search Replace bővítményt használj, és aguidoszlopot soha ne módosítsd:
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-runElőször mindig --dry-run-nal nézd meg, mit cserélne, és előtte készíts mentést. A harmadik féltől származó hivatkozásokat (külső kép, script) írd át a szolgáltató HTTPS-címére.
Tartalék: a Content-Security-Policy: upgrade-insecure-requests fejléc minden kérést HTTPS-re emel. Az MDN szerint ez védőháló, a hibás hivatkozások javítását nem váltja ki.
Ha reverse proxy mögött fut a WordPress, és a HTTPS-t a proxy végzi, a hibás beállítás átirányítási hurkot okozhat. A WordPress dokumentációja szerint ilyenkor az X-Forwarded-Proto fejlécet kell figyelembe venni, ha a proxy beállítja.
Ha a Cloudflare proxy előtted áll
Szekció neve “Ha a Cloudflare proxy előtted áll”A Cloudflare dokumentációja szerint két kapcsolat van: a látogató és a Cloudflare között, valamint a Cloudflare és a szervered között. A teszt a nyilvános gépnévre csatlakozik, ahogy egy látogató, vagyis az első kapcsolatot méri. A szervered saját beállítását és tanúsítványát ez a teszt így nem mutatja. A Cloudflare SSL/TLS módjai (Off, Flexible, Full, Full (strict)) a szervered felé menő kapcsolatot szabályozzák, a Full (strict) a szerver tanúsítványát is ellenőrzi.
Mire figyelj
Szekció neve “Mire figyelj”- A teszt a nyilvános gépnevet vizsgálja, és a jelentés a szerver nyilvános adatait tartalmazza. A Do not show the results on the boards bejelölése nélkül az eredmény látszhat a nyilvános listán.
- Beállítás módosítása után futtasd újra a tesztet, és nézd meg a böngésző konzolját is.
- Az A+ nem cél önmagában: a HSTS hibás bekapcsolása többet árt, mint az A jegy.
Hasznos linkek
Szekció neve “Hasznos linkek”Készült: