PHP 7.1, testijate ID-kaardid, kehtivuskinnituse manustamine ja turvapaik, mis tekitab turvaaugu

Peeter Marvet
Jaga:

Antud blogipostitus on 88 kuud vana ning ei pruugi olla enam ajakohane.

Ega’s midagi, paneme aga progressile hagu alla ja proovime lahti seletada, kuidas see kõik maailmarevolutsioonile kasulik on.

OCSP stapling ehk kehtivuskinnituse manustamine

Selle vajadus tuli meil esimest korda jutuks, kui rahvusvaheliselt Magento-arendusega tegelev Vaimo mainis HTTPS’ist rääkides aeglasema ühendusega turge kolmanda maailma riikides. Nimelt kontrollivad veebibrauserid HTTPS-ühenduse loomisel serveri sertifikaadi kehtivust, tehes täiendava päringu selle väljastanud sertifitseerimisasutuse poole, see aga võtab aega ja võib kehva ühenduse puhul ka ebaõnnestuda.

Probleemist aitab üle OCSP stapling, mille puhul server hangib perioodiliselt ise OCSP ehk Online Certificate Status Protocol abil digiallkirjastatud kehtivuskinnituse, puhverdab selle ning väljastab ühenduse loomisel koos oma sertifikaadi-ahelaga. Nii saab brauser olemasoleva juursertifikaadi abil kontrollida kõigi sertifikaatide kehtivust ilma täiendavate päringuteta.

Zone Virtuaalserverites on nüüd olemas OCSP stapling tugi, mis on automaatselt aktiveeritud kõigile Let’s Encrypt sertifikaati kasutavatele serveritele, aga seda saab lubada ka muid sertifikaate kasutades eeldusel, et vahetaseme ehk intermediate sertifikaadid on korrektselt seadistatud. Olgu öeldud, et SSLlabs’i testis hea hinde saamiseks on intermediate ahela seadistus niikuinii vajalik – ja kuuldavasti hakkab hinne A varsti sõltuma ka OCSP stapling’u kasutamisest.

Seadistuse saab muuta Virtuaalserveri haldusest:

ocsp-stapling

Selle kohal on aga näha teine uuendus:

Eesti test-IDkaardi tugi ehk ẘĕļƈỗɯẹ, Cøntrolina Ålt-Deletè

controlina

Zones tarkvara-arenduses kasutame Sertifitseerimiskeskuse väljastatud test-IDkaarte vältimaks vajadust rakenduse testimisel reaalselt siduvaid digiallkirju anda ning potentsiaalset segadust domeeni sdfghjklö.ee registreerimise või asdasd.ee omanikuvahetusega. Oma arendus-serveri puhul test-sertifitseerimisasutuse seadistamine osa tavapärasest tööprotsessist, aga samas võiks edumeelne arendaja teha ka Virtuaalserveri puhul alamdomeenid test.* ja staging.* ning seal julgelt katsetada.

ID-kaardi tugi on olemas kõigis meie Virtuaalserverites ja realiseeritud nii, et server nõuab brauserilt kasutaja sertifikaati ning kontrollib selle väljastajat ja kehtivust. Ametliku ID-kaardi sertifikaadi väljastajaks on EE Certification Centre Root CA, testsertifikaadil TEST of EE Certification Centre Root CA:

sk-root-certs

Valides Virtuaalserveri halduses serverile või (soovitavalt) testiks kasutatavale alamdomeenile TEST ID-kaardi toe kontrollib server kliendi-sertifikaadi vastavust test-ahelale… ehk nii lihtne see ongi. Kuna valik on binaarne ehk üks-või-teine, puudub ka oht, et “tootmiskeskkonnas” saaks kasutada test-kaarte.

Kolmas ja neljas muudatus on aga seotud PHPga.

Mitme faililaiendi toe väljalülitamise võimalus

