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

Veelkord aegunud PHP versioonidest

Kaarel Urva
Mäletatavasti teavitasime aprilli lõpus kliente sellest, et aegunud PHP versioonide kasutamine muutub tasuliseks. Mõistetavasti tuli see uudis paljudele...

Peagi saabub WooCommerce 9.0

Ingmar Aasoja
Kui räägime veebilehtedest, siis mõtleme sageli WordPressile. Kui lisame jutule e-poe, siis enamasti räägime WooCommerce'ist. WooCommerce on paljude...

PHP versiooniuuenduste strateegiad

Ingmar Aasoja
See, et aegunud PHP on koormaks nii meile kui ka klientidele, on korduvalt läbikäidud teema. Seetõttu oleme ette võtnud teekonna, millega püüame...

BIMI ja DMARC ei pruugi päästa: Tähelepanuta jäänud DKIM haavatavus

blogi
Zone spetsialistid märkasid DKIM standardis olevate hoiatuste ignoreerimisest tulenenud haavatavust, mis mõjutab kogu e-posti ökosüsteemi ja paneb...