60 votes

Comment mettre à jour OpenSSL dans CentOS 6.5 / Linux / Unix à partir des sources ?

Comment mettre à jour OpenSSL dans CentOS 6.5 ?

J'ai utilisé ces commandes, mais rien ne se passe :

 cd /usr/src
 wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
 tar -zxf openssl-1.0.1g.tar.gz
 cd openssl-1.0.1g
 ./config
 make
 make test
 make install
 cd /usr/src
 rm -rf openssl-1.0.1g.tar.gz
 rm -rf openssl-1.0.1g

Après avoir utilisé cette commande, j'obtiens l'ancienne version

openssl version

48voto

Alex Butcher Points 451

Le correctif pour le heartbleed La vulnérabilité a été rétablie dans 1.0.1e-16 par Red Hat pour Enterprise Linux voir et c'est donc le correctif officiel fourni par CentOS.

Remplacer OpenSSL par la dernière version d'upstream (i.e. 1.0.1g) fait courir le risque d'introduire des changements de fonctionnalités qui peuvent rompre la compatibilité avec les applications/clients de manière imprévisible, fait diverger votre système de RHEL, et vous met dans l'obligation de maintenir personnellement les futures mises à jour de ce paquetage. En remplaçant openssl par un simple make config && make && make install, vous perdez également la possibilité d'utiliser rpm pour gérer ce paquet et effectuer des requêtes sur celui-ci (par exemple, vérifier que tous les fichiers sont présents et n'ont pas été modifiés ou que les permissions ont été changées sans mettre à jour la base de données RPM).

J'attire également l'attention sur le fait que les logiciels de cryptographie peuvent être extrêmement sensibles à des éléments apparemment mineurs, comme les options de compilation, et que si vous ne savez pas ce que vous faites, vous pouvez introduire des vulnérabilités dans votre installation locale.

43voto

jmq Points 2582
./config --prefix=/usr --openssldir=/usr/local/openssl shared

Essayez cette ligne de configuration à la place pour écraser la valeur par défaut. Il s'installe au préfixe /usr/local/ssl par défaut dans votre configuration lorsque vous omettez le préfixe. Vous avez probablement /usr/local/ssl/bin/openssl au lieu d'écraser /usr/bin/openssl. Vous pouvez également utiliser /usr/local comme préfixe à la place, mais vous devrez ajuster votre chemin en conséquence s'il n'est pas déjà sur votre chemin. Voici la documentation INSTALL :

  $ ./config
  $ make
  $ make test
  $ make install

 [If any of these steps fails, see section Installation in Detail below.]

This will build and install OpenSSL in the default location, which is (for
historical reasons) /usr/local/ssl. If you want to install it anywhere else,
run config like this:

  $ ./config --prefix=/usr/local --openssldir=/usr/local/openssl

https://github.com/openssl/openssl/blob/master/INSTALL http://heartbleed.com/

41voto

Olaitan Mayowa Points 143

Pour compiler manuellement OpenSSL, procédez comme suit :

$ cd /usr/src

$ wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz -O openssl-1.0.1g.tar.gz

$ tar -zxf openssl-1.0.1g.tar.gz

$ cd openssl-1.0.1g

$ ./config

$ make

$ make test

$ make install

$ openssl version

S'il affiche l'ancienne version, procédez comme suit.

$ mv /usr/bin/openssl /root/

$ ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
openssl version
OpenSSL 1.0.1g 7 Apr 2014

http://olaitanmayowa.com/heartbleed-how-to-upgrade-openssl-in-centos/

9voto

Jonathon Reinhart Points 40535

sudo yum update openssl est tout ce dont vous avez besoin.

Cela vous amènera à openssl-1.0.1e-16.el6_5.7 .

Vous devez redémarrer Apache après la mise à jour. Ou mieux encore, redémarrez la boîte si possible, afin que toutes les applications qui utilisent OpenSSL chargent la nouvelle version.

7voto

Toshe Points 184

La seule chose que vous devez faire est d'effectuer un yum update .

Il téléchargera automatiquement et mettra à jour une version backported de openssl-1.0.1e-16.el6_5.7 qui a été corrigé par RedHat avec Heartbeat désactivé.

Pour vérifier la mise à jour, il suffit de consulter le journal des modifications :
# rpm -q --changelog openssl-1.0.1e | grep -B 1 CVE-2014-0160
vous devriez voir ce qui suit :
* Mon Apr 07 2014 Tomáš Mráz <tmraz@redhat.com> 1.0.1e-16.7 - fix CVE-2014-0160 - information disclosure in TLS heartbeat extension

Assurez-vous de redémarrer le serveur car des services importants tels qu'Apache et SSH utilisent openSSL.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X