OpenSSL on laajalti käytetty salauskirjasto, joka toteuttaa SSL- ja TLS-protokollat suojattuun tietoliikenteeseen tietokoneverkoissa. OpenSSL:ää käyttävät monet ohjelmat, kuten Apache-verkkopalvelin, PHP, Postfix ja monet muut. OpenSSL tarjoaa tukea erilaisille salausalgoritmeille, kuten salakirjoituksille (AES, Blowfish, DES, IDEA jne.), kryptografisille hash-funktioille (MD5, MD4, SHA-1, SHA-2 jne.) ja julkisen avaimen salaukselle (RSA, DSA, Diffie-Hellman-avaimen vaihto).

Tässä opetusohjelmassa näytän sinulle askel askeleelta, miten asennat uusimman vakaan OpenSSL-version lähdekoodista Ubuntu 18.04- ja CentOS 7.6 -palvelimille.

Mitä teemme?

  1. Asenna riippuvuudet
  2. Lataa OpenSSL:n lähdekoodi
  3. Asenna OpenSSL
    1. Kompiloi ja Asenna OpenSSL
    2. Konfiguroi linkkikirjastot
    3. Konfiguroi OpenSSL Binary
  4. Testaus

Vaihe 1 – Asenna riippuvuudet

Ensimmäinen vaihe, ennen kuin voimme kääntää OpenSSL-kirjaston lähdekoodista, on asentaa joitakin pakettiriippuvuuksia, mukaan lukien ’build-essential’ paketti Ubuntussa tai ’Development Tools’ paketti CentOS:ssa.

Ubuntussa

Päivitä Ubuntun arkisto ja asenna pakettiriippuvuudet ohjelmiston kääntämistä varten alla olevalla apt-komennolla.

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

CentOS:ssa

Asenna ’Development Tools’-paketti ja joitakin pakettikirjastoja yum-komennolla.

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

Kun asennus on valmis, siirry seuraavaan vaiheeseen.

Vaihe 2 – OpenSSL:n lataaminen

Tässä ohjeessa asennamme OpenSSL:n viimeisimmän vakaan version – OpenSSL 1.0.2o. Voit ladata lähdekoodin OpenSSL:n sivustolta.

Mene hakemistoon ’/usr/local/src’ ja lataa OpenSSL:n lähdekoodi wgetin avulla.

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

Pura nyt openssl.tar.gz-tiedosto ja mene hakemistoon ’openssl’.

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

OpenSSL:n lähdekoodi on ladattu.

Vaihe 3 – Asenna OpenSSL

Ennen kuin asennat mukautetun OpenSSL-version järjestelmään, tarkistetaan asennettu versio alla olevalla komennolla.

openssl version -a

Alhaalla ovat tulokseni Ubuntussa:

Ja tämä on CentOS:

Korvaamme version ’1.1.0g’ uusimmalla vakaalla versiolla 1.0.2o.

Asennamme uuden OpenSSL-version tiettyyn hakemistoon ’/usr/local/ssl’ ja otamme sitten käyttöön OpenSSL:n linkkikirjastot ja konfiguroimme OpenSSL:n uuden binäärisen PATH:n.

Asenna ja käännä OpenSSL

Mene openssl:n ladattuun hakemistoon ’/usr/local/src/openssl’.

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

Konfiguroi ja käännä OpenSSL alla olevilla komennoilla.

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

Odota OpenSSL:n kääntämistä.

Huomautus:

  • –prefix ja –openssldir = Aseta OpenSSL:n tulostuspolku.
  • shared = pakota luomaan jaettu kirjasto.
  • zlib = ota käyttöön pakkaus zlib-kirjaston avulla.

Kun kääntäminen on valmis, asenna OpenSSL alla olevalla komennolla.

make install

OpenSSL asennetaan hakemistoon ’/usr/local/ssl’.

Linkkikirjastojen konfigurointi

Seuraavaksi konfiguroidaan OpenSSL:n jaetut kirjastot. Uusi OpenSSL-binääri lataa kirjastotiedostot hakemistosta ’/usr/local/ssl/lib’.

Mene hakemistoon ’/etc/ld.so.conf.d’ ja luo uusi konfigurointitiedosto ’openssl-1.0.2o.conf’.

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

Taivuta openssl-kirjastojen polkuhakemisto.

/usr/local/ssl/lib

Tallenna ja poistu.

Lataa nyt dynaaminen linkki uudelleen alla olevalla komennolla.

sudo ldconfig -v

Ja näet, että hakemistossa ’/usr/local/ssl/lib’ olevat OpenSSL-kirjastot on ladattu.

Ubuntu:

CentOS:

OpenSSL-binäärin konfigurointi

Korvaamme oletusarvoisen openssl-binäärin ’/usr/bin/openssl tai /bin/openssl’ uudella versiolla ’/usr/local/ssl/bin/openssl’.

Ubuntussa 18.04 LTS

Varmuuskopioi binääritiedostot.

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

Muokkaa tiedostoa ’/etc/environment’ käyttäen vim:iä.

vim /etc/environment

Lisää nyt uusi OpenSSL:n binäärihakemisto seuraavasti

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

Tallenna ja poistu.

Lataa ympäristötiedosto uudelleen ja testaa uutta päivitettyä binäärin PATH:a.

source /etc/environment
echo $PATH

Tarkista nyt uudelleen OpenSSL:n binääritiedosto.

which openssl

Saat alla olevan tuloksen.

OpenSSL:n binääripolku Ubuntussa on päivitetty.

CentOS 7:ssä.6

Varmuuskopioi CentOS:n OpenSSL:n binääritiedostot.

mv /bin/openssl /bin/openssl.BEKUP

Luo uudet ympäristötiedostot OpenSSL:lle.

vim /etc/profile.d/openssl.sh

Täydennä konfiguraatio alla olevaan.

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

Tallenna ja poistu.

Tehdään openssl.sh-tiedosto suoritettavaksi.

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

Lataa OpenSSL-ympäristö ja tarkista PATH-bin-hakemisto alla olevilla komennoilla.

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

Tarkista nyt OpenSSL-tiedosto.

which openssl

Saat tuloksen alla olevan kaltaisena.

CentOS:n OpenSSL:n binääripolku on päivitetty.

Vaihe 4 – Testaus

Testaa OpenSSL:n uusi versio seuraavalla komennolla.

openssl version -a

Tulos Ubuntussa.

Tulos CentOS:ssa.

Vastaa

Sähköpostiosoitettasi ei julkaista.