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

"Pilve pole olemas. On lihtsalt kellegi teise arvuti."

Ardi Jürgens
Mis ikkagi on pilveteenus, kuidas see keerukas süsteem töötab ning kuidas me tulime mõne nädala eest toime ühe jõudlust pärssinud ootamatusega....

Saabub OpenSSL 3 tugi - ka aegunud PHP versioonidele

Ingmar Aasoja
Zone veebimajutusplatvormi aluseks olevat ZoneOS operatsioonisüsteemi ootab ees suurem uuendus: juurutame OpenSSL 3. versiooni. See muutus mõjutab pea...

Uuendame NodeJS ja Python vaikeversioone

Ingmar Aasoja
Juunis 2024 hakkame Zone platvormi järk-järgult l uuendama NodeJS ja Python vaikeversioone, mistõttu palume käesoleva kirjatükiga tähelepanu just...

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...