OpenSSL is een veelgebruikte cryptobibliotheek die SSL- en TLS-protocollen implementeert voor veilige communicatie via computernetwerken. OpenSSL wordt door veel programma’s gebruikt, zoals Apache Web server, PHP, Postfix en vele andere. OpenSSL biedt ondersteuning voor diverse cryptografische algoritmen zoals cijfers (AES, Blowfish, DES, IDEA enz.), cryptografische hashfuncties (MD5, MD4, SHA-1, SHA-2 enz.) en cryptografie met openbare sleutels (RSA, DSA, Diffie-Hellman sleuteluitwisseling).
In deze tutorial, zal ik je stap voor stap laten zien hoe je de laatste stabiele OpenSSL versie van broncode kunt installeren op Ubuntu 18.04 en CentOS 7.6 servers.
Wat gaan we doen?
- Onafhankelijkheden installeren
- Broncode van OpenSSL downloaden
- Installeren OpenSSL
- Compileren en OpenSSL
- Configureer Link Libraries
- Configureer OpenSSL Binary
- Testing
Step 1 – Afhankelijkheden installeren
De eerste stap, voordat we de OpenSSL bibliotheek vanaf broncode kunnen compileren, is het installeren van enkele afhankelijkheden van pakketten, waaronder het ‘build-essential’ pakket op Ubuntu, of het ‘Development Tools’ pakket op CentOS.
Op Ubuntu
Update de Ubuntu repository en installeer pakket afhankelijkheden voor software compilatie met het apt commando hieronder.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
Op CentOS
Installeer de ‘Development Tools’ en een aantal pakketten bibliotheken met het yum commando.
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
Als de installatie is voltooid, ga dan naar de volgende stap.
Stap 2 – Download OpenSSL
In deze tutorial, zullen we de laatste stabiele versie van OpenSSL installeren – OpenSSL 1.0.2o. U kunt de broncode downloaden van de OpenSSL site.
Ga naar de ‘/usr/local/src’ directory en download de OpenSSL broncode met wget.
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
Uitpak nu het openssl.tar.gz bestand, en ga naar de ‘openssl’ directory.
tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
De OpenSSL broncode is gedownload.
Stap 3 – Installeer OpenSSL
Voordat we de aangepaste OpenSSL versie op het systeem installeren, laten we eerst de geïnstalleerde versie controleren met het onderstaande commando.
openssl version -a
Hieronder staan mijn resultaten op Ubuntu:
En dit is op CentOS:
We zullen de ‘1.1.0g’ versie vervangen door de laatste stabiele versie 1.0.2o.
We zullen de nieuwe OpenSSL-versie installeren in de specifieke directory ‘/usr/local/ssl’, en vervolgens de Link Libraries van OpenSSL inschakelen en het nieuwe binaire PATH voor OpenSSL configureren.
Installeer en compileer OpenSSL
Ga naar de openssl gedownloade directory ‘/usr/local/src/openssl’.
cd /usr/local/src/openssl-1.0.2o
Configureer en compileer OpenSSL met onderstaande commando’s.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Wacht op het OpenSSL compileer proces.
Note:
- –prefix en –openssldir = Stel het uitvoerpad van de OpenSSL in.
- shared = forceer om een gedeelde bibliotheek te maken.
- zlib = zet de compressie aan met behulp van de zlib bibliotheek.
Wanneer het compileer proces klaar is, installeer dan de OpenSSL met het onderstaande commando.
make install
OpenSSL wordt geïnstalleerd in de ‘/usr/local/ssl’ directory.
Configure Link Libraries
Naar aanleiding hiervan gaan we de gedeelde bibliotheken voor OpenSSL configureren. De nieuwe OpenSSL binary zal bibliotheek bestanden laden uit de ‘/usr/local/ssl/lib’ directory.
Ga naar de ‘/etc/ld.so.conf.d’ directory en maak een nieuw configuratie bestand ‘openssl-1.0.2o.conf’.
cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf
Plak de openssl library path directory.
/usr/local/ssl/lib
Opslaan en afsluiten.
Nieuw laad de dynamische link met het onderstaande commando.
sudo ldconfig -v
En u zult zien dat de OpenSSL bibliotheken in de ‘/usr/local/ssl/lib’ directory geladen zijn.
Ubuntu:
CentOS:
Configure OpenSSL Binary
We zullen de standaard openssl binary ‘/usr/bin/openssl of /bin/openssl’ vervangen door de nieuwe versie ‘/usr/local/ssl/bin/openssl’.
Op Ubuntu 18.04 LTS
Backup van de binaire bestanden.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Bewerk het ‘/etc/environment’ bestand met vim.
vim /etc/environment
Voeg nu de nieuwe OpenSSL binaire directory toe zoals hieronder
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Opslaan en afsluiten.
Herlaad het environment bestand en test het nieuwe bijgewerkte binaire PATH.
source /etc/environment
echo $PATH
Controleer nu nogmaals het binaire OpenSSL bestand.
which openssl
U krijgt het resultaat zoals hieronder.
Het binaire pad van OpenSSL voor Ubuntu is geupdate.
Op CentOS 7.6
Backup de CentOS OpenSSL binaire bestanden.
mv /bin/openssl /bin/openssl.BEKUP
Maak nieuwe omgeving bestanden voor OpenSSL.
vim /etc/profile.d/openssl.sh
Plak configuratie hieronder.
#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport PATH
Opslaan en afsluiten.
Maak het openssl.sh bestand uitvoerbaar.
chmod +x /etc/profile.d/openssl.sh
Laad de OpenSSL omgeving en controleer de PATH bin directory met onderstaande commando’s.
source /etc/profile.d/openssl.sh
echo $PATH
Nu het OpenSSL bestand controleren.
which openssl
U krijgt het resultaat zoals hieronder.
Het binaire pad voor OpenSSL op CentOS is bijgewerkt.
Stap 4 – Testen
Test de nieuwe versie van OpenSSL met het volgende commando.
openssl version -a
Het resultaat op Ubuntu.
Het resultaat op CentOS.