Chrome 56, “Not Secure” HTTP ja kuidas kolida HTTPS peale

Jaanuari lõpus jõuab kasutajateni Google Chrome brauseri versioon 56, mis hakkab parooli või krediitkaardiandmeid küsivaid veebilehti aadressribal ebaturvaliseks märkima, kui need ei kasuta HTTPSi ehk krüptitud ühendust serveri ja brauseri vahel.

Ääremärkus: See blogipostitus ja allviidatud WordPressi, Magento ja PrestaShopi kohta käivad juhised on osa “Paneks poe käima?” õpetuste sarjast millega saad liituda zone.ee esilehel või eraldi vormi kaudu.

Välja hakkab see “Not Secure” nägema nii, näidiseks on külastatud lehti HTTP://ebaturvaline.paalikas.eu ja HTTPS://turvaline.paalikas.eu mille sisuks on üks parooli-väli:

Kui arvad, et sinu veebi see ei puuduta, sest mingit kasutajate sisselogimist või ostmist ei toimu… siis tuleta korraks meelde, kuidas sa ise veebi haldamas käid. Logid ilmselt kuhugi sisse? Vahel ka mõnes kohviku-wifis olles? Tore! See “Not Secure” tähendab seda, et ka kõik sinu enda adminni-paroolid on huvilistele näha kohe, kui mõni võrguliiklust salvestav programm käima tõmmata:

Kuidas HTTPS veebiühendust kaitseb?

Kahel moel:

  1. veebibrauseri ja serveri vaheline side krüpteeritakse (šifreeritakse)
  2. enne iga ühenduse loomist kontrollib brauser, et ta suhtleks ikka õige serveriga – sest kui liiklust saab “pealt kuulata”, siis saab ilmselt ka “vahele rääkida”

Kui esimene punkt on puht-tehniline, siis teise jaoks on kasutusel brauseri poolt usaldatud osapoole kinnitus ehk sertifikaat. Pikka aega tegi HTTPSi kasutuselevõtu keeruliseks vajadus sertifikaat osta, paigaldada ja hiljem iga aasta pikendada. Eelmisel aastal käivitus aga Google jt initsiatiivil loodud Let’s Encrypt, mis pakub tasuta ning automaatselt väljastatavaid (ja pikendatavaid) sertifikaate. Tänu sellele peaks nüüd HTTPSi käima saama igaüks.

Kas Let’s Encrypt on sama hea kui tasulised sertifikaadid? Kui eesmärk on viia server HTTPS peale, siis vähemalt sama hea – Let’s Encrypt’i kasutab muuhulgas Majandus- ja Kommunikatsiooniministeeriumi veebileht (vt Let’s Encrypt nüüd “government grade” ka Eestis). Tasulist sertifikaati tasub kaaluda juhul, kui on huvi EV ehk extended validation sertifikaadi vastu – selline on kasutusel näiteks meil endal, kuvades “Secure” asemel väljastaja poolt kontrollitud ärinime.

Mida on HTTPS käimapanekuks vaja?

  • Let’s Encrypt sertifikaadi tellimine ja serveri seadistamine – üks klikk virtuaalserveri halduses
  • Lehe URLi muutmine veebitarkvaras – seda saab teha vastava tarkvara haldusliidesest
  • (vajadusel) Sisusse lisatud piltide jms URLide muutmine – saab teha pluginaga (WP puhul) või käsitsi
  • (vajadusel) Kujundusteemas kasutatud http:// URLide parandamine – võib vajada veebimeistri tuge
  • Kogu liikluse suunamine HTTPS peale – teine klikk virtuaalserveri halduses

Esimene ja viimane punkt on samad sõltumata tarkvarast, ülejäänute jaoks tegin aga lühikesed õppevideod koos kirjapandud põhipunktidega.

Proovisin need teha võimalikult lihtsad – aga kui need sinu jaoks liiga tehniliseks jäävad, siis edasta koos sooviga HTTPS kiiremas korras kasutusele võtta oma veebimeistrile, sest Chrome 56 tuleb niikuinii 😉

Juhendid

Igas juhendis on video ja lisaks ka tegevused punkt-haaval kirja pandud:

Paar märkust:

WordPressi juhend on natuke pikem, sest käsitleb ka olukorda, kui teemafailides on HTTP-viiteid piltidele – põhimõtteliselt kehtivad samad soovitused/lahendused ka teiste rakenduste jaoks.

Magento juhend on tehtud 1.9.x näitel, aga kui välja arvata seadistuse muutunud asukoht menüüs, siis peaks sobima ka 2.x jaoks.

PrestaShopi puhul juhiks tähelepanu, et Zone+ abil paigaldades tuleb see kõigepealt paigaldada HTTP peale ja siis üle viia (seotud sellega, et PrestaShopi hoiab eraldi infot URLi ja http/https kasutuse kohta).

