TLS-tanúsítvány
A teszt a 443-as porton ellenőrzi a tanúsítványt: érvényes, megbízható és legalább 14 napig él-e, és hogy a szerver nem fogad-e el TLS 1.0 vagy 1.1 kapcsolatot.
A TLS-tanúsítvány bizonyítja a böngészőnek, hogy valóban a te oldaladhoz kapcsolódik, és ez teszi lehetővé a titkosított (https://) kapcsolatot. Ha lejár, nem megbízható, vagy nem erre a névre szól, a böngészők teljes oldalas figyelmeztetést mutatnak az oldalad helyett, a látogatók többsége pedig itt elfordul. A keresők és a megosztó szolgáltatások is bizalmatlanok az ilyen oldallal szemben. A riportban a teszt súlyossága magas.
A teszt ugyanezen a kapcsolaton azt is nézi, hogy a szerver nem fogad-e el még TLS 1.0 vagy 1.1 kapcsolatot: ezeket az IETF már tiltja (RFC 8996), és a böngészők sem támogatják.
Hogyan mérjük
Szekció neve “Hogyan mérjük”A riport TLS-kézfogást indít a vizsgált host 443-as portjára az oldal nevével (SNI), és kiolvassa a szerver tanúsítványát. A <host> a vizsgált domain, vagy www. előtaggal a domain, ha a csupasz domain nem válaszol. A kézfogás időkorlátja 8 másodperc. A mérés nem szakad meg hibás tanúsítványnál sem: a lejárt vagy nem megbízható tanúsítványt is beolvassa, és külön megnézi, elfogadható-e.
A teszt kétállapotú: megfelelő vagy hiba, külön figyelmeztetés nincs. A hibák okát a riport ebben a sorrendben vizsgálja, és az első találat számít:
- A kézfogás nem sikerül, vagy nincs tanúsítvány (nem válaszol a 443-as port, időtúllépés, protokollhiba): hiba, ok: nem megbízható.
- Lejárt: a tanúsítvány lejárati ideje már elmúlt (a hátralévő napok száma negatív; a nap egész napra lefelé kerekítve).
- Hamarosan lejár: a lejáratig kevesebb mint 14 nap van hátra. A „0 nap” azt jelenti, hogy ma lejár.
- Nem megbízható: a tanúsítvány ellenőrzése nem sikerül (például önaláírt, hiányos a lánc, vagy nem erre a domainre szól).
- Régi protokoll: a szerver egy második, csak TLS 1.0 és 1.1 verziót felkínáló kézfogást is elfogad.
Ha egyik sem igaz, a teszt megfelel, és kiírja a lejáratig hátralévő napok számát.
Mivel az elsőként talált ok számít, egy lejáró és egyben nem megbízható tanúsítvány „hamarosan lejár”-ként jelenik meg; a másik problémát a javítás után mutatja a következő mérés.
Amit a teszt nem néz: a visszavonást (OCSP, CRL), a kulcs méretét és a titkosítók (cipher suite) erősségét, a közbenső tanúsítványok lejáratát (csak a szervertanúsítvány lejárati idejét olvassa), valamint a www. és a csupasz domain másik nevét, ha a mérés csak az egyikre indul. Ezekhez használd az SSL Labs tesztjét.
Hogyan javítsd
Szekció neve “Hogyan javítsd”A teendő attól függ, melyik ok jelent meg a riportban.
Lejárt vagy hamarosan lejáró tanúsítvány
Szekció neve “Lejárt vagy hamarosan lejáró tanúsítvány”A tanúsítványt meg kell újítani, és be kell kapcsolni az automatikus megújítást. A Let’s Encrypt tanúsítványai alapértelmezetten 90 napig érvényesek, és a szolgáltató azt javasolja, hogy 60 naponként újítsd meg őket. Ha tehát egy tanúsítványból 14 napnál kevesebb van hátra, a megújítás szinte biztosan elromlott.
-
Nézd meg, mi újítja meg a tanúsítványt: a tárhelyszolgáltató, a CDN vagy a szerveren futó ACME-kliens (például a Certbot). Tárhelyen vagy CDN-en a megújítást a szolgáltatónál kell kérni, vagy bekapcsolni.
-
Certbot esetén listázd a tanúsítványokat és a lejáratukat:
Terminál certbot certificates -
Próbáld ki a megújítást éles tanúsítvány cseréje nélkül:
Terminál certbot renew --dry-runA hibaüzenet többnyire megmondja az okot (például nem elérhető a 80-as port, vagy a domain nem a szerverre mutat).
-
Ellenőrizd, hogy van-e időzített feladat, ami a megújítást futtatja. A Certbot dokumentációja szerint a legtöbb telepítés előre beállított időzítővel jön; Linuxon a
systemctl list-timerslistában vagy a rendszer crontabjában kell keresned acertbot renewparancsot. -
Ha a szerver leáll megújításkor, vagy a megújítás után újra kell tölteni a webszervert, használd a
/etc/letsencrypt/renewal-hooks/mappa horog (hook) szkriptjeit.
Nem megbízható vagy hibás tanúsítvány
Szekció neve “Nem megbízható vagy hibás tanúsítvány”Ennek tipikus okai: önaláírt tanúsítvány, hiányzó közbenső tanúsítvány (hiányos lánc), vagy a tanúsítvány nem tartalmazza az oldal nevét. A teendő: kérj érvényes tanúsítványt a pontos névre (és a www. változatra is, ha használod), és a webszerveren a teljes láncot tartalmazó fájlt add meg. Az nginx dokumentációja szerint az ssl_certificate fájlban a szervertanúsítvány után kell következnie a közbenső tanúsítványoknak:
ssl_certificate /etc/ssl/example.com/fullchain.pem;ssl_certificate_key /etc/ssl/example.com/privkey.pem;Az elérési utakat cseréld a sajátjaidra. A Certbot a fullchain.pem fájlt adja ehhez. Az ingyenes Let’s Encrypt tanúsítványhoz a Certbot utasításai a szoftvered és rendszered kiválasztása után lépésenként végigvezetnek.
Nem kell WordPressben beállítani semmit: a tanúsítvány a webszerveren vagy a CDN-nél van, nem a WordPress részeként.
Régi TLS-verziók kikapcsolása
Szekció neve “Régi TLS-verziók kikapcsolása”Ha a riport „Kapcsold ki a régi TLS-verziókat” javítást ad, a szerver még elfogad TLS 1.0 vagy 1.1 kapcsolatot. Elég a TLS 1.2 és 1.3.
nginx
Szekció neve “nginx”Az http blokkba. Az nginx dokumentációja szerint az ssl_protocols alapértéke TLSv1.2 TLSv1.3, tehát valahol kifejezetten bekapcsolták a régi verziókat:
ssl_protocols TLSv1.2 TLSv1.3;Ha egy server blokkban vagy egy beemelt fájlban is szerepel ssl_protocols sor, ott is írd át, mert a server szintű érték érvényesül.
Apache
Szekció neve “Apache”Az Apache virtual host (vagy fő) konfigurációjába. .htaccess-ben nem működik, mert az Apache dokumentációja szerint az SSLProtocol csak a szerver- és a virtual host-szinten állítható.
SSLProtocol -all +TLSv1.2 +TLSv1.3Cloudflare
Szekció neve “Cloudflare”Ha a Cloudflare mögött vagy, a látogatók a Cloudflare TLS-beállítását látják: SSL/TLS → Edge Certificates → Minimum TLS Version: TLS 1.2. A Cloudflare dokumentációja szerint a magasabb minimum kikapcsolja a régebbi verziókat.
Minimum TLS Version: TLS 1.2Az nginx és az Apache beállítását a konfiguráció újratöltése után kezdi használni a szerver; utána ellenőrizd az eredményt.
Hogyan ellenőrizd
Szekció neve “Hogyan ellenőrizd”-
Futtasd újra a riportot a domainre. A „TLS-tanúsítvány” sor megfelelő lesz, és kiírja a lejáratig hátralévő napok számát.
-
Parancssorból a lejárati dátumot így nézheted meg:
Terminál openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -datesA
notAftersor a lejárat időpontja. -
A
curlis megmutatja a tanúsítvány adatait és az ellenőrzés eredményét:Terminál curl -vI https://example.com/ 2>&1 | grep -iE "expire date|subjectAltName|SSL certificate verify"Érvényes tanúsítványnál a kimenetben ez szerepel:
SSL certificate verify ok. -
A teljes TLS-beállítást (lánc, protokollok, titkosítók) az SSL Labs SSL Server Test vizsgálja részletesen, ingyen.
Készült: