Teeme selgeks: mis asi on HTTPS ja miks peaks selle enda kodulehele lisama?

Tõenäoliselt on sullegi mõnda veebilehte külastades brauseriribalt silma jäänud, et sellesama saidi aadressi alguses on kunagise standardi “HTTP” asemel “HTTPS”. Tavalisele internetikasutajale ei pruugi see suurt midagi öelda, ent tegelikkuses on tegu ühe olulisima turvalisust puudutava elemendiga veebis.

Mida kujutab endast HTTPS, miks see oluline on ja kuidas seda oma kodulehele lisada?

Turvalisem ja lihtsasti leitavam veeb

Mõistagi liigub erinevatest kodulehtedest ja e-poodidest läbi väga palju tundlikku informatsiooni ja on enesestmõistetav, et päris igaüks ei tohiks seal olevatele andmetele ligi pääseda.

Siin tulebki mängu HTTPS, mis tagab turvalise andmete edastamise. Sisuliselt krüpteerib see saadetava info ära taolisel viisil, et ainult selle vastuvõtja saab seda näha. Kui veebilehel puudub HTTPS tugi, siis tähendab see seda, et kogu internetis liikuv info on avalik ja sellele pääsevad ka kõrvalised osapooled lihtsa vaevaga ligi.

Osad brauserid isegi näiteks hoiatavad külastajat veebilehtede eest, mis ei kasuta krüpteeritud ühendust.

Inimesed on internetiturvalisuse osas üha teadlikumaks saanud, mistõttu on HTTPSi lisamine iga äriga seotud veebi jaoks ülimalt tähtis, sest nii tagad enda klientidele kindlustunde, et nende isiklikud andmed kellegi teise kätte ei satuks.

Samuti mõjutab HTTPS-i olemasolu ka suuresti SEO-d. Nimelt tõstavad paljud otsingumootorid tahapoole need veebisaidid, mis ei kasuta turvalist ühendust. Mõnel juhul võidakse see üldsegi blokeerida otsingutulemustest.

Kuidas HTTPS oma kodulehele lisada?

HTTPS-i lisamine kodulehele ei nõua õnneks spetsiaalseid IT-alaseid teadmisi ning sellega saab hakkama peaaegu igaüks. Kui sinu veebilehte majutab Zone, siis ei pea isegi muretsema selle pärast, sest seal on kõikidel uutel veebidel aktiveeritud Let’s Encyrpti automatiseeritud sertifikaaditeenus, mida kasutatakse HTTPS-i pakkumiseks. Küll aga võib veebirakenduse seadistamine vajada pisut seadistuste muutmist ja teatavatel juhtudel pisiparandusi koodis. Kui peaksid hätta jääma, siis küsi julgesti abi meie klienditoelt.

Kui su veebilehel ei peaks mingil põhjusel veel HTTPS tuge olema, siis selle aktiveerimine on ülimalt lihtne. Let’s Encrypt sertifikaadi tellimine virtuaalserverisse on võimalik läbi serveri halduse menüüst Veebiserver -> Let’s Encrypt. Lahtrist vali hosti nimi” võta oma domeeninimi ja klõpsa “Genereeri Let’s encrypt sertifikaat”. Ja 15 minuti möödudes võimaldabki sinu veebiserver edaspidi HTTPS ühendusi.

Käesolev blogipostitus on sündinud koostöös DigiGeeniusega.

Veel TLS uuendustest

Mõned postitused tagasi kirjutasin siin TLS (Transport Layer Security) pärandversioonide hülgamisest ja TLS versiooni 1.3 kasutuselevõtust. Tänaseks on kõik sellega seotud tööd meie platvormis teostatud –
tarkvaraplatvorm toetab vaikimisi vaid parimatele praktikatele vastavaid protokolliversioone (1.2 ja 1.3), kuid oleme klientidele loonud võimaluse ajutiselt pärandversioonide (1.0 ja 1.1) tuge sisse lülitada (vt allolevat illustratsiooni 1).

Illustratsioon 1

Rõhutan siiski, et pärandversioonide kasutamine ei ole pikas perspektiivis jätkusuutlik ja põhjustab meile palju peavalu. Näiteks annavad täna mitmed infosüsteemide võrgupinu turvalisust hindavad skännerid meie klientide saitidel TLS 1.0 ja TLS 1.1 versioonide kasutamise kohta valepositiivseid hinnanguid ka siis, kui neid reaalselt ei kasutata.

Ainus pikas perspektiivis mõistlik lahendus on uuendada oma veebilehtede poole pöörduvat riist- ja tarkvara nii, et toetatud oleks ainult aktuaalsed TLS versioonid.

Veelkord ka ID-kaardiga autentimisest.

Nagu ka varem mainitud, siis TLS 1.3 kasutuselevõtuga muutus Eesti ID-kaardi autentimise kasutamine veebiserveris tehniliselt keerukamaks, sest autentimise nõudmine kataloogi tasandil ei ole enam praktiliselt võimalik.

Kuna ID-kaardi kasutuselevõtu seadistamine serveritasandil on   nüansirikkam teema, siis otsustasime selle keerukuse kasutaja eest veidi ära peita. Nii lõid meie tarkvaraarendajad Minu Zone haldusliidesesse uue “linnukese”, mille abil saab ID-kaardiga autentimise nõuet haldusliideses mõne klikiga sisse lülitada (vt ülalolevat illustratsiooni 1). Samuti on klientidel võimalik sealsamas sisse lülitada tuge tarkvaraarenduses kasutatavale testkaartidele.

