web-dev-qa-db-ja.com

CentOS 6.5 / Linux / UnixのOpenSSLをソースからアップグレードする方法は?

CentOS 6.5でOpenSSLをアップグレードするにはどうすればよいですか?

これらのコマンドを使用しましたが、何も起こりません。

 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/bin/opensslを上書きする代わりに、おそらく「/ usr/local/ssl/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脆弱性の修正は、Red Hat for Enterprise Linuxによって1.0.1e-16にバックポートされました see 、したがって、これは公式ですCentOSの出荷を修正。

OpenSSLをアップストリーム(1.0.1gなど)の最新バージョンに置き換えると、機能の変更が導入され、アプリケーション/クライアントとの互換性が予期せずに壊れる可能性があり、システムがRHELから逸脱し、個人的にメンテナンスすることになりますそのパッケージの将来の更新。シンプルなmake config && make && make installを使用してopensslを置き換えると、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

あなたがしなければならない唯一の事はyum updateを実行することです。

ハートビートを無効にしてRedHatによってパッチが適用されたopenssl-1.0.1e-16.el6_5.7のバックポートバージョンを自動的にダウンロードして更新します。

更新を確認するには、単に変更ログを確認します。
# 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だけであることに同意します

ただし、CentOSリポジトリにない特定のバージョンのopensslまたは特定の機能が必要な場合、ソースからコンパイルする必要があります。ここでの他の答えは不完全でした。 以下が機能したものです(CentOS 6.9)、これはインストールされたソフトウェアとの非互換性を導入する可能性があり、opensslを自動更新しません。


https://www.openssl.org/source/ からopensslバージョンを選択します

  • この記事の執筆時点で2017年7月1日、必要なバージョンの日付は2017-May-25 13:09:51、openssl-1.1.0f.tar.gzです
  • 目的のリンクをコピーし、この場合は以下を使用します( https://www.openssl.org/source/openssl-1.1.0f.tar.gz

ルートとしてログイン:

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がレポジトリでこのパッケージを更新するように設定されている場合、RHNのレポジトリが単にyum update openssl-1.0.1gが非常に古く、価値がある場合、yum update opensslを実行します

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