OpenSSL ist eine weit verbreitete Krypto-Bibliothek, 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 usw.), kryptografische Hashfunktionen (MD5, MD4, SHA-1, SHA-2 usw.) 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 können.

Was werden wir tun?

  1. Abhängigkeiten installieren
  2. OpenSSL Quellcode herunterladen
  3. OpenSSL installieren
    1. Kompilieren und OpenSSL installieren
    2. Link-Bibliotheken konfigurieren
    3. OpenSSL Binary konfigurieren
  4. Testen

Schritt 1 – Abhängigkeiten installieren

Der erste Schritt, bevor wir die OpenSSL-Bibliothek aus dem Quellcode kompilieren können, ist es, einige Paketabhängigkeiten zu installieren, einschließlich des „build-essential“-Pakets auf Ubuntu oder des „Development Tools“-Pakets auf CentOS.

Auf Ubuntu

Aktualisieren Sie das Ubuntu-Repository und installieren Sie Paketabhängigkeiten für die Softwarekompilierung mit dem unten stehenden 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 yum-Befehl.

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

Nachdem die Installation abgeschlossen ist, gehen Sie zum nächsten Schritt über.

Schritt 2 – OpenSSL herunterladen

In diesem Tutorial werden wir die neueste stabile Version von OpenSSL installieren – OpenSSL 1.0.2o. Sie können den Quellcode von der OpenSSL-Website herunterladen.

Gehen Sie zum 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

Jetzt extrahieren Sie die Datei openssl.tar.gz und gehen 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 die benutzerdefinierte OpenSSL-Version auf dem System installiert wird, überprüfen wir die installierte Version mit dem folgenden Befehl.

openssl version -a

Nachfolgend meine Ergebnisse auf Ubuntu:

Und dies ist auf CentOS:

Wir werden die ‚1.1.0g‘ Version mit der neuesten stabilen Version 1.0.2o.

Wir werden die neue OpenSSL-Version in das spezielle Verzeichnis ‚/usr/local/ssl‘ installieren und dann die Link-Bibliotheken von OpenSSL aktivieren und den neuen Binärpfad für OpenSSL konfigurieren.

OpenSSL installieren und kompilieren

Gehen Sie zum heruntergeladenen OpenSSL-Verzeichnis ‚/usr/local/src/openssl‘.

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

Konfigurieren und kompilieren Sie OpenSSL mit folgenden Befehlen.

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

Warten Sie auf den OpenSSL Kompilierprozess.

Hinweis:

  • –prefix und –openssldir = Legen Sie den Ausgabepfad von OpenSSL fest.
  • shared = Erzwingen Sie die Erstellung einer Shared Library.
  • zlib = aktiviert die Kompression mit der zlib-Bibliothek.

Wenn der Kompiliervorgang 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 Shared Libraries für OpenSSL. Die neue OpenSSL-Binärdatei wird Bibliotheksdateien aus dem Verzeichnis ‚/usr/local/ssl/lib‘ laden.

Gehen Sie zum 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 mit den OpenSSL-Bibliotheken ein.

/usr/local/ssl/lib

Speichern und beenden.

Nun laden Sie den dynamischen Link mit dem folgenden Befehl neu.

sudo ldconfig -v

Und Sie werden sehen, dass die OpenSSL-Bibliotheken in das Verzeichnis ‚/usr/local/ssl/lib‘ geladen wurden.

Ubuntu:

CentOS:

OpenSSL Binary konfigurieren

Wir werden das Standard-OpenSSL-Binary ‚/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 folgt 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 den neuen aktualisierten Binärpfad.

source /etc/environment
echo $PATH

Überprüfen Sie nun erneut die OpenSSL-Binärdatei.

which openssl

Sie erhalten das folgende Ergebnis.

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

Fügen Sie die Konfiguration unten ein.

#Set OPENSSL_PATHOPENSSL_PATH="/usr/local/ssl/bin"export OPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexport 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 PATH-Bin-Verzeichnis mit den folgenden Befehlen.

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

Überprüfen Sie nun die OpenSSL-Datei.

which openssl

Sie erhalten das folgende Ergebnis.

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 unter Ubuntu.

Ergebnis unter CentOS.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.