web-dev-qa-db-fra.com

Apt-get Upgrade OpenSSL n'apportera pas Ubuntu 12.04 à la dernière version

J'ai essayé ce qui suit, mais je ne peux pas obtenir une date de construction plus tard que:

Tue, août 21 05:18:46 UTC 2012

J'ai fait ce qui suit:

apt-get dist-upgrade
apt-get update
apt-get upgrade openssl

et

apt-get purge openssl
apt-get install openssl

et

apt-get purge libcrypto1.0.0
apt-get install libcrypto1.0.0

Tout semble fonctionner bien, mais la date de construction reste comme ci-dessus. Et le http://filippo.io/hearTbleed/ Test échoue toujours.

Je sais que je ne suis pas fou, parce que j'ai pu mettre à jour mon serveur identique mercredi. (Identique à tous égards sauf le matériel).

Edit:

J'ai comparé les fichiers /etc/apt/sources.list sur les deux machines et ils semblent être identiques. Comment une mise à jour d'un serveur et l'autre n'a-t-elle pas?

Edit:

A suggéré comme suggéré:

apt-get purge openssl
reboot
apt-get install openssl
reboot

en vain.

Essayé les mêmes commandes sur LibsSL1.0.0, toujours la même version que celle indiquée ci-dessus.

Celui-ci m'a eu de la bougie.

Aucune suggestion?

[~ # ~ ~] Edit [~ # ~]

Dès que je reçois assez de crédits de rue (15), je vais +1 la solution de contournement viable

[~ # ~ ~] Edit [~ # ~]

Comme suggéré, j'ai couru apt-get avec --Reinstall --Print-Uris et récupéré:

http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1-4ubuntu5.12_AMD64.deb

Puis redémarré et la même version indiquée ci-dessus. Toujours défaillance.

6
user1182988

Forcer une réinstallation d'emballage

APT pense que les packages sont installés et mis à niveau. La vérification manuelle et les tests de LibsSL suggèrent autrement, la base de données de packages est donc incompatible avec les fichiers installés (peut-être que les fichiers ont été effectués auparavant auparavant sans implication de gestionnaire de paquets). Pour une raison quelconque, cela s'est produit, le paquet n'est pas correctement mis à niveau ou réinstallé. Cela suppose qu'il a été établi que le système rapporte des versions fixes, mais est toujours présente comme vulnérable.

Tout d'abord, tenter de réinstaller de force les paquets affectés:

apt-get install --reinstall libssl1.0.0

Si cela échoue, essayez de forcer la suppression complète de l'emballage sans impliquer aucune des vérifications de la dépendance et des contrôles de santé de l'APT:

dpkg --force-all --remove libssl1.0.0

À ce stade, le système est efficacement "brisé" car LibsSl est manquant et de nombreux packages sont toujours installés qui en dépendent (c'est ce que APT essaie si fort à prévenir, et la raison pour laquelle nous allons derrière APT 'est le dos), alors réinstallez-la - libssl1.0., télécharger le dernier paquet du référentiel:

apt-get clean && apt-get install libssl1.0.0

Sinon, si vous avez téléchargé le package de bons deb connu, vous pouvez utiliser DPKG pour installer et forcer l'écrasement de tous les fichiers existants:

dpkg --force-overwrite -i libssl1.0.0_1.0.1-4ubuntu5.12_AMD64.deb

Réessayez et vérifiez (debsums, Sha1sum) les fichiers installés contre une bonne configuration connue.

8
Maxx Daymon

Si votre apt-obtenez des référentiels ne contient pas de précompilisation 1.0.1G openssl Version, alors téléchargez simplement des sources du site officiel et compilez-la.

Sous la ligne de commande unique pour compiler et installer la dernière version OpenSSL.

curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && Sudo ./config && Sudo make && Sudo make install

Remplacez l'ancien fichier binaire OpenSSL par le nouveau via un lien symbolique.

Sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`

Vous êtes tous bien!

# openssl version should return
openssl version
OpenSSL 1.0.1g 7 Apr 2014

Cf this blog post .

NB: Comme indiqué dans le blog Post, cette solution de contournement ne corrigera pas "NGinx et Apache Server qui doivent être recompilés avec des sources 1.0.1G OpenSSL."

2
KoKo

Peut-être que vous avez 2 versions de OpenSSL sur votre chemin. Cela peut arriver si vous avez compilé votre propre version.

Essaye ça /usr/bin/openssl version.

Ce schould sera la position de la version de l'emballage de OpenSSL.

0
Peter Lamby