Comment installer une version vulnérable d'OpenSSL sur un serveur Linux?

9

Je voudrais compiler et installer une version OpenSSL vulnérable à Heartbleed sur un serveur que je configure pour un défi de sécurité Web d'équipe (car ceux-ci ne sont pas disponibles pour l'installation à partir du référentiel d'Ubuntu pour des raisons évidentes).

J'ai téléchargé et compilé à partir de la source OpenSSL 1.0.1f en utilisant les instructions fournies (exécuter ./config, puis makeet make install), et j'ai essayé d'exécuter le Heartbleed POC ouvertement disponible de GitHub à partir de mon PC, mais le script ne me dit pas qu'aucune réponse de pulsation n'a été reçue et le serveur n'est probablement pas vulnérable.

L'exécution openssl versionproduit la sortie suivante: OpenSSL 1.0.1f 6 janvier 2014 . J'ai installé un certificat SSL bien sûr et l'accès SSL fonctionne sur le serveur.

OpenSSL est installé pour fonctionner avec Apache 2.4.7.

Quelqu'un peut-il aider?

mittelmania
la source
3
En général, un bon moyen de tester des versions plus anciennes et des distributions Linux est de télécharger des images ISO plus anciennes de la distribution, et éventuellement d'installer une machine virtuelle en l'utilisant. Tous les packages ne sont pas disponibles ici, mais OpenSSL le serait certainement.
Bruno
Si vous connaissez un peu le packaging Debian, il devrait être assez facile de télécharger votre paquet source openssl actuel, de supprimer CVE-2014-0160.patch et de le reconstruire.
Matt Nordhoff

Réponses:

7

Il peut y avoir deux choses qui se passent ici:

  1. Un simple "./configure; make; make install" placera par défaut les bibliothèques partagées dans /usr/local/lib. Les bibliothèques installées par le système, cependant, seront dans /usr/lib, qui vient plus tôt dans le chemin de recherche de bibliothèque. Sauf si vous supprimez la version installée par le système d'OpenSSL, la version vulnérable ne sera pas trouvée.

  2. Même si vous écrasez les bibliothèques système, la modification ne sera pas reprise tant que vous n'aurez pas redémarré Apache. Les fichiers supprimés restent accessibles (et occupent de l'espace sur le disque) jusqu'à ce que tous les programmes qui ont des descripteurs de fichiers ouverts les ferment.

marque
la source
7

Quel logiciel serveur est utilisé?

Bien que le binaire OpenSSL soit vulnérable, un serveur Web installé à partir d'un package de système d'exploitation est susceptible d'utiliser une version de bibliothèque qui n'est pas vulnérable.

Le moyen le plus simple de faire fonctionner un écouteur vulnérable sera openssl s_server- si vous avez besoin d'un serveur Web complet pour être vulnérable, vous devrez probablement compiler avec OpenSSL vulnérable.

Shane Madden
la source
1
Whoa, je n'ai jamais su que s_serverc'était une chose. J'utilise depuis s_clienttoujours, et il est tout à fait logique qu'il devrait également y avoir une option de serveur.
EEAA
1
@EEAA Oui, c'est fou combien de sous-commandes différentes sont entassées là-dedans.
Shane Madden