OpenSSL | SSL/TLS
OpenSSL は、SSL/TLS プロトコルの実装および、暗号化・鍵作成・証明書管理などを行うための標準的なオープンソース・暗号ライブラリ/コマンドラインツールです。
※動作環境についての注記
本メモは Ubuntu 18.04.6 LTS (Bionic Beaver) を前提としています。
補足: Ubuntu 18.04 LTS は 2023年4月に標準サポート(EOL)が終了 しています。最新のセキュリティパッチ適用や新機能利用のためには、Ubuntu 22.04 LTS または 24.04 LTS へのアップグレードを推奨します。
1. バージョン確認
OpenSSLコマンドのバージョン確認
openssl version
システム(apt)でインストールされているパッケージの詳細確認
apt list --installed | grep openssl
PHPに組み込まれている OpenSSL ライブラリのバージョン確認
php -i から絞り込むか、CLIワンライナーで正確なバージョン文字列を取得できます。
# php.ini 設定情報から確認
php -i | grep -i "OpenSSL Library"
# 定数からピンポイントで取得する場合
php -r "echo OPENSSL_VERSION_TEXT . PHP_EOL;"
2. パッケージのアップグレード
インストール可能な新しいバージョンがリポジトリにあるか確認
sudo apt update
sudo apt list --upgradable
パッケージの更新
sudo apt install openssl
【技術メモ】
apt upgradeで更新されずapt installで更新できる理由
新しいパッチバージョンで依存関係の追加・変更が伴う場合、単なるapt upgrade(または旧apt-get upgrade)ではパッケージの更新が保留(Hold)されることがあります。
対象パッケージを直接指定するsudo apt install <package_name>や、依存関係の変更を許可するsudo apt dist-upgrade(またはsudo apt full-upgrade)を実行することで正常に更新されます。
3. Ubuntu パッケージリポジトリでの検索
※ Ubuntu 18.04 (bionic) の標準セキュリティリポジトリで提供されている OpenSSL 1.1.1 系の最終ビルド例:
1.1.1-1ubuntu2.1~18.04.17
$ apt list --installed | grep openssl
libxmlsec1-openssl/bionic,now 1.2.25-1build1 amd64 [installed,automatic]
openssl/bionic-updates,bionic-security,now 1.1.1-1ubuntu2.1~18.04.17 amd64 [installed]
python3-openssl/bionic,now 17.5.0-1ubuntu1 all [installed,automatic]