Mettre à niveau OpenSSL sur Ubuntu 12.04

20

Je voulais mettre à niveau OpenSSL vers 1.0.1 sur un système Ubuntu 12.04. J'ai remarqué qu'un apt-get upgrade opensslne finit pas par mettre à jour OpenSSL. Le nouveau OpenSSL est-il pris en charge sur Ubuntu?

J'ai également essayé de compiler à partir des sources. La compilation fonctionne mais je ne peux pas trouver comment remplacer l'OpenSSL intégré (1.0.0) par le plus récent (1.0.1). La compilation à partir de la source me permet de travailler avec la version la plus récente avec l'ancienne version - je dois remplacer l'ancienne version par la nouvelle version. Ma raison derrière ce besoin est de faire compiler FreeSWITCH avec la version la plus récente car la dernière source FreeSWITCH n'est pas compatible avec OpenSSL 1.0.0 et il ne semble pas y avoir de configuration de make dans FreeSWITCH pour la diriger vers le chemin du nouveau OpenSSL. (Donc, il continue obstinément à utiliser l'ancienne version et à ne pas fonctionner!)

Merci, c'est avance. Toute aide serait grandement appréciée.

Kshitij Saxena
la source
Veuillez indiquer dans votre question pourquoi souhaitez-vous effectuer une mise à niveau. Ubuntu rétroporte des corrections de bugs, y compris des correctifs de sécurité. Jetez un œil apt-get changelog opensslpour voir les changements. C'est par conception qu'Ubuntu ne met pas à niveau les packages dans une version. C'est ainsi que la libération dans la plupart des systèmes d'exploitation non Windows fonctionne (gel des bibliothèques système / versions des packages).
gertvdijk
J'ai inclus la raison - j'ai besoin de FreeSWITCH pour travailler sur le système qui a besoin d'OpenSSL 1.0.1
Kshitij Saxena
Essayez sudo apt-get install openssl.Il mettrait à jour votre paquet openssl.
Avinash Raj
Vous devez ajouter un autre OpenSSL PPA à votre liste de sources si vous souhaitez des mises à jour continues du package. Pourtant, je ne suis pas sûr qu'il existe un PPA Ubuntu pour cela ... La compilation manuelle serait probablement la plus simple.
John WH Smith
il suffit de mettre à jour et de mettre à niveausudo apt-get update && sudo apt-get upgrade
Fakhri Zulkifli

Réponses:

13

AVIS: cette question et réponse sont antérieures au bogue OpenSSL, Heartbleed.

Vous devez d'abord supprimer complètement l'ancienne installation: (cela cassera la plupart des systèmes! Attention! La plupart des gens le regretteront) apt-get purge openssl

Vous pouvez nettoyer la maison en exécutant:

apt-get autoremove && apt-get autoclean

Ensuite, vous devez télécharger et compiler la version que vous souhaitez ( liste complète )

wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz
philshem
la source
7
Pour vous tous qui lisez ceci dans le contexte des mises à jour de sécurité: tous les services locaux sont toujours liés à l'OpenSSL fourni par Ubuntu. Veuillez ne pas compter sur une installation OpenSSL locale (en /usr/localpar défaut)! Il vous suffit
gertvdijk
Quels types de données importantes peuvent être supprimées?
Je ne sais pas, ce n'était pas mon montage.
philshem
Jamais pensé, cette «maison propre» signifie la suppression de tous les packages et bases de données importants. Je ne sais pas comment restaurer mon site Web maintenant, lol.
Dracontis
La version actuelle d'OpenSSL sur Ubuntu Trusty se présente comme étant 1.0.1f. Cependant, l'équipe OpenSSL prétend que g est la version corrigée: git.openssl.org/gitweb/… . Je suggère d'installer à partir des sources ...
Tom Swirly
12

Installez le package de développement!

1.0.1 fait partie d'Ubuntu 12.04 au moment de la rédaction. Cependant, pour pouvoir le compiler, vous devez également installer le package de développement ( libssl-dev)!

Faites d'abord une mise à jour de la liste des paquets

sudo apt-get update

Installez ensuite le package de développement et mettez à niveau la bibliothèque elle-même en une seule fois:

sudo apt-get install openssl libssl-dev

Vous pouvez voir ici que 1.0.1 fait partie de 12.04: http://packages.ubuntu.com/precise-updates/openssl

Dans le cas où votre système installe toujours 1.0.0, vous avez un autre référentiel configuré ou quelque chose d'autre dans votre gestion de package est modifié pour provoquer cette erreur. Dans ce cas, inspectez la cause du blocage de 1.0.0 en exécutant

apt-cache policy openssl libssl-dev
gertvdijk
la source
Oui, il installe 1.0.1 mais il est toujours affecté. Sur 2 ou mes serveurs, tous deux exécutant 12.04, exécutant la commande ci-dessus installe OpenSSL 1.0.1cce qui est vulnérable
Dean Perry
4
@DeanPerry Non, il n'est PAS vulnérable à Heartbleed depuis hier. Ubuntu rétroporte des correctifs aux versions fournies. Lire les changelog et la sécurité Ubuntu consultatif USN-2165-1 . Mettez simplement à jour votre système et tout va bien. S'il vous plaît ne répandez pas la peur par la première partie du numéro de version et lisez comment fonctionne la sortie d'Ubuntu.
gertvdijk
@gertvdijk Changelog que vous avez référencé est lié à une version supérieure (Quantal), mais 12.04 (Precise) de la réponse d'origine a également été mis à jour, voir .
mschayna
@mschayna Changelog entry for precise then; c'est
parti
6

Essayez de télécharger la dernière version de libsslet openssldepuis http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/ et installez les deux.

Avertissement: cela interrompra les mises à jour de sécurité automatisées pour OpenSSL.

buddy86
la source
J'ai trouvé la mise à jour 1.0.1fde openssletlibssl suffisamment nouveau pour arrêter l' routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol versionerreur qui s'est produite récemment.
Tom Saleeba