Az OpenSSL egy széles körben használt kriptokönyvtár, amely SSL és TLS protokollokat valósít meg a számítógépes hálózatokon keresztüli biztonságos kommunikációhoz. Az OpenSSL-t számos program használja, például az Apache webszerver, a PHP, a Postfix és sok más program. Az OpenSSL támogatást nyújt különböző kriptográfiai algoritmusokhoz, mint például a titkosítás (AES, Blowfish, DES, IDEA stb.), kriptográfiai hash függvények (MD5, MD4, SHA-1, SHA-2 stb.) és nyilvános kulcsú kriptográfia (RSA, DSA, Diffie-Hellman kulcscsere).
Ezzel a bemutatóval lépésről lépésre megmutatom, hogyan lehet a legújabb stabil OpenSSL verziót forrásból telepíteni Ubuntu 18.04 és CentOS 7.6 szerverekre.
Mit fogunk csinálni?
- A függőségek telepítése
- Az OpenSSL forráskód letöltése
- Az OpenSSL telepítése
- Kompilálás és OpenSSL telepítése
- Link könyvtárak konfigurálása
- OpenSSL Binary konfigurálása
- Tesztelés
Step 1 – A függőségek telepítése
Az első lépés, mielőtt lefordíthatnánk az OpenSSL könyvtárat a forrásból, telepítenünk kell néhány csomagfüggőséget, beleértve a ‘build-essential’ csomagot Ubuntu esetén, vagy a ‘Development Tools’ csomagot CentOS esetén.
Az Ubuntu
Az Ubuntu tároló frissítése és a szoftverek fordításához szükséges csomagfüggőségek telepítése az alábbi apt parancs segítségével.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
A CentOS
A ‘Development Tools’ és néhány csomagkönyvtár telepítése a yum parancs segítségével.
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
A telepítés befejezése után lépjünk a következő lépésre.
2. lépés – OpenSSL letöltése
Ezzel a bemutatóval az OpenSSL legújabb stabil verzióját – OpenSSL 1.0.2o – fogjuk telepíteni. A forráskódot letölthetjük az OpenSSL oldaláról.
Menjünk a ‘/usr/local/src’ könyvtárba, és töltsük le az OpenSSL forráskódját a wget segítségével.
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
Majd kicsomagoljuk az openssl.tar.gz fájlt, és menjünk az ‘openssl’ könyvtárba.
tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
Az OpenSSL forráskód letöltésre került.
3. lépés – OpenSSL telepítése
Mielőtt az egyéni OpenSSL verziót telepítenénk a rendszerre, ellenőrizzük a telepített verziót az alábbi parancs segítségével.
openssl version -a
Az alábbiakban az Ubuntun elért eredményeim láthatók:
A CentOS-on pedig:
Az ‘1.1.0g’ verziót cseréljük le a legújabb stabil 1. verzióra.0.2o.
Telepítjük az új OpenSSL verziót az adott ‘/usr/local/ssl’ könyvtárba, majd engedélyezzük az OpenSSL linkkönyvtárait, és beállítjuk az OpenSSL új bináris PATH-ját.
Az OpenSSL telepítése és fordítása
Menjünk az openssl letöltött ‘/usr/local/src/openssl’ könyvtárába.
cd /usr/local/src/openssl-1.0.2o
Konfiguráljuk és fordítsuk az OpenSSL-t az alábbi parancsokkal.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Várjunk az OpenSSL fordítási folyamatára.
Megjegyzés:
- –prefix és –openssldir = Állítsa be az OpenSSL kimeneti útvonalát.
- shared = kényszerítse a megosztott könyvtár létrehozását.
- zlib = engedélyezze a tömörítést a zlib könyvtár használatával.
Amikor a fordítási folyamat befejeződött, telepítse az OpenSSL-t az alábbi parancs segítségével.
make install
Az OpenSSL-t a ‘/usr/local/ssl’ könyvtárba telepítjük.
Kapcsolható könyvtárak konfigurálása
A következőkben az OpenSSL megosztott könyvtárait konfiguráljuk. Az új OpenSSL bináris az ‘/usr/local/ssl/lib’ könyvtárból fogja betölteni a könyvtárfájlokat.
Menjünk az ‘/etc/ld.so.conf.d’ könyvtárba, és hozzunk létre új konfigurációs fájlt ‘openssl-1.0.2o.conf’.
cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf
Az openssl könyvtárak elérési útvonalának könyvtárát illesszük be.
/usr/local/ssl/lib
Mentés és kilépés.
Most töltsük be újra a dinamikus linket az alábbi paranccsal.
sudo ldconfig -v
És látni fogjuk, hogy az OpenSSL könyvtárak a ‘/usr/local/ssl/lib’ könyvtárba betöltődtek.
Ubuntu:
CentOS:
Az OpenSSL bináris beállítása
Az alapértelmezett openssl bináris ‘/usr/bin/openssl vagy /bin/openssl’ helyett az új ‘/usr/local/ssl/bin/openssl’ változatot fogjuk használni.
Az Ubuntu 18.04 LTS
Másolja le a bináris fájlokat.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Módosítsa az ‘/etc/environment’ fájlt a vim segítségével.
vim /etc/environment
Most adja hozzá az új OpenSSL bináris könyvtárat az alábbiak szerint
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Mentés és kilépés.
Töltse vissza a környezeti fájlt és tesztelje az új frissített bináris PATH-ot.
source /etc/environment
echo $PATH
Most ellenőrizze újra az OpenSSL bináris fájlját.
which openssl
Az alábbi eredményt kapja.
Az OpenSSL bináris útvonala az Ubuntu esetében frissült.
A CentOS 7-en.6
Másolja le a CentOS OpenSSL bináris fájljait.
mv /bin/openssl /bin/openssl.BEKUP
Új környezeti fájlok létrehozása az OpenSSL számára.
vim /etc/profile.d/openssl.sh
A lenti konfiguráció beillesztése.
#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport PATH
Mentés és kilépés.
Az openssl.sh fájl futtathatóvá tétele.
chmod +x /etc/profile.d/openssl.sh
Töltse be az OpenSSL környezetet és ellenőrizze a PATH bin könyvtárat az alábbi parancsokkal.
source /etc/profile.d/openssl.sh
echo $PATH
Most ellenőrizze az OpenSSL fájlt.
which openssl
Az alábbi eredményt fogja kapni.
A CentOS-on az OpenSSL bináris útvonala frissült.
4. lépés – Tesztelés
Tesztelje az OpenSSL új verzióját az alábbi parancs segítségével.
openssl version -a
Az eredmény Ubuntun.
Eredmény CentOS-en.