Ja nagu ülal juba mainitud – kui on huvi rohkem tarkust saada, siis või lisa Paneks poe käima? listi mis jagab seda jupp-haaval, et oleks aega seedida ja korraga liiga targaks ei saaks 😉

PrestaShopi viimine HTTPS peale

PrestaShop jõustab seadistatud aadressi kasutamist üsna tugevalt ning kuniks haldusliideses pole SSL lubatud suunatakse kogu liiklus HTTP peale.

See võib tekitada probleeme, kui proovida .htaccess või meie “Suuna kogu liiklus HTTPS peale” väliseid reegleid kehtestada – tulemuseks on lõputu ümbersuunamiste tsükkel. Sama probleem ilmneb, kui Zone+ abil proovida PrestaShop’i installeerida HTTPS’i kasutavale serverile – lahendus on installeerida HTTP peale ja siis teha allkirjeldatud muudatus.

  1. Telli serverile Let’s Encrypt sertifikaat –  Minu Zone » Halda » Veebiserver » Let’s Encrypt, valida tuleb vaid vastava server (või alamdomeen). Sertifikaat väljastatakse nii www-ga kui ilma aadressile, samuti kõigile olemasolevatele aliastele. Kui sertifikaadi väljastamine ei õnnestu, on tõenäoliselt mingi probleem veebiserveri seadistustega, kirjuta info@zone.ee ja küsi julgelt abi.
  2. HTTPS toe käivitumine võtab kuni 10 minutit, võta üks kohv/tee/vesi.
  3. Proovi kas pood toimib HTTPS pealt sisestades aadressiribale poe URLi ette https:// – https://[firmanimi-punkt-eu]/ – tulemuseks peaks PrestaShop suunama su kohe tagasi http:// peale.
  4. Sisene haldusliidesesse ning vali peamenüüst Eelistused » Üldine. Kui Lülita SSL sisse järel on nupu asemel link “Kliki siia, et kontrollida”… siis kliki – admin avatakse https:// ühendusel. Seejärel lülita SSL sisse, Salvesta ja pane lisaks ka Luba SSL kõikidel lehtedel juurde Jah – ning salvesta veelkord.
  5. Kontrolli, kas veeb toimib korrektselt ja kõigil lehtedel on aadressiribal näha “Secure”.
    Kui ei, siis on tõenäoliselt mõnel lehel viidatud pildile http://-ga – need tuleb ükshaaval üle käia ja muuta https://-iks
  6. On vähetõenäoline ent võimalik, et ka teemas on sarnane viga piltidele, fontidele, CSS-ile, või JavaScriptile viitamises – palu abi veebimeistrilt, kes PrestaShop’i  lähemalt tunneb.
  7. Kui kõik lõplikult korras võiks minna veelkorda Minu Zone » Halda » Veebiserver ning Seadete või Alamdomeenide all klõpsata nuppu “Suuna kogu liiklus HTTPS peale” – nii saavad kõik URLid korraliku 301-ümbersuunamise.

Magento viimine HTTPS peale

Magento e-poe viimiseks HTTPS peale tuleb tellida Let’s Encrypt sertifikaat, seadistada baas-URLid ning juhul, kui sisublokkides või CMS-lehtedel on pildid kasutusel http:// URLiga, need ümber muuta või vastava shortcode’iga asendada.

See video on osa pikemast e-poe-õpetuste sarjast, millega saad liituda Zone esilehel või

Tähelepanu vajab üks ebaloogilisena tunduv seadistus – nimelt tuleb lisaks Secure Base URL’ile ja Use Secure URLs in Frontend / Admin panna https:// ka Unsecure Base URL reale. Põhjuseks see, et osade Magento kujundusteemade tegijad pole kahe eraldi baas-URLiga arvestanud ja ostukorv ning muud JavaScriptist sõltuvad funktsionaalsused võivad töö lõpetada.

