OpenSSL ist eine weit verbreitete Kryptobibliothek, die SSL- und TLS-Protokolle für die sichere Kommunikation über Computernetzwerke implementiert. OpenSSL wird von vielen Programmen wie Apache Webserver, PHP, Postfix und vielen anderen verwendet. OpenSSL bietet Unterstützung für verschiedene kryptografische Algorithmen wie Chiffren (AES, Blowfish, DES, IDEA etc.), kryptografische Hash-Funktionen (MD5, MD4, SHA-1, SHA-2 etc.) und Public-Key-Kryptografie (RSA, DSA, Diffie -Hellman-Schlüsselaustausch).
In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie die neueste stabile OpenSSL-Version aus dem Quellcode auf Ubuntu 18.04- und CentOS 7.6-Servern installieren.
Was werden wir tun?
- Abhängigkeiten installieren
- OpenSSL-Quellcode herunterladen
- Installieren Sie OpenSSL
- OpenSSL kompilieren und installieren
- Link-Bibliotheken konfigurieren
- Konfiguriere die OpenSSL-Binärdatei
- Testen
Schritt 1 - Abhängigkeiten installieren
Der erste Schritt, bevor wir die OpenSSL-Bibliothek aus dem Quellcode kompilieren können, besteht darin, einige Paketabhängigkeiten zu installieren, darunter das Paket „build-essential“ unter Ubuntu oder das Paket „Development Tools“ unter CentOS.
Auf Ubuntu
Aktualisieren Sie das Ubuntu-Repository und installieren Sie Paketabhängigkeiten für die Softwarekompilierung mit dem folgenden apt-Befehl.
sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y
Auf CentOS
Installieren Sie die 'Development Tools' und einige Paketbibliotheken mit dem Befehl yum.
yum group install 'Development Tools'
yum install perl-core zlib-devel -y
Fahren Sie nach Abschluss der Installation mit dem nächsten Schritt fort.
Schritt 2 - OpenSSL herunterladen
In diesem Tutorial installieren wir die neueste stabile Version von OpenSSL - OpenSSL 1.0.2o. Sie können den Quellcode von der OpenSSL-Site herunterladen.
Gehen Sie in das Verzeichnis „/usr/local/src“ und laden Sie den OpenSSL-Quellcode mit wget herunter.
cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
Extrahieren Sie nun die Datei openssl.tar.gz und wechseln Sie in das Verzeichnis ‚openssl‘.
tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
Der OpenSSL-Quellcode wurde heruntergeladen.
Schritt 3 - OpenSSL installieren
Bevor wir die benutzerdefinierte OpenSSL-Version auf dem System installieren, überprüfen wir die installierte Version mit dem folgenden Befehl.
openssl version -a
Unten sind meine Ergebnisse auf Ubuntu:
Und das ist auf CentOS:
Wir werden die '1.1.0g'-Version durch die neueste stabile Version 1.0.2o ersetzen.
Wir werden die neue OpenSSL-Version im spezifischen Verzeichnis „/usr/local/ssl“ installieren und dann die Link-Bibliotheken von OpenSSL aktivieren und den neuen binären PATH für OpenSSL konfigurieren.
Installieren und kompilieren Sie OpenSSL
Gehen Sie zum heruntergeladenen Openssl-Verzeichnis ‚/usr/local/src/openssl‘.
cd /usr/local/src/openssl-1.0.2o
Konfigurieren und kompilieren Sie OpenSSL mit den folgenden Befehlen.
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
Warten Sie auf den OpenSSL-Kompilierungsprozess.
Hinweis:
- --prefix und --openssldir =Legt den Ausgabepfad von OpenSSL fest.
- shared =Erzwingen, dass eine gemeinsam genutzte Bibliothek erstellt wird.
- zlib =aktiviert die Komprimierung mit der zlib-Bibliothek.
Wenn der Kompilierungsprozess abgeschlossen ist, installieren Sie OpenSSL mit dem folgenden Befehl.
make install
OpenSSL wird im Verzeichnis „/usr/local/ssl“ installiert.
Link-Bibliotheken konfigurieren
Als Nächstes konfigurieren wir die gemeinsam genutzten Bibliotheken für OpenSSL. Die neue OpenSSL-Binärdatei lädt Bibliotheksdateien aus dem Verzeichnis „/usr/local/ssl/lib“.
Gehen Sie in das Verzeichnis ‚/etc/ld.so.conf.d‘ und erstellen Sie eine neue Konfigurationsdatei ‚openssl-1.0.2o.conf‘.
cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf
Fügen Sie das Verzeichnis des Openssl-Bibliothekspfads ein.
/usr/local/ssl/lib
Speichern und beenden.
Laden Sie nun den dynamischen Link mit dem folgenden Befehl neu.
sudo ldconfig -v
Und Sie werden sehen, dass die OpenSSL-Bibliotheken im Verzeichnis „/usr/local/ssl/lib“ geladen wurden.
Ubuntu:
CentOS:
OpenSSL-Binärdatei konfigurieren
Wir werden die standardmäßige Openssl-Binärdatei „/usr/bin/openssl oder /bin/openssl“ durch die neue Version „/usr/local/ssl/bin/openssl“ ersetzen.
Auf Ubuntu 18.04 LTS
Sichern Sie die Binärdateien.
mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP
Bearbeiten Sie die Datei „/etc/environment“ mit vim.
vim /etc/environment
Fügen Sie nun das neue OpenSSL-Binärverzeichnis wie unten beschrieben hinzu
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"
Speichern und beenden.
Laden Sie die Umgebungsdatei neu und testen Sie die neue aktualisierte Binärdatei PATH.
source /etc/environment
echo $PATH
Überprüfen Sie nun erneut die OpenSSL-Binärdatei.
which openssl
Sie erhalten das Ergebnis wie folgt.
Der Binärpfad von OpenSSL für Ubuntu wurde aktualisiert.
Auf CentOS 7.6
Sichern Sie die CentOS OpenSSL-Binärdateien.
mv /bin/openssl /bin/openssl.BEKUP
Erstellen Sie neue Umgebungsdateien für OpenSSL.
vim /etc/profile.d/openssl.sh
Konfiguration unten einfügen.
#Set OPENSSL_PATH OPENSSL_PATH="/usr/local/ssl/bin" export OPENSSL_PATH PATH=$PATH:$OPENSSL_PATH export PATH
Speichern und beenden.
Machen Sie die Datei openssl.sh ausführbar.
chmod +x /etc/profile.d/openssl.sh
Laden Sie die OpenSSL-Umgebung und überprüfen Sie das Verzeichnis PATH bin mit den folgenden Befehlen.
source /etc/profile.d/openssl.sh
echo $PATH
Überprüfen Sie nun die OpenSSL-Datei.
which openssl
Sie erhalten das Ergebnis wie folgt.
Der Binärpfad für OpenSSL auf CentOS wurde aktualisiert.
Schritt 4 – Testen
Testen Sie die neue Version von OpenSSL mit dem folgenden Befehl.
openssl version -a
Das Ergebnis auf Ubuntu.
Ergebnis auf CentOS.
Die neue neueste stabile Version von OpenSSL wurde von den Quellen auf Linux Ubuntu 18.04 und CentOS 7.5 installiert.