WordPress és az SSL (http-ről https-re)

[Ezt a cikket 6 perc elolvasni.]

Nagy port kavart a 2014-ben bejelentett hír, miszerint a Google az aktuális algoritmus frissítése után elkezdte előnyben részesíteni az SSL tanúsítvánnyal rendelkező weboldalakat (tehát azokat, amelyek biztonságos kapcsolaton (https) keresztül érhetők el). Mondanom sem kell, hogy ez mekkora lavinát indított el, hiszen akinek kicsit is számított a Google-ben elért aktuális pozíciója az azonnal elkezdett átállni https-re, hogy megőrizze a helyét, a többiek pedig egy újabb lehetőséget láttak a fentebb jutásra és emiatt vásároltak SSL tanúsítványt.

Tanúsítványonként és szerverenként eltérő az igénylés és a beállítás folyamata, de azért megpróbálom összefoglalni a főbb lépéseket, ezután pedig kitérek arra is, hogy WordPress oldal esetén mi a teendőnk, ha mi is váltani szeretnénk.

Természetesen az első lépés a tanúsítvány kiválasztása és megvásárlása. Akadnak ingyenes alternatívák is (StartSSL, Let’s Encrypt), de 100 ezer forintnál drágábban is találni tanúsítványt. Az ingyenes és nagyon olcsó alternatívák csak alapszintű adatátviteli titkosítást biztosítanak minden komolyabb ellenőrzés nélkül. Ilyen esetekben csak annyit kell igazolnunk, hogy mi kezeljük a biztosítani kívánt domaint. Egyszerű weboldalakhoz, hobbi projektekhez tökéletesen elegendő lehet egy ilyen megfizethető tanúsítvány hiszen ezekben az esetekben csak a biztonságos adatátvitelt szeretnénk garantálni. Nagyobb vállalatok és webshopok esetében sajnos mélyebben a zsebünkbe kell nyúlni, ilyenkor vállalati vagy kiterjesztett ellenőrzésű tanúsítványra lesz szükségünk, ezek már tartalmazzák a cégünk adatait és ez a böngésző címsora mellett is megjelenik ezzel is növelve a felhasználók bizalmát. Az ilyen típusú tanúsítványok igénylése is hosszabb ideig tartó, több lépésből álló procedúra, általában hivatalos dokumentumokat is el kell juttatnunk a kiállító cégnek.

Az igénylés befejezéséhez szükség lesz egy CSR (certificate signing request) generálásra, ez mindig azon a szerveren történik, ahová a tanúsítványt telepíteni szeretnénk (tehát ahol a domainünk tárhelye is található). A CSR generálása mindössze személyes adataink és a domain megadásából áll, ezután a kapott kódot kell bemásolnunk a tanúsítvány megvásárlásakor a megadott helyre. A legtöbb tárhely kezelőfelületen találni opciót a CSR kézi generálására, ha mégsem lenne ilyen, akkor a szolgáltató tudja megtenni ezt helyettünk.

A következő lépés a hitelesítés, azaz meg kell erősítenünk, hogy mi vagyunk a CSR-ben szereplő domain tulajdonosai. Erre több opciót is szoktak kínálni, vagy DNS szinten kell hozzáadnunk egy új rekordot vagy egy kis HTML fájlt kell letöltenünk és felmásolnunk a tárhelyünk gyökerébe és általában szükség van az e-mail címünk validálására is. Céges tanúsítványok esetén ezek a lépések kiegészülnek a cégadatok megerősítésével és nem ritkán telefonos hitelesítésre is szükség van.

Ha készen vagyunk, akkor általában néhány órán belül meg is érkezik a kapcsolattartó e-mail címére a kész SSL tanúsítvány, ennek a tartalmát pedig a tárhelyünk kezelőfelületének megfelelő részébe bemásolva aktiválhatjuk is a titkosítást. Legtöbb esetben mellékelnek még a saját kiállított CRT fájlunk mellé úgynevezett “bundle” tanúsítvány(oka)t is, ezeket szintén telepítenünk kell a megfelelő működéshez.

A legegyszerűbben úgy győződhetünk meg a sikeres telepítésről, ha https protokollon keresztül nyitjuk meg a weblapunkat. Ha az oldal hibaüzenet nélkül jelenik meg és a böngésző címsorának bal oldalán ott a kis lakat is akkor sikerrel jártunk. Érdemes még tesztelni a beállított tanúsítvány érvényességét és konfigurációját a következő eszközzel: [link]

Ha WordPress oldallal rendelkezünk

Ebben az esetben tanúsítvány aktiválása még nem elég, hiszen az összes linkünk http előtaggal akar megnyílni, ennek pedig mindössze annyi az oka, hogy az adatbázisban ez szerepel. Ha meggyőződtünk róla, hogy https-el is hibaüzenet mentesen töltődik be az oldalunk (valamint a fenti tesztelő eszköz sem jelez problémát) akkor lépjünk be a vezérlőpultba és a “Beállítások/Általános” szekció alatt cseréljük ki a “WordPress cím” és a “Honlap cím” mellett szereplő linkeket http-ről https-re. Tehát “http://oldalad.hu” helyett “https://oldalad.hu”. Mentsünk, teszteljünk. Ritka esetekben előfordulhat, hogy a böngésző azt jelzi, hogy az oldal titkosított ugyan, de vannak elemei, amik titkosítatlan csatornáról érkeznek (“mixed content”, azaz kevert tartalom). Ilyen esetben érdemes körülnézni a forráskódban, mert legtöbbször 1-2 kézzel beleírt http link lesz a ludas (például utólagosan hozzáadott képek a sablon PHP fájljaiban). Ezeknek az URL-jét is cserélnünk kell https-re a figyelmeztetés eltüntetéséhez.

Ha nem tudunk vagy nem akarunk a forráskódban http-ről betöltött tartalmak után kutatni, akkor használjuk a “Why No Padlock” oldalt. Itt a https domain címünk megadása után rögtön kapunk is egy listát, hogy mely elemek töltődnek be még mindig http-ről és meg is mutatja az oldal, hogy hol találjuk ezeket. Nagyon hasznos eszköz.

A legutolsó lépés a látogatók automatikus átirányítása http-ről https-re, ezt a következő kis .htaccess-be illesztett kódrészlet el is intézi nekünk:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Ezt a .htaccess fájl legtetejére másoljuk be!

Ha tetszik, mutasd meg másoknak is: