Zone kroonika: 2016

Teeme taas kokkuvõtte sellest, mis möödunud aastal Zones huvitavat korda on saadetud.

 

Võimalust elada huvitaval ajal peetakse nii õnnistuseks kui ka needuseks. Olgu kuidas on, aga meie valdkonnas on huvitav ööpäevaringselt, 365 päeva aastas.

Ettevõtte koosseisulise “salujuhanina” on taaskord minu pioneeriülesanne teha kokkuvõte nendest päevadest, mis jäid eelmise aastanumbri sisse.

Loe edasi “Zone kroonika: 2016”

Andmebaasi indeksi kasutamine ja selle mõju MySQL ning MariaDB andmebaasidele

Räägime andmestruktuurist nimega andmebaasi indeks, sellest millist mõju avaldab selle kasutamine MySQL või MariaDB andmebaasi kasutava rakenduse kiirusele ning näitame, kuidas indekseid luua.

Tihti pöördutakse meie poole murega, et koduleht on aja jooksul aeglaseks muutunud. Kuigi selliseid sümptomeid võivad põhjustada mitmed erinevad asjad, näiteks miljoni spämmikommentaari lisamine spämmerite poolt – kui kodulehel on kommentaaride kuvamine välja lülitatud, siis ei ole neid kommentaare küll näha, kuid koormust tekitavad ikka. Reeglina on siiski põhipõhjuseks ning ka esimeseks asjaks, mida üldse vaadata, andmebaasi indeksid. Kodulehe sisu on aja jooksul kasvanud, andmebaasi mootoril on tulemusi aina raskem üles leida ja see avaldubki aeglase lehelaadimisena. Appi tuleb andmebaasi indeks.

Loe edasi “Andmebaasi indeksi kasutamine ja selle mõju MySQL ning MariaDB andmebaasidele”

WordPress’i 4.7.2 paikab väga olulise turvaaugu

WordPressi versioonid 4.7 ja 4.7.1 sisaldavad väga kergesti ärakasutatavat turvaprobleemi – uuenda kohe!

WordPressi versiooni 4.7.2 ilmumisest teatanud ametlikus blogipostis oli mainitud mitut turvapaika, aga taotluslikult puudus sealt üks väga oluline – nimelt oli Sucuri avastanud võimaluse kasutada ära versioonides 4.7 ja 4.7.1 vaikimisi lubatud REST-rakendusliidest postituste ja lehtede sisu meelevaldseks muutmiseks (“content injection“), mis sõltuvalt kasutusel olevatest pluginatest/teemadest võib olla eskaleeritav ka PHP koodi käivitamiseks (“remote code execution“).

Teavitamisega viivitati, andmaks automaatsete uuendustega veebidele aega uue versiooni paigaldamiseks. Samuti liikus eelhoiatus “asjaomastest infoturberingkondades”.

Mida see tähendab?

Tõenäoliselt hakkame lähitundidel nägema WordPresside vastu suunatud rünnakukatseid, kus proovitakse muuta postituste sisu lisamaks näiteks SEO-spämmi ehk linke kurjategijate poolt promotavatele veebidele – või siis koodi, mis suunab kasutajad pahavara levitavatele lehtedele.

Kui kasutad WordPressi ja sul on kasutusel versioon 4.7 või 4.7.1 mida pole veel automaatselt uuendatud versioonile 4.7.2 (või sa pole selles kindel), siis logi haldusliidesesse sisse ja käivita uuendus – või löö oma veebimeister maast lahti. Hiljem veebisisu puhastamine on oluliselt kallim, eriti arvestades vajadust kontrollida üle mitte ainult serveris olevad failid, vaid ka postituste sisu. Isegi see, kui uuenduse käigus midagi katki peaks minema ja parandamist nõudma (üsna vähetõenäoline) on suurusjärgu või paari jagu väiksem kulu võrreldes veebi puhastamise vajadusega.

Zone Virutaalserverite “farmil” kaitsvad loitsud peal

Olen nüüd loodetavasti piisavalt rõhutanud uuendamise vajadust ja võin ka vaikselt mainida, et kuna Sucuri avaldas probleemi analüüsi, siis oli sellest võimalik tuletada ka kaitseviis – ning me sund-paigaldasime selle kõikidesse meie hallatavatesse serveritesse, eeldatavasti probleeme tekitavate kõrvalmõjudeta. Samuti oleme hoidnud silma peal Zone+ uuendustel, et kõik kellel väiksed uuendused lubatud on saaksid endale 4.7.2 peale.

Kui su WordPress on majutatud mõne teise teenusepakkuja juures ja puudub võimalus uuendamiseks (aga saad lisada pluginaid), siis on abi Disable REST API pluginast. Samas ma soovitaks sellisel puhul arendajale otsa (kui oled arendaja, siis peeglisse) vaadata ja küsida, et miks ei saa kohe ja automaatselt uuendada.

Kui oled teenusepakkuja nagu meie – siis võiksid lisada ka oma serveritesse reeglid… aga kuna WP ja Sucuri hetkel neid välja ei jaga (mõnevõrra küsitav taktika, kuna ründeviis on üsna hästi kirjas), siis ütleme inimkeeles, et kinni tuleks keerata post-put-patch meetodid wp-json/wp/v2/posts/ endpoint’i vastu (soovitavalt ainult olukorras, kus seal sabas on midagi muud peale numbrite).

Täiendet – ka get vajab reegleid, sest sealtkaudu saab vajadusel teise _method’i anda, vajadusel võib mul privas küsida reegleid mida WP core tiim suurte teenusepakkujatega jagas.

Amsterdamis majutatud serverid kolivad uude andmekeskusesse

Neljapäeva, 26. jaanuari varahommikul kolime Amsterdamis majutatud Pilve- ja Virtuaalserverid uude andmekeskusesse.

Kolimisega kaasneb katkestus kell 01-05 (Eesti aja järgi), kliendid keda see mõjutab said nädal tagasi e-postile ka vastava eelteavituse.

Kuna meie seni kasutatud Amsterdami andmekeskus hakkas kitsaks jääma, oleme umbes pool aastat plaaninud oma serverite kolimist uude andmekeskusesse.

Toide, võrguühendused ning osa võrguseadmetest on seal juba kohal ja testitud, 26. jaanuari varahommikul liiguvad ühest majast teise ka serverid, mida kasutavad Pilveserver PRO SSD kliendid, aga samuti oma asukohaks Amsterdami valinud Pilveserver VPS ja Virutaalserverite kliendid.

Kolimisega kaasneb ca 4h katkestus – aga nagu timelapse-videost näha, oleme me seda juba oluliselt suurema hulga serveritega harjutanud:

Zone teenuste olekut saab reaalajas jälgida status.zone.eu, samast saab ka tellida e-postile teavituse intsidentide kohta.

Uus asukoht Euroopa ühes kaasaegsemas andmekeskuses (Equinix AM6) tõstab meie süsteemide töökindlust, tagades kõrgendatud nõuetele vastavad toite- ja võrgulahendused, võimsama kliimatehnika ja kõrgema turvalisuse. Andmekeskuse sertifitseeringud hõlmavad nii ISAE 3402, ISO27001, ISO 140001, ISO 50001 kui ka PCI DSS standardeid. Mitmekordistub ka meie kohapealse andmesidevõrgu ühenduskiirus.

Kuna uues andmekeskuses avaneb meil võimalus paindlikumalt muuta olemasolevaid ning luua uusi teenuseid, siis oleme huvitatud ka teie ettepanekutest, soovidest ja tagasisidest – muuhulgas on uues kohas juba paigas esimesed Nutikad Privaatserverid.

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 😉