SSL sertifikato diegimas klaidos

10 dažniausių SSL sertifikatų diegimo ir naudojimo klaidų

Problema

Diegiant SSL sertifikatus, padaroma klaidų, dėl kurių TLS nesuteikia įsivaizduojamo saugumo arba svetainė iš viso sulūžta.

Kodėl taip yra?

HTTPS protokolas turi daug skirtingų standartų su savais niuansais. Visame svetainės turinyje išplitę HTTP protokolo adresai.

Kaip spręsti?

Po kiekvieno sertifikato įdiegimo atlik serverio testą. Perėjus prie naujo protokolo, patikrink visas nuorodas svetainėje.

Jau rašiau, kas yra SSL sertifikatai ir kaip juos išsirinkti. Užsisakyti SSL sertifikatą paprasta: pardavėjas viską išaiškina, už rankos praveda po virtualius skaitmeninio sertifikavimo institucijos kabinetus ir galiausiai paduoda failą su kriptografiniu raktu.

Kas toliau? Serverio administratorius pasitelkdamas savo kompetenciją dabar turi jį įdiegti. Programuotojas turi perkelti visą interneto svetainės turinį iš http:// į https:// adresą ir atnaujinti SEO duomenis. Dažniausiai procesas yra gan paprastas ir greitas. Tačiau vietos klaidoms čia daugiau nei uošvienės virtuvėje.

Administratoriui pranešus, kad SSL sertifikatas įdiegtas, einam į savo svetainę https:// adresu. Svetainė veikia, naršyklė spyną rodo – darom išvadą, kad „dabar jūs esat visi saugūs“. Deja, mums rodoma spyna nėra universalus saugumo testas.

2/3 svetainių pasaulyje naudoja nesaugius šifravimo metodus, kurie SSL sertifikatą paverčia menkaverčiu. Neteisingai sukonfigūravus TLS, daliai lankytojų svetainė iš viso neveiks.

Lažinuosi, kad net profesionalų komanda, diegdama jūsų interneto svetainės SSL sertifikatą, padarė bent porą iš 10 dažniausių klaidų. Palyginimui, Lietuvos banko svetainėje straipsnio rašymo metu yra 4 SSL sertifikato naudojimo klaidos  (4, 6, 7 ir 10-a).

Sužinok, kaip patikrinti, ar SSL sertifikatas jūsų svetainėje įdiegtas teisingai. Pasirūpink, kad duomenys iš tikrųjų būtų perduodami saugiai ir svetainė sklandžiai veiktų visiems lankytojams.

1. Neteisingas serverio adresas

SSL sertifikatai: neteisingas domenasPaprastas SSL sertifikatas veikia tik vienam tiksliam serverio adresui, pvz.: https://pakamore.lt. Bandant tą patį SSL sertifikatą naudoti kitam serverio adresui, pvz.: https://www.pakamore.lt, neįvyks šaltinio autentifikavimas ir naršyklė rodys klaidą lankytojams. Plačiau apie autentifikavimą rašiau straipsnyje „Kas yra SSL sertifikatai ir kaip veikia HTTPS“.

Jei norite SSL sertifikatu apsaugoti kelias skirtingas svetaines, kiekvienai reikės nupirkti po atskirą SSL sertifikatą arba naudoti specialius SAN ir Wildcard sertifikatus. Plačiau juos aprašiau straipsnyje „SSL sertifikatų skirtumai ir optimali kaina“.

Kai kurie paprasti SSL sertifikatai leidžia tą patį sertifikatą naudoti adresu tiek su www., tiek be jo. Tačiau kol kas tai labiau išimtis, nei taisyklė. Todėl siūlau svetainę leisti pasiekti tik vienu adresu, o visus kitus adresus nukreipti į pagrindinį adresą. Pavyzdžiui: www.pakamore.lt –> pakamore.lt.

2. Pasibaigęs sertifikato galiojimo laikas

SSL sertifikatai: baigėsi galiojimo laikasSSL sertifikatai galioja ribotą laiką. Pasibaigus galiojimo laikui, naršyklė svetainės lankytojams rodo klaidą. Įsidiegęs SSL sertifikatą iš karto nusistatyk priminimą, kad likus ne mažiau kaip 1 mėnesiui iki sertifikato galiojimo laiko pabaigos spėtum jį atnaujinti. Turėk omeny, kad tai ne paslaugos pratęsimas, o naujo sertifikato išdavimas ir įdiegimas – tai gali užtrukti keletą darbo dienų.

SSL sertifikatai išduodami iš naujo dėl saugumo, kad tie patys slapti raktai nebūtų naudojami per ilgai. Dauguma skaitmeninio sertifikavimo centrų leidžia pakartotinai nemokamai išsiimti SSL sertifikatą ir visą jo galiojimo laiką. Jei kyla įtarimų, kad galbūt į jūsų serverį buvo įsilaužta arba sertifikato privatus raktas nutekėjo kitais būdais, nedvejodamas nemokamai išsiimk ir įsidiek naują SSL sertifikatą.

