it-swarm.com.ru

Как обновить 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
57
Mostafa
./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/INSTALLhttp://heartbleed.com/

43
jmq

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

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

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

48
Alex Butcher

Чтобы вручную скомпилировать 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/

40
Olaitan Mayowa

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

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

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

9
Jonathon Reinhart

Единственное, что вам нужно сделать, это выполнить 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.

7
Toshe

Мой подход был:

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 
2
Garistar

Я согласен, что в 95% случаев все, что вам нужно, это Sudo yum update openssl

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


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

  • На момент написания статьи 1 июля 2017 года нужная версия была датирована 2017-May-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
1
mkulon

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

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

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

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

0
Rockallite

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

0
umesh

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
0
tvfun