[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:34102] Re: openssl-1.1.1 End of Life



加藤です。

2023年4月3日(月) 12:23 "紅屋/山本 伸一" <beniya@xxxxxxxxxxxxxx>:
> 28-Mar-2023  New Blog post: OpenSSL 1.1.1 End of Life
> https://www.openssl.org/blog/blog/2023/03/28/1.1.1-EOL/
>
> を見つけていたのですすが、9月11日に Endof Fileを迎えるんですね。

はやいもんですね。こないだ出たと思ってたのにw

> Openssl-3.0が出てきたときに、MLでお聞きして 1.0系と3.0系の共存は難しいと
> 教えていただいた記憶があります。
> そこで Plamo8.0 パッケージを見てみたら
> https://repository.plamolinux.org/pub/linux/Plamo/Plamo-8.x/x86_64/plamo/00_base/
> には
> openssl-3.0.8-x86_64-B1.tzst            2023-02-08 20:37        6.7M
> openssl111-1.1.1t-x86_64-B1.tzst        2023-02-08 20:58        1.7M
> と3.0系と1.1系が混在して準備されているように見えるんですが、どのようになっ
> ていくのか気になったので、教えていただけたらと思います。

「難しい」というのがどう難しいという話だったのかがわからないのでなんと
も言えないのですが、共存は可能です。そんなに難しい話ではありません。

コマンドやライブラリーがリンクしている共有ライブラリーは、例えば、開発中の
8.0 環境では、

$ ldd /usr/bin/openssl
linux-vdso.so.1 (0x00007fffb26f4000)
libssl.so.3 => /usr/lib/libssl.so.3 (0x00007f5ec3d22000)
libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0x00007f5ec3800000)
libc.so.6 => /lib/libc.so.6 (0x00007f5ec3400000)
/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f5ec3dee000)

のように知ることができます。openssl コマンドは、例えば libssl.so.3 を
使っているということです。

この libssl.so.3 ですが、

$ grep libssl.so.3 /var/log/packages/*
/var/log/packages/openssl:usr/lib/libssl.so.3

openssl パッケージに含まれています。上記は Plamo 8.0 開発版で実行して
いるので、openssl コマンドは 3.0 系です。

ここで互換性維持のために準備している openssl111 パッケージを見てみると、

$ grep libssl.so /var/log/packages/openssl111
usr/lib/libssl.so.1.1

というふうに libssl というライブラリーは 1.1 と末尾についています。3.0
をメインにして、1.1.1 を使っているコマンドやライブラリーのために提供し
なければいけないファイルは、この 1.1 という末尾がついているライブラリー
のファイルだけです。(これだけではない場合もありますが)

1.1.1 を使っているコマンドやライブラリーは、この 1.1 と最後についてい
るライブラリーを参照しますし、3.0 を使っているコマンドやライブラリーは
3 と末尾についたライブラリーを参照します。

なので、3.0 をインストールしたときに入るファイル群がありますけど、それ
とかぶるファイルは openssl111 のパッケージからはすべて削除して、必要最
低限のファイルだけ準備したのが openssl111 パッケージです。パッケージ内
容は /var/log/packages/openssl111 を確認してみてください。

openssl111 をどのように作っているのか?は
  https://github.com/plamolinux/Plamo-src/blob/plamo-8.x/plamo/00_base/openssl111/PlamoBuild.openssl-1.1.1t
を参照してください。

> またPlamo7.x系の既存システムをOpenssl-3.0系に移行させていく方法も併せて
> 教えていただけたら幸いです。

これは非常に難しくて、手順にすると簡単ですが、

1. 1.1.1 を残した状態で 3.0 を入れる
  - 1.1.1 入った状態で 3.0 を make install とかすると結構危険な気もす
    るので openssl111 みたいなパッケージと 3.0 用のパッケージを作って
    同時にインストールするのがオススメです
2. あとは、1.1.1 を利用しているパッケージをすべて調べあげて、全部ビル
   ドやり直す

と気の長い作業になると思います。

Plamo 8.0 でも、リリース前にすべて 1.1.1 に依存したパッケージを作り直
す自信はないため、3.0 と 1.1.1 を共存しています。

> もちろんまだ決定していなくて検討中であれば、それでも結構です。
>
> 今年も早くも3ケ月が経過してしまったことを思うと、9月もあっという間に来
> そうなので、心構えもしていけたらと思いますので、よろしくお願いいたします。

すみませんが、これはプロジェクトの方針ではなく、私が思っているだけのこ
とですが、Plamo-7.x を OpenSSL 3.0 化するつもりはありません。8.x に入
れ替えてね、ってなると思います。

7.x の方は openssl 1.1.1 に脆弱性が出たら、可能であればしばらくの間は
対応したパッケージを出すつもりではいます。公式に EOL になっても、1.1.1
を使用しているディストリビューションはありますから、パッチは入手できる
可能性は高いので。

7.x を 8.0 に上げる方法もなくはないです。7.x から 8.x は継続して開発し
ているので、8.x で更新されたパッケージに全部入れ替えたら、おそらくはちゃ
んと動くはずです。ただ、何も考えずに updatepkg とかやるとマズい可能性
もあるので、ちょっと方法は書かないでおきます。何をやるかはっきりわかっ
た状態で自己責任でやってね、って感じです。

-- 
==============================================
((((    加藤泰文
○-○                karma @ jazz.email.ne.jp
==============================================
 (Web Page) http://www.ten-forward.ws/
==============================================

Follow-Ups
[plamo:34103] Re: openssl-1.1.1 End of Life, "紅屋/山本 伸一"
References
[plamo:34101] openssl-1.1.1 End of Life, "紅屋/山本 伸一"

[検索ページ] [メール一覧]
Plamo ML 公開システム