私はDebianを使用しています。ここに戻ってくださいopenssl version
:
OpenSSL1.1.0f 2017年5月25日(図書館:OpenSSL 1.1.0-pre6-dev xxxxxxxxx)
OpenSSL用の「ライブラリ」を更新する方法(1.1.0-pre6-dev)最新バージョンにアップデートしても
apt-get install openssl
役に立ちませんか?他のサーバーでは、
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 version
2016年5月3日OpenSSL 1.0.2hに戻る
usr/bin/openssl version
2017年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
まず、ローカルにインストールされているライブラリとバイナリ(libcrypto
etc.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アプリケーションにはビルド方法に関するマニュアルが付属しています。