SAGA SITE

夢をプロトタイピング

UbuntuでOpenSSLの最新版を手動でインストール

Ubuntu20.04 LTSに入っていたOpenSSLがバージョン1.1.1fと古かったので手動で最新版をインストールしました。

 

OpenSSL

 

 

セキュリティー対策

aptコマンドでインストールできるOpenSSLのパッケージは、1.1.1fと古く、脆弱性が残っているバージョンだったので、セキュリティーパッチを当てた最新版に入れ替えたいです。

 

www.ipa.go.jp

 

2021年11月12日時点で、OpenSSLバージョン1系の最新版は「1.1.1l」でした。

これを手動でインストールしてみます。

 

https://www.openssl.org/

www.openssl.org

 

参考になったサイト

 

text.baldanders.info

↑基本的な作業の手順は、こちらのページを参考にしました。

  1. ソースのダウンロード
  2. コンパイル
  3. インストール

までOK。

 

若干、自分の環境と違う部分を、他のページの説明で補足しました。

 

コンパイルの段階で「makeコマンドがない」というエラーメッセージが出たので、makeを含む開発ツールのパッケージをインストールしました。

 

thr3a.hatenablog.com

 

apt install build-essential

 

「build-essential」はC言語コンパイラーなど、ソースコードからインストールするときに必要な開発ツールの詰め合わせ、とのこと。

 

qiita.com

 

OpenSSLの入れ替え作業

 

とりあえず、作業ログを取りながら、手動でインストールを進めて行くと、最後の段階で、ちょっとしたトラブルにぶつかりました。

 

元々入っていたOpenSSL 1.1.1fと、手動でインストールした最新のOpenSSL 1.1.1lが別のディレクトリーにあったので、OpenSSLを使うときの参照先を入れ替える必要があるようでした。

 

www.trusted-design.net

 

OpenSSL入れ替え


8.リンク作成

まず,古いバージョンのOpenSSLを退避させます。退避させる場所はどこでもいいです。

例:

$ sudo mv /usr/bin/openssl /home/user/backup/

 

次に,新しいバージョンのOpenSSLにリンクを張ります。

$ sudo ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

 

ここに書いてあるパスを自分の環境に合わせて書き換えて、コマンドを実行します。

自分の場合は以下のような位置関係になっていました。

 

  • (古いOpenSSL)  /usr/bin/openssl
  • (新しいOpenSSL) /usr/local/bin/openssl

 

  1. 「$ cd ~」で自分のホームディレクトリ―に移動して、「backup」等という名前のディレクトリーを作成します。「$ mkdir backup」
  2. 次に古いOpenSSLをbackupに移動させます。「$ sudo mv /usr/bin/openssl /home/$USER/backup/」
  3. 次に新しいOpenSSLのシンボリックリンクを作成して、元々あったOpenSSLの位置に配置します。「$ sudo ln -s /usr/local/bin/openssl /usr/bin/openssl」

 

(※「$USER」というシステム定数には、現在ログインしているユーザー名が入ります。「$ echo $USER」で確認できます。実際にはログイン時の自分のユーザー名を入れたらOK)

 

これで「$ openssl version」のコマンドを実行したら、最新のOpenSSL 1.1.1l になっていました。

 

念のため、最後にSSHsshd)も再起動させておきました。(影響ないと思うけど)

$ sudo systemctl restart sshd

 

以上で、UbuntuのOpenSSLを最新版に更新することができました。