Wie kann ich eine Zwischenversion aus dem Quellcode neu installieren?

2

Ich versuche, einen Testserver zu erstellen, der für den Heartbleed-Angriff anfällig ist. Ich habe apache24 installiert; Das Problem ist zweifach:
- FreeBSD kommt mit OpenSSL 0.9.8 (nicht anfällig)
- Wenn ich über die Ports installiere, erhalte ich die neueste Version von OpenSSL (nicht anfällig).

Ich habe den Teer von der OpenSSL-Site für Version 1.0.1f (anfällig), aber ich frage mich, wie ich ihn auf meiner virtuellen FreeBSD-Maschine installieren soll.

Voraussetzungen für die Prüfung:
- Bitte sagen Sie mir, wie ich die standardmäßig enthaltene Version (0.9.8) deinstallieren soll.
- Bitte sagen Sie mir, wie ich OpenSSL 1.0.1f anschließend installieren soll

user2738698
quelle

Antworten:

1

Es gibt eine Reihe von Möglichkeiten, eine FreeBSD Testserver anfällig für herzblutig :

  1. FreeBSD 10.0 installieren

    FreeBSD 9.x und 8.x kommen mit OpenSSL 0.9.x. Auf der anderen Seite die Basisfreigabe FreeBSD 10.0 kommt mit OpenSSL 1.0.1e . Daher ist es möglicherweise einfacher, ein Release 10.0 zu erhalten, es zu installieren und einige Pakete zu installieren: Sie haben einen Testserver in Stunden, wenn nicht Minuten.

  2. Installieren einer benutzerdefinierten OpenSSL mit apache24 benutzt es

    Bezüglich FreeBSD & lt; 10.0 hat es keinen wirklichen Sinn, die standardmäßig enthaltene Version von zu entfernen OpenSSL aus dem Basissystem, wie Sie nur Ihre machen müssen apache24 Installationspunkt auf Ihre private openssl-1.0.1f-Installation.

    • Holen Sie sich die OpenSSL 1.0.1f (oder früheren) Quellen von der offiziell OpenSSL Seite? ˅

    • sicher sein zu haben perl installiert, wie es zum bauen benötigt wird OpenSSL

    • Bauen Sie einen Brauch OpenSSL (zum installieren in /usr/local wie die Häfen tun würden):

      # sh ./config --prefix=/usr/local
      # make
      # make install
      

    Sei vorsichtig Dies ist eine benutzerdefinierte Installation ohne Ablaufverfolgung oder Protokoll für die Paketverwaltungstools.

    • erstellen / zu deinem hinzufügen /etc/make.conf die folgende Zeile:

      WITH_OPENSSL_PORTS=yes
      
    • Installieren Sie dann die anderen Module oder installieren Sie sie erneut ( devel/apr1, www/apache24, ...)

    • Sie können das überprüfen libssl benutzt von apache24 (in der Tat die Apache24 mod_ssl Modul):

      # ldd /usr/local/libexec/apache24/mod_ssl.so |grep ssl 
      /usr/local/libexec/apache24/mod_ssl.so:
              libssl.so.8 => /usr/local/lib/libssl.so.8 (0x801634000)
      

      Der apache24 mod_ssl verwendet jetzt den Brauch OpenSSL Bibliothek von /usr/local.


Wie in (2) angegeben: Dies ist nicht erforderlich, um ein anfälliges FreeBSD-Testsystem zu erstellen, und es ist eine äußerst zeitaufwendige Aufgabe, insbesondere für Personen, die mit dem Verfahren nicht vertraut sind.

  • Standard entfernen OpenSSL vom Basissystem (nicht notwendig)

    Wirklich zu entfernen OpenSSL Vom Basissystem müssen Sie es neu erstellen und Sie werden verlieren openSSH und Kerberos (und vielleicht einige andere). Dies ist ein sehr langer Prozess, dem Sie folgen sollten das offizielle Verfahren vorsichtig.

    • Holen Sie sich Ihre Systemquellen (von der Installation oder durch Subversion)
    • erstelle dein /etc/src.conf mit folgender Zeile (um mehr zu erfahren: man src.conf ):

      WITHOUT_OPENSSL=yes
      
    • Erstellen Sie das Basissystem neu (möglicherweise müssen Sie den Kernel neu erstellen, wenn die Quellen nicht mit Ihrer aktuellen Systemversion synchronisiert sind): make buildworld und make installworld ( Weitere Informationen hier ).

    Möglicherweise müssen Sie die reinigen OpenSSL Dateien manuell.

Ouki
quelle
Deine Antwort ist gottesfürchtig , so danke; Ich hatte nicht einmal daran gedacht, FreeBSD 10.0 zu installieren, das scheint also der einfachste Weg zu sein.
user2738698
Es hat eine Weile gedauert, bis ich alles erledigt hatte, aber ich habe so etwas jahrelang gemacht und es war schmerzhaft zuzusehen, wie du kämpfst;)
Ouki