Как обновить 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
Ответы
Ответ 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/
Вход в систему с правами 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/