3. Neteisingai instaliuotas tarpinis sertifikatas

SSL sertifikatai: nepatikimas sertifikatasSSL sertifikato veikimui reikia šakninio sertifikato. Jis patvirtina, kad jūsų SSL sertifikatą tikrai išdavė patikima skaitmeninio sertifikavimo institucija. Šakninius sertifikatus saugosi kompiuterio operacinė sistema. Jų pasaulyje yra gan nedaug ir jų galiojimo laikas labai ilgas (dažniausiai 30 metų).

Praktikoje SSL sertifikatai pasirašomi ne šakniniu, o tarpiniu sertifikatu. Tai dažniausiai būna vienai sertifikatų klasei pačios sertifikavimo institucijos sau išsiduotas sertifikatas, kuris galioja trumpiau (dažniausiai iki 10 metų).

Tarpinių sertifikatų pasaulyje yra gan daug ir jie galioja trumpiau, tad operacinės sistemos jų visų nekaupia. Tai reiškia, kad naršyklė turi jį parsisiųsti. Jei jūsų serveris sukonfigūruotas teisingai, kartu su jūsų SSL sertifikatu naršyklė parsisiųs ir tarpinį sertifikatą.

Jei jūsų serveris tarpinio sertifikato neduos, galbūt naršyklė jį turės pati arba žinos, iš kur jį parsisiųsti. Tai gali prailginti puslapio krovimąsi, nes naršyklė turės papildomai ieškoti tarpinio sertifikato kituose serveriuose. O jei neras, SSL sertifikato leidėjas nebus autentifikuotas ir svetainė https:// adresu iš viso neveiks.

Kai serverio administratorius įdiegia SSL sertifikatą, patikrink, ar teisingai įdiegtas ir tarpinis sertifikatas. Tai, kad svetainė tau veikia tvarkingai, nieko nereiškia – galbūt tavo naršyklė šį tarpinį sertifikatą turi, o kitos naršyklės neturės.

Išsamų testą gali atlikti puslapyje Qualys SSL Labs. Tas pats testas atskleis ir TLS konfigūracijos klaidas.

4. Neteisingai sukonfigūruota TLS programa

SSL sertifikatai: nesaugus šifravimasNaudojant tą patį sertifikatą yra daug duomenų šifravimo metodų. Skirtingi metodai garantuoja skirtingą saugumo lygį ir skirtingą suderinamumą su senesnėmis naršyklėmis. Neteisingai sukonfigūravus TLS, kai kurie lankytojai naudos žemesnio saugumo šifravimą, nei turėtų. Kai kuriems svetainė gali iš viso neveikti, nes serveris nepasiūlys jiems tinkamo šifravimo metodo.

Sužinoti, ar jūsų serveryje TLS sukonfigūruotas teisingai, gali naudodamasis jau minėtu Qualys SSL Labs testu. Jei radai spragų, persiųsk serverio administratoriui nuorodą į šį Mozilla svetainės puslapį.

5. Nešifruotas turinys https:// svetainėje

SSL sertifikatai: nesaugus turinysSaugioje HTTPS protokolu veikiančioje svetainėje įterpus paveikslėlius, skriptus ir kt. turinį, kuris laikomas ne https:// adresu, svetainė rodys įspėjimą ir gąsdins lankytojus. Jei įėjęs į svetainę matai kokių nors įspėjimų dėl nesaugaus turinio, perduok juos programuotojui – tikriausiai reikia pataisyti puslapio elementų adresus.

Jei naudojate CDN (Content Delivery Network), t.y. statinius failus laikote kitu adresu, ir šį adresą reikia apsaugoti įdiegiant SSL sertifikatą.

Kai svetainėje įterpi turinį iš kitų svetainių, pvz.: Youtube vaizdo klipą arba Google Drive formą, visada naudok tik https:// adresus. Juos naudok net ir nešifruotuose http:// puslapiuose. Bent tie komponentai svetainėje jau bus privatesni, o ateityje visą svetainę perkeliant ant https:// nebereikės nieko keisti.

6. Duplikuotas http:// ir https:// turinys

SSL sertifikatai: duplikuotas https turinysJei svetainė veikia ir http://, ir https:// adresais, paieškos sistemos nežino, kuris puslapis yra pagrindinis. Dėl tokio duplikavimo gali nukentėti jūsų svetainės SEO optimizacija. Taip pat nežinosite, kurį puslapį Google pasirinks rodyti paieškos rezultatuose.

Kiekvienas puslapis, kurį galima pasiekti keliais adresais, turi turėti canonical nuorodą. Ji nurodo, kuris iš duplikatų yra pagrindinis ir turi būti rodomas paieškos sistemose.

