fragen stichworte

Upgrade von OpenSSL in CentOS 5.3 durchführen

Ich möchte eine IP-Adresse verwenden, um viele Domänen mit einzelnen SSL-Zertifikaten zu hosten (erfordert SNI). In CentOS 5.3 ist die neueste Version von OpenSSL, für die ich ein RPM finden kann, 0.9.8e, das SNI nicht unterstützt.

Ich möchte auf 0.9.8k upgraden, kann aber kein RPM finden. Ich könnte aus dem Quellcode kompilieren, aber wenn ich versuche, das vorhandene OpenSSL-Paket durch yum zu entfernen, muss ich alle Pakete entfernen, die von OpenSSL (100+ Pakete) abhängen.

EDIT: Ich habe am Ende 0.9.8k installiert, ohne die vorherige Version zu überschreiben. Jetzt vermeide ich, dass Abhängigkeiten gebrochen werden, und ich kann SNI verwenden. War das die beste Aktion?

antworten

Wenn Sie einfach die von RPM bereitgestellten Dateien überschrieben haben, haben Sie möglicherweise etwas Schmerzen. Zumindest ist es für jeden, der sich das System anschaut, irreführend.

In Ihrer Position würde ich eines von zwei Dingen tun:

1/Laden Sie das srpm für Centos herunter, und führen Sie ein rpm -i openssl-whatever.srpm

aus

Bearbeiten Sie die Datei/usr/src/redhat/SPEC/openssl.spec, um die Version und die Quelldatei auf die Version von openssl zu aktualisieren, die Sie erstellen möchten.

Führen Sie ein rpmbuild -ba/usr/src/redhat/SPEC/openssl.spec aus, um eine neuere Version des RPM zu erstellen. Wenn alles gut geht, erhalten Sie ein paar glänzende neue RPMs in/usr/src/redhat/RPMS/$ arch und Sie können sie einfach dort ablegen.

oder

2/Nab die openssl-srpm aus einer neueren Version (z. B. Fedora 12), und führen Sie ein rpmbuild --rebuild openssl-whatever.srpm

aus

Auch hier läuft alles gut, Sie erhalten einige RPMs, obwohl dies wahrscheinlich weniger zuverlässig ist (in dem Sinne, dass sich ABI und Abhängigkeiten beispielsweise von RHEL 5 zu Fedora 12 geändert haben).

Die beste Aktion besteht wahrscheinlich darin, OpenSSL 0.9.8k für ein anderes Verzeichnis (/usr/local oder/opt) zu kompilieren und dann eine geeignete Version von Apache mit dieser neuen OpenSSL zu kompilieren, anstatt mit der vom System bereitgestellten. Unglücklicherweise verlieren Sie den Komfort, über RPM ein Upgrade durchführen zu können. Sie erhalten jedoch die Möglichkeit, ohne Probleme mit den anderen 100+ Anwendungen zu verursachen, die von der aktuellen CentOS-Version von OpenSSL abhängen.

Wie haben Sie die neue Version installiert? Solange Ihre Anwendungen nicht fehlerhaft waren und sie den Pfad kennen, sollte die neue Version von SSL, die Sie installiert haben, in Ordnung sein.

Dies ist eine alte Antwort.

Aber es gibt eine Menge Leute, die immer noch RHEL 5/CentOS 5 aus verschiedenen Gründen betreiben. Leider steht RHEL 5 nicht mehr zur Verfügung und zusätzlich gab es für RHEL 5 nie ein Paket mit OpenSSL> = 1.

Wenn Sie keine Bedenken hinsichtlich der Verwendung eines ausländischen Repos haben, können Sie "tuxad repo" verwenden. Es bietet einen anderen und einfacheren Weg, OpenSSL von RHEL 5 auf den von RHEL 6 zu aktualisieren (was immer noch unterstützt wird):

  1. Installiere Tuxad Repo für RHEL 5: rpm -i http://www.tuxad.de/repo/5/tuxad.rpm
  2. Aktualisierungspakete: yum update

Weitere Details finden Sie hier:

www.tuxad.de/blog/archives/2014/11/19/openssl_updatesenhancements_for_rhel__centos_5  www.tuxad.de/blog/archives/2018/07/21/tuxad_rh5_repo_now_with_phopopenssl1

Dieser Repo enthält mehrere Pakete, die gegen OpenSSL 1 neu aufgebaut werden:

  • httpd (enthält auch andere Verbesserungen wie ECDH-Unterstützung)
  • Postfix
  • Taubenschlag
  • locken
  • lynx
  • Mutt
  • vsftpd
  • w3m
  • wget
  • php
  • php von RHEL 6 rückportiert (im separaten Repo "tuxad-php")