OpenSSLライブラリを更新する方法

OpenSSLライブラリを更新する方法

私はDebianを使用しています。ここに戻ってくださいopenssl version

OpenSSL1.1.0f 2017年5月25日(図書館:OpenSSL 1.1.0-pre6-dev xxxxxxxxx)

  1. OpenSSL用の「ライブラリ」を更新する方法(1.1.0-pre6-dev)最新バージョンにアップデートしてもapt-get install openssl役に立ちませんか?

  2. 他のサーバーでは、openssl version「OpenSSL 1.1.0g 2 Nov 2017(ライブラリ:OpenSSL 1.1.0f 2017年5月25日)」が返されます。使用されているバージョンライブラリがインストールされているパッケージと異なる方法は何ですか?

アップデート1

apt-cache policy openssl libssl1.1出力は次のとおりです

オープンタイプSSL:

Installed: 1.1.0f-3+deb9u1
Candidate: 1.1.0f-3+deb9u1

Version table:
1.1.0f-3+deb9u1 500
500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
100 /var/lib/dpkg/status

1.1.0f-3 500
500 http://debian.mirrors.ovh.net/debian stretch/main amd64 Packages

libssl1.1:

Installed: 1.1.0f-5

Candidate: 1.1.0f-5

Version table:

1.1.0f-5 100
100 /var/lib/dpkg/status

1.1.0f-3+deb9u1 500
500 http://security.debian.org/debian-security stretch/updates/main amd64 
Packages

1.1.0f-3 500
500 http://debian.mirrors.ovh.net/debian stretch/main amd64 Packages

アップデート2

opensslには2つのバージョンがインストールされているようです。

usr/local/ssl/bin/openssl version2016年5月3日OpenSSL 1.0.2hに戻る

usr/bin/openssl version2017年5月25日OpenSSL 1.1.0fに戻る(ライブラリ:OpenSSL 1.1.0-pre6-dev xx XXX xxxx)

which openssl/usr/bin/opensslに戻る

ldd $(which openssl)返品

linux-vdso.so.1 (0x00007fff3b074000)
libssl.so.1.1 => /usr/local/lib/libssl.so.1.1 (0x00007f4ec0de0000)
libcrypto.so.1.1 => /usr/local/lib/libcrypto.so.1.1 (0x00007f4ec095b000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4ec0757000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4ec053a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4ec019b000)
            /lib64/ld-linux-x86-64.so.2 (0x00007f4ec12f9000)

答え1

まず、ローカルにインストールされているライブラリとバイナリ(libcryptoetc.libsslとバイナリopenssl)を削除する必要があります。これにより、パッケージのバージョン、つまりセキュリティサポートを受けるバージョンを使用できます。

今のあなたを手に入れるには本物後ろに、つまりNginxにはHTTP2とTLSがあるので、次のことをお勧めします。バックポートされたパッケージ自分で構築する代わりに、このバージョンにはあなたが探している機能が含まれています。これを行うには、(rootとして)実行してください。

echo deb http://http.debian.net/debian stretch-backports main > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install -t stretch-backports nginx

答え2

Debian ストレッチ現在安定版です(2017年11月現在)。これセキュリティチームリリースされたコードバージョンのセキュリティ修正をバックポートすることで、新機能が得られなくてもSSLライブラリが最新であることを合理的に確信できます。

どの関連パッケージをインストールまたはインストールできるか

dpkg -l '*openssl*'

リポジトリで利用可能なインストール済みパッケージのバージョン

dpkg -l '*openssl*' | awk '/^i/{print $2}' | xargs apt-show-versions -a

すべてが最新であることを確認してください。

apt-get update
apt-get upgrade

特定のパッケージの変更ファイルを読み、どのパッチが適用されたかを確認できます/usr/share/doc/{package_name}/changelog.Debian.gz。例えば、

zless /usr/share/doc/openssl/changelog.Debian.gz

答え3

一部のLinuxディストリビューションを使用しているようです。これは、パッケージの更新がディストリビューションマネージャに依存し、そのマネージャがディストリビューションリポジトリに新しいバージョンをプッシュしたときにのみ取得できることを意味します。ディストリビューションの新しいバージョン)。

もちろん従うことができます。これ手動で(Ubuntu / Debian / Mintを使用している場合)OpenSSLの新しいバージョンをビルドし、dpkgを使用してインストールします。ただし、これにより、インストールされているアプリケーションがSSL接続の使用を停止したり動作を停止したりするなど、深刻な結果を招く可能性があります。

使用する新しいバージョンのOpenSSLが必要な場合は、ソースからコンパイルして/usr/localにインストールしても、システム全体のパッケージを妨げることはありません。それはしばしば走るのと同じくらい簡単です

./configure && make && make install

しかし、最近ではCMakeや他のビルドチェーンが存在するため、これは必ずしも単純ではありません。それにもかかわらず、多くのLinuxアプリケーションにはビルド方法に関するマニュアルが付属しています。

関連情報