Saabub OpenSSL 3 tugi – ka aegunud PHP versioonidele

Ingmar Aasoja
Jaga:

Zone veebimajutusplatvormi aluseks olevat ZoneOS operatsioonisüsteemi ootab ees suurem uuendus: juurutame OpenSSL 3. versiooni. See muutus mõjutab pea kõiki rakendusi, mis tegelevad krüptograafiaga, kuid enamikul juhtudel pole see lõppkasutajate jaoks märgatav. Üleminek on aja ja ressursimahukas, sest oleme pidanud lisama vajaliku toe PHP pärandversioonidele vahemikust 5.6 kuni 8.0.

Seni oleme backportinud turvapaiku uutest versioonidest OpenSSL’i versioonile 1.1, sest vanemad PHP versioonid ei tööta uuema OpenSSL-iga. See pole aga pikas perspektiivis jätkusuutlik lahendus ja seepärast oleme hakanud panustama vanemate PHP versioonide ise parandamisele, et need töötaksid uuema OpenSSL’iga. Nüüd oleme selle mahuka protsessiga lõpusirgele jõudnud.

Saabub OpenSSL 3 tugi - ka aegunud PHP versioonidele

Kõnealune muudatus jõuab serveritesse järk-järgult käesoleva aasta juuli ja augusti jooksul. Esmalt veebimajutusteenusele ning seejärel nutikatele pilve- ja privaatserveritele.

Seda, kas muudatus on serverisse jõudnud, saab PHP veebirakenduses teha lihtsa koodijupiga:

echo OPENSSL_VERSION_TEXT;Code language: PHP (php)

OpenSSL 3 tugi vananenud PHP versioonidel

Pärandvaraks muutunud aegunud PHP versioone enam arendajate poolt ei parandata ega täiendata, seepärast on meie programmeerijad ise lisanud OpenSSL 3.0 toe ka neile.

Olulisim sellega seonduv muutus on OpenSSL security level-i rangemaks muutumine – vaikimisi ei aktsepteerita siis enam TLS 1.2 standardist nõrgemaid ühendusi. See võib tekitada probleeme, kui PHP vahenditega tehakse ühendusi serveriga, mis toetab ainult igivana TLS krüptot.

OpenSSL security level’it on PHP dokumentatsiooni järgi võimalik seadistada alates PHP 7.2 versioonist, kuid meie arendajate tiim on loonud selle võimaluse ka vanematesse versioonidesse. Nii on see kasutatav alates versioonist 5.6.

Vaikimisi security level’it on võimalik ka nõrgemaks seadistada. Mida iga tase tähendab, seda saab lugeda OpenSSL dokumentatsioonist. Vihjeks võib öelda, et mida väiksem tase, seda ebaturvalisem on security level, null- ehk 0-tasemega võib arvestada, et praktiliselt seda ei eksisteerigi.

Kui kasutatakse mõnda sisemist pärandvara rakendust, mis tõesti vajab turvataseme alandamist, piisab järgmise koodijupi lisamisest:

stream_context_set_default([
    'ssl' => [
        'security_level' => 0,
    ]
]);Code language: PHP (php)

Kui on juba kindlalt teada, et pärandvara rakendus vajab tulevikus nõrgemat turvataset, saab versioonikontrolli juba varem sisse viia järgmiselt:

if (defined('OPENSSL_VERSION_NUMBER') && OPENSSL_VERSION_NUMBER >= 0x3000000f) {
    stream_context_set_default([
        'ssl' => [
            'security_level' => 0,
        ]
    ]);
}Code language: PHP (php)

Populaarsed postitused

Partner soovitab: Nii väldid ebaõnnestumisi Google reklaamidega

Klewer
Google Ads on tänapäeval suurettevõtete jaoks üks kõige tõhusamaid ja võimsamaid viise müügitulemuste kasvatamiseks. Pole juhus, et 80% ettevõtetest...

Valmisolek Eesti liitumiseks Mandri-Euroopa elektrivõrguga

Ardi Jürgens
Elektrikatkestuse risk eelseisval nädalavahetusel võib olla tavapärasest suurem, kui Eesti koos Läti ja Leeduga end Venemaa elektrivõrgust lahti ühendab...

Partner soovitab: Eduka meiliturunduse alused ehk sissejuhatus A/B testimisse

Smaily
Kas oled varem kuulnud selliseid mõisteid nagu A/B testimine, split testimine või mitme muutujaga testimine? Muidugi võivad need sõnad meenutada keerulisi...

JavaScripti UI raamistikele ehitatud veebirakenduste avaldamine Vue näitel

Zone Blogi
Sellest on nüüd veidi üle aasta möödas, kui kirjutasin blogiloo sellest, kuidas automatiseerida veebirakenduste avaldamist Zone veebimajutusse läbi...