Magento 2 seadistamine käib täpselt samuti nagu videos näidatud Magento 1.9.x puhul– aga baasURLide muutmise leiab Stores » Configuration alt.

  1. Telli serverile Let’s Encrypt sertifikaat –  Minu Zone » Halda » Veebiserver » Let’s Encrypt, valida tuleb vaid vastava server (või alamdomeen). Sertifikaat väljastatakse nii www-ga kui ilma aadressile, samuti kõigile olemasolevatele aliastele. Kui sertifikaadi väljastamine ei õnnestu, on tõenäoliselt mingi probleem veebiserveri seadistustega, kirjuta info@zone.ee ja küsi julgelt abi.
  2. HTTPS toe käivitumine võtab kuni 10 minutit, võta üks kohv/tee/vesi.
  3. Proovi kas pood toimib HTTPS pealt sisestades aadressiribale poe URLi ette https:// – https://[firmanimi.eu]/ – tulemuseks peaks olema toimiv pood, kus kõik menüüd jms viited viivad tagasi http:// peale
  4. Sisene haldusliidesesse ning vali peamenüüst Configuration, seejärel vasakmenüüst Web. Ava Unsecure ja Secure valikud, kontrolli et mõlemas oleks baseURL https://-iga (vältimaks mõnede teemade probleeme) ning sea Use Secure URLs in Frontend ja Use Secure URLs in Admin väärtuseks Yes. Salvesta ja tühjenda puhver (System » Cache management » Flush Magento Cache).
  5. Kontrolli, kas veeb toimib korrektselt ja kõigil lehtedel on aadressiribal näha “Secure”.
    Kui ei, siis on tõenäoliselt mõnes lehel olevas sisublokis (sageli jaluses olevad kaardimakse-logod või CMS-lehtedel olevad pildid) viidatud pildile http://-ga – need tuleb ükshaaval üle käia ja muuta https://-iks
  6. On vähetõenäoline ent võimalik, et ka teemas on sarnane viga piltidele, fontidele, CSS-ile, või JavaScriptile viitamises – palu abi veebimeistrilt, kes Magentot lähemalt tunneb
  7. Kui kõik lõplikult korras võiks minna veelkorda Minu Zone » Halda » Veebiserver ning Seadete või Alamdomeenide all klõpsata nuppu “Suuna kogu liiklus HTTPS peale” – nii saavad kõik URLid korraliku 301-ümbersuunamise.

WordPressi viimine HTTPS peale

WordPressi veebi viimine HTTPS peale on lihtne – vaja on tellida Let’s Encrypt sertifikaat, muuta aadressis http:// ümber https://-iks ning asendada olemasolevates postitustes olevad pildi- ja sisulingid (selleks leiab abi pluginast).

Mõnel puhul võib http:// olla ka teemasse kirjutatud – siis ei jää muud üle, kui tuleb need kohad teema-failidest üles otsida ja asendada https://-iga (kui pole varem teema muutmisega tegelenud, siis tasub selleks punktiks küsida veebimeistri abi).

  1. Telli serverile Let’s Encrypt sertifikaat –  Minu Zone » Halda » Veebiserver » Let’s Encrypt, valida tuleb vaid vastav server (või alamdomeen). Sertifikaat väljastatakse nii www-ga kui ilma aadressile, samuti kõigile olemasolevatele aliastele. Kui sertifikaadi väljastamine ei õnnestu, on tõenäoliselt mingi probleem veebiserveri seadistustega, kirjuta info@zone.ee ja küsi julgelt abi.
  2. HTTPS toe käivitumine võtab kuni 10 minutit, võta üks kohv/tee/vesi.
  3. Sisene turvaliselt haldusliidesesse https://[firmanimi.eu]/wp-admin
  4. Muuda Sätted » Üldine saidi aadressis http:// ümber https:// -iks
  5. Paigalda ja lülita sisse Velvet Blues Update URLs plugin, seejärel mine Tööriistad » Update URLs ning sisesta Old URL lahtrisse oma veebi aadress http:// -ga ja New URL lahtrisse https:// -ga. Märgi kõik lahtrid peale GUID ja käivita asendus. Seejärel võid plugina deaktiveerida ja kustutada.
  6. Vaata veebis ringi – kas kõigi lehtede puhul on aadressiribal lisaks https://-ile näha ka “Secure”? Kui jah, siis õnnitlen!
    Kui ei, siis on teemas (või mõnes vanas pluginas) viidatud piltidele, fontidele, CSS-ile, või JavaScriptile kasutades http://-d. Selle kordategemiseks on vaja muuta vastavaid faile, seega tuleks leida üles oma veebimeister – aga tegevus on näha ka videos (ei ole väga keeruline, aga kui pole varem teemafaile puutunud küsi parem abi).
  7. Kui kõik lõplikult korras võiks minna veelkorda Minu Zone » Halda » Veebiserver ning Seadete või Alamdomeenide all klõpsata nuppu “Suuna kogu liiklus HTTPS peale” – nii saavad kõik URLid korraliku 301-ümbersuunamise.

HTTPS kõikides Virtuaalserveri teenuspakettides

Kui Vinton Cerf ja Robert Kahn alustasid 1970-ndatel aastatel tööd interneti alustalaks saanud TCP/IP protokollistiku kallal, olid nad tõsise küsimuse ees – kas TCP/IP protokollistik peaks vaikimisi sisaldama ühenduste krüpteerimist?