See on üks salakaval valik, mille mõlemad olekud tekitavad erinevat laadi turvaprobleeme.

Mitme faililaiendi tugi – mis meil ajalooliselt on lubatud olnud – tähendab seda, et PHP käivitamiseks ei pea .php olema ilmtingimata viimane laiend failinime lõpus – väidetavasti on ajaloolistel isikutel olnud kombeks kasutada pisipiltide loomiseks skripte, millel nimi stiilis teeme-väiksed-pildid.php.png, samuti leiab serveritest hulgaliselt faile nimedega stiilis wp-config.php.bak. Mitme laiendi tugi tagab nende mõlema käivitamise PHP-na ehk esimesel puhul tehakse pisipilt ja teisel puhul ei kuvata kõigile huvilistele välja seadistuste failis olevaid andmebaasi kasutajatunnuseid.

On aga ka negatiivne pool – nimelt leidub paljudes sisuhalduslahendustes ja nende laiendustes mitte-kõige-osavamalt-kirjutatud faili-üleslaadimise-koodi, mis heal juhul kontrollib failinime lõpus olevat laiendit ja lubab rahulikult … näiteks teeme-väikse-tagaukse.php.png laadimist serverisse. Kui on lubatud selliste failide käivitamine PHP-na, siis muutub oluliselt suurem hulk haavatavusi reaalselt ärakasutatavateks. Kui me aga selle välja lülitaks, võiks osa veebe katki minna ja teistes muutuksid kogemata serverisse ununenud .php.bak failid nähtavaks (neid skannitakse pidevalt).

Seega on igaühel nüüd võimalik mitme-laiendi-tugi välja lülitada, olles eelnevalt koristanud ära failid, millel kogemata on .php taha sattunud veel mõni muu laiend. Hea mõte oleks ka .htaccess’i algusesse mõned reeglid lisada, mis takistavad config-nimeliste failide kogemata kuvamist – päris hea kollektsioon on Perishable Press’i 6G reeglites (või minu väikeste kohendustega versioon gist’ina)

php-71

… ja PHP 7.1 on beetast väljas!

Meile teadaolevalt ei kaasne üleminekuga 7.1 peale suuremaid probleeme koodile, mis 7.0 all toimib. Esile võiks tuua vahest mcrypt’i (vt mcrypt-viking-funeral), mis hakkab andma hoiatusi ja kaob lõplikult järgmises versioonis.

Tõenäoliselt hakkame mõne alam-versiooni järel seadistama 7.1 uute Virtuaalserverite vaikeversiooniks – ning vastavalt väljakuulutatud poliitikale saab 6 kuu pärast ehk mais 2017 sellest SAPI ehk Apache moodulis kasutatav versioon ning ühtlasi läheb 7.1 kasutusse vaikimisi käsurealt käivitatava versioonina.

Populaarsed postitused

CloudFest 2024: AI annab riistvarale uue hingamise

Ingmar Aasoja
Läinud nädalal istus Zone tiim lennukisse ja sööstis taaskord CloudFesti põnevasse maailma, et heita pilk veebimajutusteenuste arengusuundadele. Meie...

Zone+ WordPressi Assistent: kuidas AI abiga sekunditega veebileht luua

Jaanus Putting
See aeg on läbi, mil vajadus kodulehe järele tähendas telefoniraamatust või guuglist veebidisaineri kontaktide otsimist. Tõenäoliselt üks viimase...

Aegunud PHP on aegunud PHP

Hasso Tepper
Kui esimene tänapäevane PHP versioon 25 aastat tagasi avalikuks tehti, oli internet hoopis teistsugune. Nõudmised veebilehtedele olid tagasihoidlikud...

Zone Veebiakadeemia - kuidas end Internetis nähtavaks teha

blogi
Zone Veebiakadeemia uusima episoodiga hakkame tutvustama ägedaid Zone koostööpartnereid. Seekord on meil külas Nobel Digitali tootejuht ja partner...