web-dev-qa-db-ja.com

Ubuntu 18.04でOpenSSL 1.1.0を1.1.1にアップグレードする方法は?

Ubuntu 18がインストールされた実稼働サーバーを実行しています。最近、自分のWebアプリケーションが、顧客の場所にインストールされているファイアウォールの一部で許可されていないことがわかりました。

サーバーがTLSv1.0, TLSv1.1, TLSv1.2プロトコルで通信していることがわかりました。ファイアウォール設定によりTLSv1.3プロトコルのみでサーバーとの通信が許可されていると思います。

Ubuntu 18にはOpenSSL version 1.1.0が同梱されているため、サーバーがTLS v1.3をサポートするには、OpenSSLを最新のversion 1.1.1にアップグレードする必要があります。

これはnginxサーバーを実行している実稼働サーバーであるため、サーバー上で直接何かを試したくありません。

root@energy-prod:~# nginx -v
nginx version: nginx/1.14.0 (Ubuntu)

サーバーの他の設定に影響を与えずにOpenSSLをv1.1.1にアップグレードする最良の方法は何ですか?

17
dollar

NOTE:2019年8月現在、openSSL 1.1.1は18.04の通常のパッケージアップグレード/インストールを介してインストールできるようになっているはずです。または、.debパッケージを here から直接ダウンロードできます。


OpenSSL Webサイト によると:

最新の安定バージョンは1.1.1シリーズです。これは、2023年9月11日までサポートされる長期サポート(LTS)バージョンでもあります。

これは現在のUbuntuリポジトリにはないため、最新のOpenSSLバージョンを手動でダウンロード、コンパイル、インストールする必要があります。

従うべき手順は次のとおりです。

  1. ターミナルを開きます(Ctrl+Alt+t)。
  2. Tarballを取得します:wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
  3. tar -zxf openssl-1.1.1a.tar.gz && cd openssl-1.1.1aでtarballを解凍します
  4. コマンド./configを発行します。
  5. コマンドmakeを発行します(このコマンドを正常に実行する前にSudo apt install make gccを実行する必要がある場合があります)。
  6. make testを実行して、考えられるエラーを確認します。
  7. 現在のopensslバイナリのバックアップ:Sudo mv /usr/bin/openssl ~/tmp
  8. コマンドSudo make installを発行します。
  9. 新しくインストールしたバイナリからデフォルトの場所へのシンボリックリンクを作成します:
    Sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
    
  10. コマンドSudo ldconfigを実行して、シンボリックリンクを更新し、ライブラリキャッシュを再構築します。

手順4〜10の実行中にエラーがなかったと仮定すると、OpenSSLの新しいバージョンが正常にインストールされているはずです。

再度、端末から次のコマンドを発行します。

openssl version

出力は次のようになります。

OpenSSL 1.1.1a  20 Nov 2018
30
Kevin Bowen