OpenSSLの採用バージョン検討
「Ubuntu 23.10」及び「Ubuntu 24.04 LTS」で採用するOpenSSLのバージョンが以下で検討されています。OpenSSL
OpenSSLはHTTPSなどセキュアな通信を行うために利用されているソフトウェアです。本当に幅広く利用されているソフトウェアの1つです。
現在採用されているOpenSSLのバージョンは、「OpenSSL 3.0」です。
そして2023年3月14日に最新版の「OpenSSL 3.1」がリリースされました。
サポート期間の違い
「OpenSSL 3.0」はLTSリリースであるため5年間の長期サポートが提供され、2026年9月7日までサポートが提供されます。「OpenSSL 3.1」はLTSリリースではないため2年間のサポートが提供され、2025年3月14日までサポートが提供されます。
ここに絡んでくるのがUbuntuのサポート期間です。
「Ubuntu 23.10」は2023年10月にリリースされ、2024年7月までサポートされます。
「Ubuntu 24.04 LTS」は2024年4月にリリースされ、そして商用サポートサービスの「Ubuntu Pro」の対象であるため、2034年4月までサポートされます。
どちらのOpenSSLのバージョンも、Ubuntuのサポート期間よりも早くサポートが終了します。
今後のリリース予想
現在のOpenSSLのリリース実績から、次期バージョンの「OpenSSL 3.2」は、2024年9月にリリースされることが予想されます。もしこの通りにリリースされるなら「OpenSSL 3.2」は、「Ubuntu 24.04 LTS」には間に合いません。
OpenSSLのバージョンどれにしよう
「Ubuntu 24.04 LTS」を見越し、採用するOpenSSLのバージョンが検討されています。検討内容を踏まえると、以下の3択になります。
- OpenSSL 3.0
- OpenSSL 3.1
- OpenSSL 3.2
「3.」に関してはいずれのUbuntuのリリースにも間に合わないため、Ubuntuリリース後にアップデートでOpenSSLをメジャーバージョンアップする方法になります。
OpenSSLのバージョンアップは地獄を見る
さて上記の「3.」の方法は、実は過去に実績があります。OpenSSLは様々なソフトウェアで幅広く利用されているソフトウェアであり、その影響範囲は甚大です。
かつてOpenSSLをアップデートした時に、Ubuntuのアーカイブ(≒Ubuntuのリポジトリー)で提供しているソフトウェアに影響を与え、数百もの修正作業が必要になりました。
しかもリグレッションも引き起こしました。
また「Ubuntu 20.04 LTS」で「OpenSSL 1.1.0」を「OpenSSL 1.1.1」にアップデートした時に、ちょっとした地獄に見舞われました。
というわけで
現状はまだ採用するOpenSSLのバージョンは決まっていません。しかし上記の「3.」の方法はありえません。
また提案では、以下の3点が最善であるとしています。
- OpenSSLのバージョンは、1つのバージョンのみ継続的に提供する
- サポートの長いバージョンを採用する
- ユーザーにとって関心の低い新バージョンへの追従はしない
この条件に合うバージョンは、LTSリリースの「OpenSSL 3.0」でしょうか。
今後具体的な採用バージョンが明らかになるでしょう。
バックポート
ちなみにUbuntuがOpenSSLのセキュリティーアップデートや不具合の修正を行う場合、OpenSSLはメジャーバージョンアップさせずに、その修正箇所をピックアップして既存のOpenSSLに適用し、それをユーザーに提供することになります。このポリシーは何もOpenSSLに限った話ではありません。
Ubuntuは他のソフトウェアでも一部の例外を除き、この方針でソフトウェアをメンテナンスしています。
いわゆるバックポートと呼ばれる手法ですね。