Kui Vinton Cerf ja Robert Kahn alustasid 1970-ndatel aastatel tööd interneti alustalaks saanud TCP/IP protokollistiku kallal, olid nad tõsise küsimuse ees – kas TCP/IP protokollistik peaks vaikimisi sisaldama ühenduste krüpteerimist?

Peale asjaolude kaalumist olid nad sunnitud TCP/IP protokollistikku krüptograafia vaikesättena sisse ehitamisest loobuma järgmistel põhjustel:

  • võrguliikluse krüpteerimine ja dekrüpteerimine nõudis ressursse, mida toonane riistvara ei olnud võimeline pakkuma;
  • ei olnud päris selge, kuidas jaotada võrgus osalejate vahel andmeside krüpteerimiseks vajalikke võtmeid (töö avalikel võtmetel põhineva krüptograafia arendamise kallal alles käis);
  • Ameerika Ühendriikide riiklik julgeolekuagentuur (NSA) omas äärmiseid reservatsioone krüptograafia avalikesse või kommertsvõrkudesse levimise suhtes.

Krüptograafia implementeerimine andmeside protokollistiku teistes kihtides oli hiljem küll võimalik, kuid tänu Cerfi ja Kahni otsusele ei saanud sellest esialgu interneti loomulikku osa.

Tänaseks oleme olukorras, kus:

  • keerukateks krüptograafilisteks operatsioonideks võimeline riistvara on nutiseadmete näol jõudnud tavakodanike taskutesse;
  • krüptovõtmete vahetamine on tänu paljudele avaliku võtme taristutele äärmiselt lihtne;
  • just tänu NSA-le on nii laiemal avalikkusel kui ka ärimaailmal äärmiselt suur huvi krüpteeritud andmeside vastu.

Seetõttu on täiesti loomulik, et krüptograafia teeb internetis just praegu oma pöördumatut võidukäiku ning selle kasutus on muutumas kõikide infotehnoloogiliste lahenduste eelduseks.

Lausa nii jõuliselt, et Google kavatseb peale üleminekuperioodi oma Chrome veebilehitseja aadressiribal hakata HTTP ühendusi tähistama järgmiselt:

chrome_http_warning
Pildi allikas: Google Online Security Blog

HTTPS turvalisusKõike eelnevat arvesse võttes on mul hea meel kuulutada avalikult välja see, mida mitmed insaiderid on juba tähele pannud: Zone.ee Virtuaalserveri kõik teenuspaketid toetavad turvalisi HTTPS tühendusi.

Lisaks on ka Virtuaalserveri I paketi kasutajatel võimalik saada osa Let’s Encrypt initsiatiivil tasuta väljastatavatest TLS sertifikaatidest, mida kliendi soovi korral väljastatakse, seadistatakse ja uuendatakse Zone serverites automaatselt.

Aga see pole veel kõik. Tavakasutajate mõeldes tegime ülemineku krüpteerimata HTTP ühendustelt turvalisematele HTTPS ühendusele ka senisest mugavamaks. Nimelt lisasime Virtuaalserveri haldusliidesesse täienduse, mis võimaldab ühe nupuvajutusega suunata kogu HTTP veebiliikluse ümber krüpteeritud HTTPS protokollile:

Selle käigus tehakse varasematest seadetest sõltuvalt kuni kolm muudatust, mille jõustumine võtab umbes 10 minutit:

  1. tellitakse Let’s Encrypt sertifikaat (kui seda varem polnud tellitud)
  2. lisatakse serverile SSL tugi ja seadistatakse see kasutama tellitud sertifikaati (kui seda varem polnud tehtud)
  3. suunatakse kogu liiklus HTTPS peale kasutades 301 redirect’i

Kasutaja teha jääb vaid oma veebirakenduses baasurli muutmine. Kui täis-automaatne protsess riskantne tundub, siis võib mõistagi ka lisada Let’s Encrypt sertifikaadi, veenduda ca 10 minuti pärast HTTPS toimimises, teha veebirakenduses muudatused ja seejärel lisada kogu liikluse suunamise:

Kui HTTPS aktiveeritud loe lisaks: Kuidas kontrollida, kas HTTPS peale suunamine on õigesti tehtud? ja HTTPS ja HSTS ehk Strict-Transport-Security

Ja et tordil oleks ka kirss peal, siis on mul hea meel välja hõigata, et veel käesoleva kuu jooksul plaanime alustada kõikide uute Virtuaalserverite vaikimisi HTTPS ühendusega varustamist.

Zone Virtuaalserveri platvormile tellitud serverid, millele on tehniliselt võimalik HTTPS tuge lisada, saavad selle endale peagi vaikimisi kaasa ja mingit eraldi seadistamise vajadust enam ei ole.

Head küberturvalisuse kuud!