Подтвердить что ты не робот

Как обновить OpenSSL в CentOS 6.5/Linux/Unix из источника?

Как обновить OpenSSL в CentOS 6.5?

Я использовал эти команды, но ничего не происходит:

 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

После использования этой команды я получаю старую версию

openssl version
4b9b3361

Ответ 1

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

Попробуйте эту конфигурационную строку вместо перезаписывать по умолчанию. Он устанавливает префикс /usr/local/ssl по умолчанию в вашей настройке, когда вы опускаете префикс. Вероятно, у вас есть "/usr/local/ssl/bin/openssl" вместо перезаписи /usr/bin/openssl. Вместо этого вы можете использовать /usr/local для префикса, но вам нужно будет соответствующим образом настроить свой путь, если это еще не на вашем пути. Вот документация 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/

Ответ 2

Исправление уязвимости heartbleed было передано в 1.0.1e-16 с помощью Red Hat for Enterprise Linux посмотреть, и это поэтому официальное исправление, которое отправляет CentOS.

Замена OpenSSL на последнюю версию с восходящего потока (т.е. 1.0.1g) создает риск внесения изменений в функциональные возможности, которые могут непредсказуемо нарушать совместимость с приложениями/клиентами, заставляет вашу систему расходиться с RHEL и кладет вас на крючок для личного поддержания будущих обновлений этого пакета. Заменяя openssl, используя простой make config && make && make install означает, что вы также потеряете возможность использовать rpm для управления этим пакетом и выполнения запросов на него (например, проверка всех файлов присутствует и не была изменена или были изменены разрешения без обновления базы данных RPM).

Я также предостерег бы, что криптографическое программное обеспечение может быть чрезвычайно чувствительным к кажущимся незначительным вещам, таким как параметры компилятора, и если вы не знаете, что делаете, вы можете ввести уязвимости в локальную установку.

Ответ 3

Чтобы вручную скомпилировать OpenSSL, сделайте следующее:

$ 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

Если он показывает старую версию, выполните следующие действия.

$ 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/

Ответ 4

sudo yum update openssl - это все, что вам нужно.

Это приведет вас к openssl-1.0.1e-16.el6_5.7.

После обновления необходимо перезапустить Apache. Или еще лучше, перезагрузите поле, если это возможно, чтобы все приложения, использующие OpenSSL, загрузили новую версию.

Ответ 5

Единственное, что вам нужно сделать, это выполнить yum update.

Он автоматически загрузит и обновит резервную версию openssl-1.0.1e-16.el6_5.7, которая была исправлена ​​RedHat с отключенным пульсом.

Чтобы проверить обновление, просто проверьте журнал изменений:
# rpm -q --changelog openssl-1.0.1e | grep -B 1 CVE-2014-0160
вы должны увидеть следующее:
* Mon Apr 07 2014 Tomáš Mráz <[email protected]> 1.0.1e-16.7 - fix CVE-2014-0160 - information disclosure in TLS heartbeat extension

Убедитесь, что вы перезагрузили сервер, потому что для таких важных служб, как Apache и SSH, используйте openSSL.

Ответ 6

Мой подход:

openssl version
OpenSSL 1.0.1e 11 Feb 2013

wget https://www.openssl.org/source/openssl-1.0.2a.tar.gz
wget http://www.linuxfromscratch.org/patches/blfs/svn/openssl-1.0.2a-fix_parallel_build-1.patch
tar xzf openssl-1.0.2a.tar.gz
cd openssl-1.0.2a
patch -Np1 -i ../openssl-1.0.2a-fix_parallel_build-1.patch
./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib shared zlib-dynamic
make
make install

openssl version
OpenSSL 1.0.2a 19 Mar 2015 

Ответ 7

Я согласен, что в 95% случаев вам нужно всего лишь sudo yum update openssl

Однако , если вам нужна определенная версия openssl или специфическая функциональность, которая не находится в репозитории CentOS, вам, вероятно, нужно скомпилировать из источника. Остальные ответы здесь были неполными. Ниже показано, как работает (CentOS 6.9), хотя это может привести к несовместимости с установленным программным обеспечением и не будет автоматически обновлять openssl.


Выберите версию openssl из https://www.openssl.org/source/

  • На момент написания 1 июля 2017 года необходимая версия была датирована 2017-май-25 13:09:51, openssl-1.1.0f.tar.gz
  • Скопируйте нужную ссылку и используйте в нашем случае ниже (https://www.openssl.org/source/openssl-1.1.0f.tar.gz)

Вход в систему с правами root:

cd /usr/local/src/

# OPTIONALLY CHANGE openssl-1.1.0f.tar.gz to the version which you want
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz

sha256sum openssl-1.1.0f.tar.gz  #confirm this matches the published hash

tar -zxf openssl-1.1.0f.tar.gz

cd /usr/local/src/openssl-1.1.0f

./config --prefix=/usr/local --openssldir=/usr/local/openssl
make
make test
make install

export LD_LIBRARY_PATH=/usr/local/lib64

#make export permanent
echo "export LD_LIBRARY_PATH=/usr/local/lib64" > /etc/profile.d/ld_library_path.sh
chmod ugo+x /etc/profile.d/ld_library_path.sh

openssl version  #confirm it works

#recommended reboot here

openssl version  #confirm it works after reboot

Ответ 8

Вы должны заменить старый двоичный файл OpenSSL на новый с помощью символической ссылки:

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

Помните, что после этой процедуры вы должны перезагрузить сервер или перезапустить все службы, связанные с OpenSSL.

Ответ 9

rpm -qa openssl yum clean all && yum update "openssl*" lsof -n | grep ssl | grep DEL 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 --prefix=/usr --openssldir=/usr/local/openssl shared ./config make make test make install cd /usr/src rm -rf openssl-1.0.1g.tar.gz rm -rf openssl-1.0.1g

и

openssl version

Ответ 10

это легко! вы загружаете двоичный файл?. загрузите последний пакет rpm  OpenSSL-1.0.1e-30.el6.x86_64 проверьте текущую версию с помощью rpm -q openssl. если он старше, то выполните rpm -U openssl-1.0.1e-30.el6.x86_64. если yum сконфигурирован, обновите этот пакет в репо и выполните обновление yum openssl если ваше репо в RHN делает просто обновление yum openssl-1.0.1g очень старен и валентный

Ответ 11

Вы также можете проверить локальный журнал изменений, чтобы проверить, исправлен ли OpenSSL против этой уязвимости с помощью следующей команды:

rpm -q --changelog openssl | grep CVE-2014-0224

Если результат не возвращается, вы должны установить OpenSSL.

http://www.liquidweb.com/kb/update-and-patch-openssl-for-the-ccs-injection-vulnerability/