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?
- Asenna riippuvuudet
- Lataa OpenSSL:n lähdekoodi
- Asenna OpenSSL
- Kompiloi ja Asenna OpenSSL
- Konfiguroi linkkikirjastot
- Konfiguroi OpenSSL Binary
- 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.