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?
- Installer afhængigheder
- Download OpenSSL-kildekode
- Installer OpenSSL
- Kompilér og Installere OpenSSL
- Konfigurere Link Libraries
- Konfigurere OpenSSL Binary
- 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.