Pärandversioonide juurest sujuvalt pärandteenuste juurde.

Oma esimese avaliku teenusena alustas Zone 1999. aastal tasuta veebimajutusteenuse pakkumist. Algselt said selle kasutajad endale kodulehe kujuga zone.ee/kasutajanimi, hiljem web.zone.ee/kasutajanimi.

Kasutajate nõudmiste kasvades jäi see teenus ajale jalgu ja lõime entusiastide ning õppurite jaoks hoopis Planet.ee keskkonna, mistõttu vanasse tasuta veebimajutusteenusesse kasutajate vastuvõtmine lõpetati.

Meie tehnikud otsustasid aga, et üldisele infoturbeolukorrale tuleb kasuks, kui tirime ka oma tasuta veebimajutuse pärandteenuse 21. sajandisse ja paneme selle “sõjaratsu” tööle üle turvalisema HTTPS protokolli.

Selleks tegime veelkord ühe kiire vangerduse ja võtsime HTTPS toe lubamiseks web.zone.ee nime asemel kasutusele nime webzone.ee.

Vanad aadressid suunatakse nüüd sujuvalt HTTPS ühendusele ümber.

30. juunist jõustub e-kaubanduse jaoks oluline HTTPS nõue

Käesolev blogipostitus on peatähtis läbi lugeda neil, kes tegelevad oma kodulehe vahendusel kaubandusega, kuid see on kindlasti oluline teadmiseks võtta ka teistele.

30. juunist ei luba Payment Card Industry Data Security Standard (PCI DSS) makseandmeid käsitlevate veebilehtede omanikel enam kasutada aegunud SSL/TLS turvastandardeid.

Selliste lehtede haldajad peaksid 30. juuniks veenduma, et nende HTTPS ühendused oleksid seadistatud järgmiselt:

1) SSL standardi kasutus peab olema täielikult keelatud;
2) kasutusel olev TLS protokoll peab olema vähemalt 1.1 või uuem.

Zone klientidel on hetkel seis selline:

1) SSL standardi kasutus on täielikult keelatud;
2) vaikimisi kasutusel olev TLS protokoll on 1.0 või uuem.

Rõhutan, jutt on konkreetselt SSL standardist! SSL-i terminit kasutatakse nii meil kui mujal (valesti) iseloomustamaks paljusid turvatud ühendusi, kuigi enamik neist põhineb tänapäeval juba TLS standardil.

Meie hoolsatel, turvateadlikel ja standardiga ühilduvust soovivatel klientidel on aga võimalus haldusliideses paari klikiga keelata vanemate TLS versioonide kasutamine. Selleks tuleb Virtuaalserveri haldusliideses Veebiserveri seadete alt muuta sätet “Luba aegunud TLS versioonide kasutamine”.

Võib kerkida küsimus, miks me TLS 1.0 kasutust üldiselt ära ei keela? Põhjus peitub selles, et interneti sügavustes eksisteerib veel mitu kihti internetti, üks neist on nö “asjade internet” ja teine “skriptide internet”. Need on internetikihid, millel püsib hoomamatu hulk meid ümbritsevaid protsesse ja milles iga suurem muudatus tähendab meie klientide jaoks ettearvamatuid tagajärgi.

Asjad, mis TLS 1.0 keelamisega võivad näiteks veebile ligipääsu kaotada:

* vanemad mobiiltelefonid;
* vanemad või odavamad käsiterminalid;
* vanemad või odavamad multimeediakeskused;
* vanemad operatsioonisüsteemid ja nende veebilehitsejad;
* vanemad skriptid ja programmid.

Ülevaatlikku tabelit erinevate seadmete TLS ühilduvusest üritab pakkuda muuhulgas GlobalSign.

Üks sarnane varasem iidvana protokolli toe lõpetamine on meie jaoks  näiteks lõppenud kõnega ühest logistikafirmast, mille käsiterminalid lõpetasid lennujaamas töö.

Erinevatel andmetel moodustab TLS 1.0 liiklus hetkel 5-11% kogu HTTPS-i abil turvatud ühenduste mahust.

Seetõttu oleme otsustanud, et jätame vanema TLS versiooni (TLS 1.0) kasutamise keelamise esialgu kliendi otsustada ning lükkame selle vaikimisi välja lülitamise veidi edasi, kuni teadlikkus on klientide hulgas veidi kasvanud.

Põhjus, miks PCI on otsustanud vanemate turvastandardite toetamise keelata peitub nende vanuses.

SSL (Secure Sockets Layer) on standardina olnud maha kantud juba tükk aega tagasi, kuid lühend ise elab turvatud ühendusi sümboliseeriva terminina inimeste teadvuses veel edasi. Reaalsuses lasti selle standardi viimane suurem versioon välja 1996. aastal ning aastast 2015 on selle kasutus sisuliselt keelatud (https://tools.ietf.org/html/rfc7568).

SSL-i asendas 1999. aastal standard TLS (Transport Layer Security) versiooniga 1.0 ning sellele on järgnenud versiooniuuendused 1.1 (2006 aastal) ja 1.2 (2008 aastal). 2018. aasta märtsist eksisteerib, peale pikka ja vaidlusterohket arendustööd, standardi mustandina ka TLS versioon 1.3, kuid selle laiemasse kasutusse jõudmine võtab veel veidi aega.

Mõlemad on olnud haavatavad tänu mitmetele nõrkustele, mis kandnud vahvaid nimesid nagu POODLE, BEAST, FREAK, BREACH, CRIME jt ning nende ja muude selliste aukude lappimine ei ole lihtsalt jätkusuutlik.

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.