Ubuntuに最新バージョンのOpenSSLをインストールした話

だいぶ前だがOpenSSLに脆弱性が発見された。
https://jvn.jp/vu/JVNVU96083153/index.html

脆弱性修正済みバージョン
3.6.2
3.5.6
3.4.5
3.3.7
3.0.20

しかし通常のapt upgradeなどでは、修正済みバージョンが出てこないこともある。

Ubuntu 24.04の場合

ので、OpenSSLから直接ダウンロードして、OpneSSLをアップグレードした。
とは言っても、結局やっていることはmakeでインストールしただけである。

OpenSSLのダウンロードとハッシュ値確認

まずはOpenSSLのホームページから、ターゲットのOpenSSLバージョンを選択し、URLを確認することから始める。

Downloads | OpenSSL Library


3.5.6がLTSでサポートが長いので、ここでは3.5.6をターゲットとした。
ターゲットが決まったら、ブラウザにて右クリックなどで、”openssl-3.5.6.tar.gz”のURLをコピーする。

コピーしたURLとwgetコマンドを合わせて、以下のようにし、wgetでtarファイルをダウンロードする。

私は面倒くさいので、ホームディレクトリにダウンロードしたが、/tmpなどのフォルダでやってもいいかもしれない。

また、OpenSSLのホームページでsha256ハッシュなどもコピーし、
以下のようにechoコマンドで適当なテキストファイルに出力されるようにする。

そしてsha256sumコマンドで、ダウンロードしたファイルとホームページで確認したハッシュ値を比較する。

以下のように、ハッシュ値が比較が成功していれば、OKである。

尤も上記の方法では、成りすましの確認などはできないため、セキュリティを気にする場合はPGPでダウンロードファイルを確認するのがいいだろう。

またこの段階で、次のステップに必要な、makeなどもインストールしておく。
これはaptからできる。
インストール前に、パッケージリストの更新も忘れずに。

OpenSSLのmakeとmake install

ファイルのダウンロードとハッシュ値確認が完了したら、makeでのインストールに進んでいく。
まずはtarファイルを展開することになる。

ファイル展開後に、展開されたディレクトリ内に移動し、
展開先ディレクトリにある、config作成用実行ファイル”config”を実行する。

引数等指定できるが、特段指定せずとも適切なフォルダにコマンドやライブラリが格納されるので、問題ない。
“OpenSSL has been successfully configured”と表示され、make用の設定の生成が成功すれば、makeでのinstallに進んでいく。

環境変数の設定

インストールが完了したら、バージョンを確認する。

しかし以下のようにエラーが出るはずである。
(環境によっては出ないかもしれない。その時はおめでとうございます。)

これは、今回インストールしたOpenSSLのライブラリが格納されているディレクトリが、正しく環境変数などにも反映されていないために起きている。
なので、ホームディレクトリの.bashrcファイルに、以下の環境変数の設定を追加し、再起動等を行いシェルの再読み込みを行えば解決する。

再度OpenSSLのバージョン確認コマンドを実行し、現在有効なopensslのバージョンを確認する。

念のため、古いバージョンのOpenSSLは、ファイル名を変えておくとよいかもしれない。

コメント

タイトルとURLをコピーしました