Programeri OpenBSD projekta nedavno su najavili izdanje prijenosnog izdanja paketa. "FreeSSL 3.8.0", verzija u kojoj je napravljeno nekoliko promjena i poboljšanja usmjerenih na stabilnost i kompatibilnost.
Za one koji nisu svjesni LibreSSL-a, trebali biste znati da ovo je implementacija otvorenog koda protokola TLS razvija račvanje OpenSSL-a namijenjen pružanju više razine sigurnosti. LibreSSL je u početku razvijen kao namjeravana zamjena za OpenSSL na OpenBSD-u, a prenesen je na druge platforme nakon što je smanjena verzija biblioteke stabilizirana.
Projekt LibreSSL fokusiran je na visokokvalitetnu podršku za SSL/TLS protokole uklanjanjem nepotrebnih značajki, dodavanjem dodatnih sigurnosnih značajki te značajnim čišćenjem i preradom baze koda.
Glavne nove značajke LibreSSL 3.8.0
LibreSSL verzija 3.8.0 smatra se eksperimentalnom verzijom koji razvija funkcije koje će biti uključene u OpenBSD 7.4. Istodobno su nastale stabilne verzije LibreSSL-a 3.6.3 i 3.7.3 u kojima su ispravljene razne greške.
U ovoj novoj verziji LibreSSL 3.8.0, istaknuto je da poboljšana endian.h kompatibilnost s hto* i *toh makroima, Osim dodavanja podrška za SHA-2 i SHA-3 skraćeno i interni proces čišćenja i prerade SHA koda je započeo.
Još jedna značajna promjena su prepisane interne funkcije BN_exp() i BN_copy(), kao i zamjena implementacije funkcije BN_mod_sqrt().
Uz to se ističe i da upute dodane asembler za arhitekturu AMD64 koristite endbr64 upute (Završi neizravni ogranak).
Također se ističe da je dodan popravak za loše promišljenu promjenu u OpenSSL 3 koja je pokvarila podršku za odvajanje privilegija u libtls, Osim toga, BoringSSL kod je prenesen za provjeru pravila definiranih u RFC 5280, a prijevod libcrypto nastavlja koristiti CBB (bytebuilder) i CBS (bytestring) sučelja.
S druge strane, istaknuto je da je kod za provjeru pravila BoringSSL RFC 5280 uvezen i korišten
za zamjenu starog eksponencijalnog vremenskog koda, uz uklanjanje podrške za GF2m:BIGNUM budući da ne podržava binarno proširenje, uklanjanje većine javnih simbola koji su zastarjeli u OpenSSL-u 0.9.8.
Od ostalih promjena koji se ističu u ovoj novoj verziji:
- Uklonjen X9.31 javni API (RSA_X931_PADDING je još uvijek dostupan).
- Uklonjen način krađe šifriranog teksta.
- Uklonjena podrška za SXNET i NETSCAPE_CERT_SEQUENCE, uključujući
openssl(1) naredba nseq. - Podrška za ispušteni proxy certifikat (RFC 3820).
- POLICY_TREE i njegove povezane strukture i API-ji su uklonjeni.
- Ispravljena provjera programske pogreške za i2d_ECDSA_SIG() u ossl_ecdsa_sign().
- Popravljeno otkrivanje proširenih operacija (XOP) na AMD hardveru.
- Popravljeno rukovanje greškom u tls_check_common_name().
- Dodano poništavanje pokazivača koji nedostaje u SSL_free().
- Popravljeni X509err() i X509V3err() i njihove interne verzije.
- Značajno poboljšana pokrivenost testom BN_mod_sqrt() i GCD.
- Kao i uvijek, nova pokrivenost testiranja dodaje se kako se bugovi i podsustavi ispravljaju
čiste se.
Konačno, ako vas zanima više o tome, možete se posavjetovati s pojedinostima U sljedećem linku.
Kako instalirati novu verziju LibreSSL-a?
Za one koji su zainteresirani da mogu instalirati ovu novu verziju, trebali bi znati da ona trenutno nije dostupna u većini distribucija Linuxa, tako da je trenutno dostupna instalacija sami sastavili paket.
Ali ne brinite, LibreSSL verzija Vrlo je jednostavno i za to morate samo otvoriti terminal i pokrenite sljedeće naredbe (morate imati sljedeće ovisnosti automake, autoconf, git, libtool, perl i git).
Prva stvar je nabaviti izvorni kod, što možete učiniti ovom naredbom:
git klon https://github.com/libressl/portable.git
Nakon što to učinimo, sada ćemo pripremiti način za izvođenje kompilacije, za to ulazimo u mapu koja sadrži izvorni kod LibreSSL-a i upisujemo:
cd prijenosni ./autogen.sh ./dist.sh
Kada to učinimo, nastavljamo s kompajliranjem s:
./configure make check make install
Ili ako radije to radite s CMakeom:
mkdir build cd build cmake .. make make test