OpenSSL är ett allmänt använt kryptobibliotek som implementerar SSL- och TLS-protokoll för säker kommunikation över datornätverk. OpenSSL används av många program som Apache webbserver, PHP, Postfix och många andra. OpenSSL ger stöd för olika kryptografiska algoritmer såsom chiffer (AES, Blowfish, DES, IDEA etc.), kryptografiska hashfunktioner (MD5, MD4, SHA-1, SHA-2 etc.) och kryptografi med offentliga nycklar (RSA, DSA, Diffie-Hellman nyckelutbyte).

I den här handledningen kommer jag att visa dig steg för steg hur du installerar den senaste stabila OpenSSL-versionen från källan på Ubuntu 18.04- och CentOS 7.6-servrar.

Vad ska vi göra?

  1. Installera beroenden
  2. Ladda ner OpenSSL-källkod
  3. Installera OpenSSL
    1. Kompilera och Installera OpenSSL
    2. Konfigurera länkbibliotek
    3. Konfigurera OpenSSL binärt
  4. Testning

Steg 1 – Installera beroenden

Det första steget, innan vi kan kompilera OpenSSL-biblioteket från källan, är att installera några paketberoenden, inklusive paketet ”build-essential” på Ubuntu eller paketet ”Development Tools” på CentOS.

På Ubuntu

Uppdatera Ubuntus arkiv och installera paketberoenden för kompilering av programvara med hjälp av kommandot apt nedan.

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

På CentOS

Installera ”Development Tools” och vissa paketbibliotek med hjälp av kommandot yum.

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

När installationen är klar kan du gå vidare till nästa steg.

Steg 2 – Ladda ner OpenSSL

I den här handledningen kommer vi att installera den senaste stabila versionen av OpenSSL – OpenSSL 1.0.2o. Du kan ladda ner källkoden från OpenSSL-webbplatsen.

Gå till katalogen ”/usr/local/src” och ladda ner OpenSSL-källkoden med hjälp av wget.

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

Extrahera nu filen openssl.tar.gz och gå till katalogen ”openssl”.

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

OpenSSL-källkoden har laddats ner.

Steg 3 – Installera OpenSSL

För att installera den anpassade OpenSSL-versionen i systemet ska vi kontrollera den installerade versionen med kommandot nedan.

openssl version -a

Nedan följer mina resultat på Ubuntu:

Och det här är på CentOS:

Vi kommer att byta ut versionen ”1.1.0g” mot den senaste stabila versionen 1.0.2o.

Vi kommer att installera den nya OpenSSL-versionen i den specifika katalogen ”/usr/local/ssl” och sedan aktivera länkbiblioteken för OpenSSL och konfigurera den nya binära PATH för OpenSSL.

Installera och kompilera OpenSSL

Gå till den nedladdade openssl-katalogen ”/usr/local/src/openssl”.

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

Konfigurera och kompilera OpenSSL med följande kommandon.

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

Vänta på OpenSSL-kompileringsprocessen.

Anmärkningar:

  • –prefix och –openssldir = Ställ in utdatasökvägen för OpenSSL.
  • shared = tvinga fram att skapa ett delat bibliotek.
  • zlib = aktivera komprimering med hjälp av zlib-biblioteket.

När kompileringsprocessen är klar installerar du OpenSSL med hjälp av kommandot nedan.

make install

OpenSSL installeras i katalogen ”/usr/local/ssl”.

Konfigurera länkbibliotek

Näst kommer vi att konfigurera de delade biblioteken för OpenSSL. Den nya binära OpenSSL-filen kommer att läsa in biblioteksfiler från katalogen ”/usr/local/ssl/lib”.

Gå till katalogen ”/etc/ld.so.conf.d” och skapa en ny konfigurationsfil ”openssl-1.0.2o.conf”.

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

Insätt katalogen med sökvägen till openssl-biblioteket.

/usr/local/ssl/lib

Spara och avsluta.

Lad nu om den dynamiska länken med hjälp av kommandot nedan.

sudo ldconfig -v

Och du kommer att se att OpenSSL-biblioteken i katalogen ”/usr/local/ssl/lib” har laddats.

Ubuntu:

CentOS:

Konfigurera OpenSSL binär

Vi kommer att byta ut standard OpenSSL binär ’/usr/bin/openssl eller /bin/openssl’ mot den nya versionen ’/usr/local/ssl/bin/openssl’.

På Ubuntu 18.04 LTS

Backupera de binära filerna.

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

Redigera filen ”/etc/environment” med hjälp av vim.

vim /etc/environment

Följ nu in den nya binära katalogen för OpenSSL enligt nedan

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

Spara och avsluta.

Släpp miljöfilen och testa den nya uppdaterade binära PATH.

source /etc/environment
echo $PATH

Kontrollera nu återigen den binära OpenSSL-filen.

which openssl

Du får resultatet enligt nedan.

Den binära sökvägen för OpenSSL för Ubuntu har uppdaterats.

På CentOS 7.6

Backupera de binära OpenSSL-filerna för CentOS.

mv /bin/openssl /bin/openssl.BEKUP

Skapa nya miljöfiler för OpenSSL.

vim /etc/profile.d/openssl.sh

Sätt in konfigurationen nedan.

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

Spara och avsluta.

Gör filen openssl.sh körbar.

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

Lad in OpenSSL-miljön och kontrollera PATH bin-katalogen med hjälp av nedanstående kommandon.

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

Kontrollera nu OpenSSL-filen.

which openssl

Du får resultatet enligt nedan.

Binärsökvägen för OpenSSL på CentOS har uppdaterats.

Steg 4 – Testning

Testa den nya versionen av OpenSSL med följande kommando.

openssl version -a

Resultatet på Ubuntu.

Resultatet på CentOS.

Lämna ett svar

Din e-postadress kommer inte publiceras.