Jei kyla abejonių, kad kažkas čia negerai, persiųsk interneto svetainės kūrėjui šį Google straipsnį. Dar geriau, jei iš viso atsisakysite http:// adreso ir visus lankytojus nukreipsite į https:// adresą.

7. Senos nuorodos veda į http:// adresus

Jei svetainė ne nauja, kitose svetainėse tikriausiai yra nuorodų į jos puslapius. Kai kurie lankytojai galbūt išsisaugojo ją ir savo adresinėje. Tad perkėlę svetainę ant https://, ir toliau sulauksite lankytojų http:// adresu.

Kad iš kitų svetainių atėję lankytojai neklaidžiotų nesaugiame serveryje, visas http:// adresu gaunamas užklausas nukreipkite į atitinkamą https:// adresą naudodami nukreipimo kodą 301 (puslapis persikėlė visam laikui). Tą gali atlikti tiek serverio administratorius, tiek programuotojas.

8. Dvigubi lankytojų nukreipimai

SSL sertifikatai: neteisingas nukreipimasJei jūsų svetainėje jau yra vykdomi padomenių lygio nukreipimai (pvz.: http://www.pakamore.lt –> http://pakamore.lt), prie jų pridėjus dar ir protokolo nukreipumus (pvz.: http://pakamore.lt –> https://pakamore.lt), kai kurie lankytojai bus tampomi iš adreso į adresą ne vieną kartą. Iš pradžių jie bus nukreipiami iš vieno nesaugaus padomenio į kitą, o tik paskui į saugų adresą. Kiekvienas lankytojas papildomai lauks 1–2 sekundes, o mobilūs lankytojai ir ilgiau.

Pakeiskite padomenių nukreipimus iš karto ir į https:// nukreipimus. Pabandyk į savo svetainę ateiti visais įmanomais adresais. Jei laukiant užsikraunančio puslapio naršyklės langas mirksi ar adreso laukelis pasikeičia daugiau nei 1 kartą, nukreipimus atlikusiam specialistui sakyk, kad toks variantas nepraeis.

9. Lankytojai iškrenta iš https:// į http://

SSL sertifikatai: https ir httpJei svetainės nuorodose naudojote pilnus vidinių puslapių adresus (pvz.: http://pakamore.lt/kontaktai/), kiekvieno paspaudimo metu lankytojai iš https:// adreso bus kreipiami į http:// adresą. Jei nesate pasidarę globalaus nukreipimo iš http:// į https://, jie ir liks neapsaugotoje svetainėje. Jei esate pasidarę šį nukreipimą, kiekvienas puslapio atvertimas bus vykdomas per dvi užklausas vietoj vienos ir truks dvigubai ilgiau.

Visos vidinės nuorodos, formų adresai ir t.t. turėtų būti arba pilnai reliatyvūs (pvz.: /kontaktai/), arba turėti reliatyvų protokolą (pvz.: //pakamore.lt/kontaktai/), arba turėti HTTPS protokolą (pvz.: https://pakamore.lt/kontaktai/). Patikrink visas nuorodas visuose svetainės puslapiuose, kad HTTPS protokolu atėję lankytojai jame ir liktų.

10. Paieškos sistemos nemato https:// puslapių

Seniau https:// adresai būdavo naudojami tik klientų zonoms, užsakymų formoms ir t.t. Šių puslapių dažniausiai niekas nereklamuoja, todėl programuotojai juos paslepia nuo paieškos sistemų naudodami robots.txt failą. Perėjus prie HTTPS protokolo, dėl to jūsų svetainės puslapiai gali apskritai dingti iš Google.

Paprašyk svetainės kūrėjo patikrinti, ar jūsų svetainės robots.txt failas nedraudžia paieškos sistemoms indeksuoti puslapių https:// adresu. Taip pat, ar sitemap.xml faile puslapių adresai nurodomi su https:// priešdėliu.

***

Kokias klaidas radai savo įmonės interneto svetainėje? Gal yra pasitaikę tokių, kurių nepaminėjau? Pasidalink komentaruose.

Autoriaus interesų atskleidimas

UAB „Virtuali erdvė“, kurioje dirbu, išduoda populiariausių sertifikavimo institucijų SSL sertifikatus. Diegiame ir audituojame SSL sertifikatus bei TLS stambioms Lietuvos įmonėms ir vyriausybinėms organizacijoms.

Šios 10 klaidų yra dažniausiai pasitaikančios naujų klientų serveriuose ir svetainėse. Tai yra mano įmonės darbo praktikos atskleistas, o ne pasauliniais duomenimis statistiškai patvirtintas reitingas.

Autorių teisės

Creative Commons licencija Straipsnis „10 dažniausių SSL sertifikatų diegimo ir naudojimo klaidų“, kurio autorius Pakamore pasilieka ir saugo visas savo autoriaus teises, yra licencijuotas publikavimui pagal Creative Commons Priskyrimas + Jokių išvestinių darbų (BY-ND) 4.0 tarptautinę licenciją.