Ubuntu 20.04 で OpenSSL 3.2.0 に更新する

2023/12/17に公開

概要

Ubuntu 20.04 で 2023/12/17 現在の最新版である OpenSSL 3.2.0 に更新します。

Ubuntu 20.04 では 2023/09/11 にサポートが終了した OpenSSL 1.1.1 がインストールされていますが、脆弱性が存在しています。
このバージョンで証明書を発行し、サーバーの自己証明書として使う場合、クライアントによっては接続できなくなります。

環境

  • Ubuntu 20.04

手順

まずは Open SSL からソースコードをダウンロードして展開します。

$ cd /usr/local/src/

$ sudo wget https://www.openssl.org/source/openssl-3.2.0.tar.gz

$ sudo tar xvf openssl-3.2.0.tar.gz

ソースコードからインストール

$ sudo ./config

$ sudo make

$ sudo make install

バージョンの確認

$ /usr/local/src/openssl-3.2.0$ openssl version
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

ライブラリの依存関係を確認するとlibssl.so.3libcrypto.so.3がないらしい

$ ldd /usr/local/bin/openssl
        linux-vdso.so.1 (0x00007fff8bb46000)
        libssl.so.3 => not found
        libcrypto.so.3 => not found
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb693f38000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb693d46000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb694074000)

該当ライブラリがどこにいるのかを探す

$ sudo find /usr/local/ -name libssl.so.3
/usr/local/src/openssl-3.2.0/libssl.so.3
/usr/local/lib64/libssl.so.3

$ sudo find /usr/local/ -name libcrypto.so.3
/usr/local/src/openssl-3.2.0/libcrypto.so.3
/usr/local/lib64/libcrypto.so.3

適当なエディタで .bashrcを開き、適当な行にexport LD_LIBRARY_PATH=/usr/local/lib64を追加し再読み込み

$ vi ~/.bashrc
$ source ~/.bashrc

バージョンを確認し、更新完了!

$  openssl version
OpenSSL 3.2.0 23 Nov 2023 (Library: OpenSSL 3.2.0 23 Nov 2023)
GitHubで編集を提案

Discussion