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
./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/
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データベースも更新しません)。
また、暗号化ソフトウェアは、コンパイラオプションのような一見些細なものに非常に敏感になる可能性があり、自分が何をしているのかわからない場合は、ローカルインストールに脆弱性を持ち込む可能性があることに注意してください。
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/
Sudo yum update openssl
で十分です。
これにより、openssl-1.0.1e-16.el6_5.7
が表示されます。
更新後にApacheを再起動する必要があります。または、できれば、OpenSSLを使用するすべてのアプリケーションが新しいバージョンをロードするように、可能な場合はボックスを再起動してください。
あなたがしなければならない唯一の事は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を使用するため、必ずサーバーを再起動してください。
私のアプローチは:
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
95%のケースで必要なのはSudo yum update openssl
だけであることに同意します
ただし、CentOSリポジトリにない特定のバージョンのopensslまたは特定の機能が必要な場合、ソースからコンパイルする必要があります。ここでの他の答えは不完全でした。 以下が機能したものです(CentOS 6.9)、これはインストールされたソフトウェアとの非互換性を導入する可能性があり、opensslを自動更新しません。
https://www.openssl.org/source/ からopensslバージョンを選択します
ルートとしてログイン:
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
次のコマンドを使用して、ローカルの変更ログをチェックし、OpenSSLが脆弱性に対してパッチされているかどうかを確認することもできます。
rpm -q --changelog openssl | grep CVE-2014-0224
結果が返されない場合は、OpenSSLにパッチを適用する必要があります。
http://www.liquidweb.com/kb/update-and-patch-openssl-for-the-ccs-injection-vulnerability/
簡単です!バイナリファイルをダウンロードしていますか? 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を実行します
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