UPDATED (September 2nd. 2020)

A trecut un an de când am publicat această poveste. De atunci a fost lansat Ubuntu 20.04, iar cea mai nouă versiune OpenSSL a fost publicată pe 6 august 2020. Practic, singurul lucru pe care l-am schimbat în această poveste a fost litera care face referire la seria OpenSSL 1.1.1, adică schimbarea literei „c” din versiunea originală cu litera „g” în comenzile versiunii actualizate. Deși aceste modificări sunt reflectate în comenzi, imaginile care ilustrează rezultatele acestor comenzi rămân neschimbate. Lectură plăcută!

Dacă folosiți protocolul SSL/TLS în aplicația dumneavoastră, sau sunteți pe cale să o faceți, recomandarea este să mențineți OpenSSL actualizat. Acest lucru este valabil mai ales datorită rolului pe care îl joacă în emiterea de certificate, dar și după lecțiile învățate cu Heartbleed.

Ubuntu 20.04.1 (cea mai recentă actualizare 20.04 începând cu septembrie 2020) vine cu „OpenSSL 1.1.1 31 mar 2020” instalat și Ubuntu 18.04.03 (cea mai recentă actualizare 18.04 începând cu august 2019) vine cu „OpenSSL 1.1.1 11 sep 2018” livrat. În acest moment, cea mai recentă versiune a seriei OpenSSL 1.1.1.1 este „1.1.1g” livrată pe 6 august. 2020.

În această poveste voi îndruma cititorul cum să procedeze la această actualizare fără a întrerupe orice interoperabilitate cu aplicațiile existente care depind de OpenSSL.

Presupun că cititorul este familiarizat cu comenzile bash și, desigur, actualizarea se va face pe o cutie Ubuntu 20.04 sau 18.04. Deși nu văd niciun motiv pentru care această procedură nu ar trebui să funcționeze pe Ubuntu 16.04 (dacă găsiți, vă rog să mă anunțați), nu a fost testată.

Primul lucru de făcut este să verificați ce versiune este instalată:

$ openssl version

În cazul meu „OpenSSL 1.1.1 20 Mar 2020” a fost rezultatul.

Pasul 1: Descărcați openssl-1.1.1.1g de aici și salvați-l în directorul ~/Downloads:

$ cd ~/Downloads
$ wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz

Pasul 2: Verificați dacă este corupt comparând suma de verificare SHA256 de aici cu suma de verificare calculată a fișierului zip descărcat:

$ wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz.sha256
$ echo "$(cat openssl-1.1.1g.tar.gz.sha256) openssl-1.1.1g.tar.gz" | sha256sum --check

În imaginea de mai jos, comenzile de mai sus sunt subliniate cu galben, iar rezultatul sumei de verificare (OK în acest caz) este subliniat cu verde:

Pasul 3: Verificarea semnăturii fișierului zip descărcat

Înainte de a instala conținutul fișierului zip descărcat vom verifica semnătura acestuia, folosind GnuPG livrat cu Ubuntu (acesta poate fi de încredere, așa cum se menționează la GnuPG).

La pagina de descărcare OpenSSL găsim următoarele informații : „Cheile PGP pentru semnături sunt disponibile pe pagina OMC. Printre membrii actuali care semnează versiunile se numără Richard Levitte și Matt Caswell.” Urmărind link-ul de pe pagina OMC ajungem la cheile publice ale membrilor. Următorul pas este deci de a descărca cheile necesare (una în levitte.txt și cealaltă în caswell.txt) și de a le importa în baza de date GnuPG. Folosind curl:

$ curl 'http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x7953AC1FBC3DC8B3B292393ED5E9E43F7DF9EE8C' > levitte.txt
$ curl 'http://pool.sks-keyservers.net:11371/pks/lookup?op=get&search=0x8657ABB260F056B1E5190839D9C4D26D0E604491' > caswell.txt

Pentru a avea încredere în aceste semnături este o bună practică să verificăm certificatul domeniului (figura de mai jos). Utilizând fila Google Chrome Security din cadrul instrumentelor pentru dezvoltatori, se poate valida faptul că emitentul ” Let’s Encrypt Authority X3″ (de încredere pentru browser) a emis certificatul pentru domeniul www.openssl.org, ceea ce înseamnă că acesta este un certificat de validare a domeniului, ceea ce permite oricui să aibă încredere în semnăturile descărcate.

Ambele chei sunt importate și apoi listate după cum urmează:

$ gpg --import caswell.txt
$ gpg --import levitte.txt
$ gpg --list-keys

Imaginea următoare conține rezultatul comenzilor de mai sus care sunt subliniate cu galben:

Lasă un răspuns

Adresa ta de email nu va fi publicată.