UbuntuとAmazonLinux2のOpenSSLのバージョン確認と更新方法
時々発生する OpenSSL の脆弱性問題。
2022 年 5 月には以下のケースが報告されました。
CVE-2022-1292
OpenSSL 1.0.2zeより前のバージョン
OpenSSL 1.1.1oより前のバージョン
OpenSSL 3.0.3より前のバージョン
CVE-2022-1343、CVE-2022-1434、CVE-2022-1473
OpenSSL 3.0.3より前のバージョン
早めに対処しないといけないケースが多いですが、ディストリビューションによってはパッケージの対応が遅かったり・・・。
ということで、Ubuntu18.04 や AmazonLinux2 でどのように対応したらいいか試してみましたので紹介します。
OpenSSLの脆弱性について
冒頭でも脆弱性の内容に触れましたが、今回は深刻度「中」レベルまでのもの。
JVN(Japan Vulnerability Notes)のサイトで詳しく紹介されています。
対応版のソースコードは既に配信されていますが、yum や apt などパッケージ管理の状況はどうでしょうか。
サポートが切れているディストリビューションは要注意ですね。
ubuntuのOpenSSLのバージョン
さて、ubuntu18.04 の openssl のバージョンを確認してみます。
1.1.1 だと古そうですね。
(2018 年 9 月とのこと)
$ openssl version
OpenSSL 1.1.1 11 Sep 2018
パッケージの詳細は以下の通り。
1.1.1 にパッチが当たってる可能性があるので、細かい「1ubuntu2.1~18.04.17」の内容まで把握しておくべきでしょうか。
「apt upgrade openssl」しても最新のパッケージと言われますし。
$ apt show openssl
Package: openssl
Version: 1.1.1-1ubuntu2.1~18.04.17
ubuntu の公式サイトで今回のセキュリティ問題についての情報を確認してみましょう。
以下の内容から、ubuntu18.04 の openssl のパッケージバージョンは問題なさそうですね。
The problem can be corrected by updating your system to the following package versions
システムの再起動が必要という情報が気になるところですが、その前にパッケージがいつの間にか最新になってるのも疑問です。
After a standard system update you need to reboot your computer to make all the necessary changes.
ubuntusの自動アップデート
ということで、パッケージの自動更新が有効になっていないか調べてみると・・・。
$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Update-Package-Lists の値が「1」の場合はデイリー(毎日)という設定。
何日おきに確認するかを決める値のようですが、単純に「daily」とか「weekly」にしてくれたらいいのに。
Unattended-Upgrade の値が「1」の場合は、自動更新が有効ということなんですね。
Update-Package-Lists: パッケージリストの自動更新頻度
Unattended-Upgrade: パッケージの自動更新有無
確かにログを漁ってみると、自動更新された時のログが見つかりました。
$ cat /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Preparing to unpack .../openssl_1.1.1-1ubuntu2.1~18.04.17_amd64.deb ...
Unpacking openssl (1.1.1-1ubuntu2.1~18.04.17) over (1.1.1-1ubuntu2.1~18.04.15) ...
Setting up openssl (1.1.1-1ubuntu2.1~18.04.17) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
問題はシステムのリブートについてですが、これも ubuntu 側で管理できるようですね。
$ cat /etc/apt/apt.conf.d/50unattended-upgrades
(一部抜粋)
// Automatically reboot *WITHOUT CONFIRMATION*
// if the file /var/run/reboot-required is found after the upgrade
//Unattended-Upgrade::Automatic-Reboot "false";
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
// Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
以下の 2 つの値を確認して、自動再起動がオフならリブートした方がいいのかな。
Unattended-Upgrade::Automatic-Reboot
Unattended-Upgrade::Automatic-Reboot-Time
AmazonLinux2のOpenSSL
AmazonLinux もサクっと確認しておきましょうか。
yum は自動でアップデートされるイメージがないので、あったとしてもデフォルトはオフなんでしょう。
AmazonLinux の yum パッケージは 2022 年 5 月 17 日時点でまだ更新されてなさそう。
AmazonLinux2 も同様なのかなってことでバージョン確認から。
$ openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
パッケージの詳細を見ても「1.0.2k」以外の情報は出てこないですね。
1.0.2 系は 1.0.2ze 以上が求められているので更新が必要そう。
$ yum info openssl
Name : openssl
Arch : x86_64
Epoch : 1
Version : 1.0.2k
Release : 24.amzn2.0.2
ただ、「yum update openssl」しても最新のパッケージと言われます。
よくよく見ると、openssl11 なんてパッケージがあるじゃないですか。
$ yum info openssl11
Available Packages
Name : openssl11
Arch : x86_64
Epoch : 1
Version : 1.1.1g
Release : 12.amzn2.0.7
「Available Packages」なのでインストールはされてないけど、このパッケージだと 1.1.1g になるわけですね。
どちらにしても今回の脆弱性の問題は解決しない模様。
AmazonLinux は様子見で。
まとめ
ubuntu18.04 と AmazonLinux2 における OpenSSL の脆弱性対応について紹介してきました。
ubuntu の公式サイトを見ると、情報が早くて良い感じですね。
AmazonLinux は大好きなのですが、yum のパッケージ更新はあまり良い印象がありません。
それよりも AmazonLinux2023 なんてものがプレビュー版で出ているのは知らなかった・・・。