OpenSSL er et udbredt kryptobibliotek, der implementerer SSL- og TLS-protokoller til sikker kommunikation over computernetværk. OpenSSL bruges af mange programmer som Apache-webserver, PHP, Postfix og mange andre. OpenSSL understøtter forskellige kryptografiske algoritmer som f.eks. kryptering (AES, Blowfish, DES, IDEA osv.), kryptografiske hash-funktioner (MD5, MD4, SHA-1, SHA-2 osv.) og kryptografi med offentlige nøgler (RSA, DSA, Diffie-Hellman-nøgleudveksling).

I denne vejledning vil jeg vise dig trin for trin, hvordan du installerer den seneste stabile OpenSSL-version fra kildekoden på Ubuntu 18.04- og CentOS 7.6-servere.

Hvad skal vi gøre?

  1. Installer afhængigheder
  2. Download OpenSSL-kildekode
  3. Installer OpenSSL
    1. Kompilér og Installere OpenSSL
    2. Konfigurere Link Libraries
    3. Konfigurere OpenSSL Binary
  4. Testning

Stræk 1 – Installer afhængigheder

Det første trin, før vi kan kompilere OpenSSL-biblioteket fra kildekoden, er at installere nogle pakkeafhængigheder, herunder pakken “build-essential” på Ubuntu eller pakken “Development Tools” på CentOS.

På Ubuntu

Opdatér Ubuntu-repositoriet og installer pakkeafhængigheder til kompilering af software ved hjælp af apt-kommandoen nedenfor.

sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y

På CentOS

Installer ‘Development Tools’ og nogle pakkebiblioteker ved hjælp af yum-kommandoen.

yum group install 'Development Tools'
yum install perl-core zlib-devel -y

Når installationen er færdig, skal du gå til næste trin.

Strin 2 – Download OpenSSL

I denne vejledning vil vi installere den seneste stabile version af OpenSSL – OpenSSL 1.0.2o. Du kan downloade kildekoden fra OpenSSL-webstedet.

Gå til mappen ‘/usr/local/src’ og download OpenSSL-kildekoden ved hjælp af wget.

cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz

Udpak nu filen openssl.tar.gz, og gå til mappen ‘openssl’.

tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o

OpenSSL-kildekoden er blevet downloadet.

Stræk 3 – Installer OpenSSL

Hvor vi installerer den tilpassede OpenSSL-version på systemet, skal vi kontrollere den installerede version ved hjælp af nedenstående kommando.

openssl version -a

Nedenfor er mine resultater på Ubuntu:

Og dette er på CentOS:

Vi vil erstatte ‘1.1.0g’-versionen med den seneste stabile version 1.0.2o.

Vi vil installere den nye OpenSSL-version i den specifikke mappe ‘/usr/local/ssl’, og derefter aktivere Link Libraries of OpenSSL og konfigurere den nye binære PATH for OpenSSL.

Installer og kompilér OpenSSL

Gå til den downloadede openssl-mappe ‘/usr/local/src/openssl’.

cd /usr/local/src/openssl-1.0.2o

Konfigurer og kompilér OpenSSL med nedenstående kommandoer.

./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test

Venter på OpenSSL-kompileringsprocessen.

Bemærk:

  • –prefix og –openssldir = Indstiller udgangsstien for OpenSSL.
  • shared = tvinger til at oprette et delt bibliotek.
  • zlib = aktivere komprimeringen ved hjælp af zlib-biblioteket.

Når kompileringen er afsluttet, skal du installere OpenSSL ved hjælp af nedenstående kommando.

make install

OpenSSL er installeret i mappen ‘/usr/local/ssl’.

Konfigurer linkbiblioteker

Næst skal vi konfigurere de delte biblioteker til OpenSSL. Den nye binære OpenSSL-fil vil indlæse biblioteksfiler fra mappen ‘/usr/local/ssl/lib’.

Gå til mappen ‘/etc/ld.so.conf.d’ og opret en ny konfigurationsfil ‘openssl-1.0.2o.conf’.

cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf

Indsæt mappen ‘openssl library path’.

/usr/local/ssl/lib

Spar og afslut.

Nu genindlæses det dynamiske link ved hjælp af nedenstående kommando.

sudo ldconfig -v

Og du vil se, at OpenSSL-bibliotekerne på mappen ‘/usr/local/ssl/lib’ er blevet indlæst.

Ubuntu:

CentOS:

Konfigurer OpenSSL binær

Vi vil erstatte standard openssl binær ‘/usr/bin/openssl eller /bin/openssl’ med den nye version ‘/usr/local/ssl/bin/openssl’.

På Ubuntu 18.04 LTS

Gør backup af de binære filer.

mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP

Rediger filen ‘/etc/environment’ ved hjælp af vim.

vim /etc/environment

Føj nu den nye binære OpenSSL-mappe til som nedenfor

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"

Spar og afslut.

Lad miljøfilen, og test den nye opdaterede binære PATH.

source /etc/environment
echo $PATH

Kontroller nu igen den binære OpenSSL-fil.

which openssl

Du får resultatet som nedenfor.

Den binære sti til OpenSSL for Ubuntu er blevet opdateret.

På CentOS 7.6

Gør en sikkerhedskopi af CentOS OpenSSL-binærfilerne.

mv /bin/openssl /bin/openssl.BEKUP

Opret nye miljøfiler til OpenSSL.

vim /etc/profile.d/openssl.sh

Indsæt nedenstående konfiguration.

#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport PATH

Spar og afslut.

Gør filen openssl.sh eksekverbar.

chmod +x /etc/profile.d/openssl.sh

Lad OpenSSL-miljøet og kontroller PATH bin-mappen ved hjælp af nedenstående kommandoer.

source /etc/profile.d/openssl.sh
echo $PATH

Kontroller nu OpenSSL-filen.

which openssl

Du får resultatet som nedenfor.

Den binære sti for OpenSSL på CentOS er blevet opdateret.

Stræk 4 – Test

Test OpenSSL’s nye version ved hjælp af følgende kommando.

openssl version -a

Resultatet på Ubuntu.

Resultatet på CentOS.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.