OpenSSL este o bibliotecă criptografică utilizată pe scară largă care implementează protocoalele SSL și TLS pentru comunicații securizate prin rețele de calculatoare. OpenSSL este utilizat de multe programe, cum ar fi serverul web Apache, PHP, Postfix și multe altele. OpenSSL oferă suport pentru diverși algoritmi criptografici, cum ar fi cifrele (AES, Blowfish, DES, IDEA etc.), funcțiile hash criptografice (MD5, MD4, SHA-1, SHA-2 etc.) și criptografia cu cheie publică (RSA, DSA, schimb de chei Diffie-Hellman).
În acest tutorial, vă voi arăta pas cu pas cum să instalați cea mai recentă versiune stabilă OpenSSL de la sursă pe serverele Ubuntu 18.04 și CentOS 7.6.
Ce vom face?
- Instalați dependențele
- Descărcați codul sursă OpenSSL
- Instalați OpenSSL
- Compilați și Install OpenSSL
- Configure Link Libraries
- Configure OpenSSL Binary
- Testing
Pasul 1 – Instalarea dependențelor
Primul pas, înainte de a putea compila biblioteca OpenSSL din sursă, este de a instala unele dependențe de pachete, inclusiv pachetul „build-essential” pe Ubuntu, sau pachetul „Development Tools” pe CentOS.
Pe Ubuntu
Actualizați depozitul Ubuntu și instalați dependențele pachetelor pentru compilarea software-ului folosind comanda apt de mai jos.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
Pe CentOS
Instalați ‘Development Tools’ și unele pachete de biblioteci folosind comanda yum.
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
După ce instalarea este completă, treceți la pasul următor.
Pasul 2 – Descărcați OpenSSL
În acest tutorial, vom instala cea mai recentă versiune stabilă a OpenSSL – OpenSSL 1.0.2o. Puteți descărca codul sursă de pe site-ul OpenSSL.
Direcționați-vă în directorul ‘/usr/local/src’ și descărcați codul sursă OpenSSL folosind wget.
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
Acum, extrageți fișierul openssl.tar.gz și mergeți în directorul ‘openssl’.
tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
Codul sursă OpenSSL a fost descărcat.
Pasul 3 – Instalarea OpenSSL
Înainte de a instala versiunea personalizată OpenSSL în sistem, să verificăm versiunea instalată folosind comanda de mai jos.
openssl version -a
Mai jos sunt rezultatele mele pe Ubuntu:
Și aceasta este pe CentOS:
Vom înlocui versiunea ‘1.1.0g’ cu cea mai recentă versiune stabilă 1.0.2o.
Vom instala noua versiune OpenSSL în directorul specific ‘/usr/local/ssl’, apoi vom activa bibliotecile Link Libraries ale OpenSSL și vom configura noul PATH binar pentru OpenSSL.
Instalați și compilați OpenSSL
Direcționați-vă în directorul descărcat openssl ‘/usr/local/src/openssl’.
cd /usr/local/src/openssl-1.0.2o
Configurați și compilați OpenSSL cu comenzile de mai jos.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Așteptați procesul de compilare OpenSSL.
Note:
- –prefix și –openssldir = Stabilește calea de ieșire a OpenSSL.
- shared = forțează crearea unei biblioteci partajate.
- zlib = activează compresia folosind biblioteca zlib.
Când procesul de compilare este finalizat, instalați OpenSSL folosind comanda de mai jos.
make install
OpenSSL este instalat în directorul ‘/usr/local/ssl’.
Configurați bibliotecile de legătură
În continuare, vom configura bibliotecile partajate pentru OpenSSL. Noul binar OpenSSL va încărca fișierele de bibliotecă din directorul ‘/usr/local/ssl/lib’.
Direcționați-vă în directorul ‘/etc/ld.so.conf.d’ și creați un nou fișier de configurare ‘openssl-1.0.2o.conf’.
cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf
Căutați directorul openssl library path.
/usr/local/ssl/lib
Salvați și ieșiți.
Acum reîncărcați legătura dinamică folosind comanda de mai jos.
sudo ldconfig -v
Și veți vedea că bibliotecile OpenSSL de pe directorul ‘/usr/local/ssl/lib’ au fost încărcate.
Ubuntu:
CentOS:
Configurați binarul OpenSSL
Vom înlocui binarul openssl implicit ‘/usr/bin/openssl sau /bin/openssl’ cu noua versiune ‘/usr/local/ssl/bin/openssl’.
Pe Ubuntu 18.04 LTS
Realizați o copie de siguranță a fișierelor binare.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Editați fișierul ‘/etc/environment’ folosind vim.
vim /etc/environment
Acum adăugați noul director binar OpenSSL ca mai jos
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Salvați și ieșiți.
Reluați fișierul de mediu și testați noul PATH binar actualizat.
source /etc/environment
echo $PATH
Acum verificați din nou fișierul binar OpenSSL.
which openssl
Vă veți obține rezultatul de mai jos.
Calea binară a OpenSSL pentru Ubuntu a fost actualizată.
La CentOS 7.6
Realizați o copie de siguranță a fișierelor binare OpenSSL pentru CentOS.
mv /bin/openssl /bin/openssl.BEKUP
Creați noi fișiere de mediu pentru OpenSSL.
vim /etc/profile.d/openssl.sh
Pegați configurația de mai jos.
#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport PATH
Salvați și ieșiți.
Faceți fișierul openssl.sh executabil.
chmod +x /etc/profile.d/openssl.sh
Încărcați mediul OpenSSL și verificați directorul bin PATH folosind comenzile de mai jos.
source /etc/profile.d/openssl.sh
echo $PATH
Acum verificați fișierul OpenSSL.
which openssl
Vă veți obține rezultatul de mai jos.
Calea binară pentru OpenSSL pe CentOS a fost actualizată.
Etapa 4 – Testare
Testați noua versiune OpenSSL folosind următoarea comandă.
openssl version -a
Rezultatul pe Ubuntu.
Rezultatul pe CentOS.