openSSHで脆弱性の大きな問題が発生 ( openSSH / openSSL / SLUBStick )
1.概要
openSSHで脆弱性の大きな問題が発生して対応した内容です。既に過去のことになっていますが、openSSHで問題が発生すると影響が大きいので、すぐに修正を適用しましょう。
また、openSSHに関連したツール類の利用に関して試したことを追記しています。色々なことがopenSSHを基盤に実施することができます。参考にしてください。
2.詳細
ubuntu terminalから下記コマンドでsshのVersionを確認します。
ssh -V
(a) ubuntu 20.04.6
6月頃の少し古い環境です
OpenSSH_8.2p1 Ubuntu-4ubuntu0.11, OpenSSL 1.1.1f 31 Mar 2020
アップデートをしました。
OpenSSH_8.2p1 Ubuntu-4ubuntu0.11, OpenSSL 1.1.1f 31 Mar 2020
このバージョンは過去に修正済みで問題ないようです。
(b) ubuntu 22.04.4
6月頃の少し古い環境です
OpenSSH_8.9p1 Ubuntu-3ubuntu0.7, OpenSSL 3.0.2 15 Mar 2022
アップデートをしました。
OpenSSH_8.9p1 Ubuntu-3ubuntu0.10, OpenSSL 3.0.2 15 Mar 2022
(c) ubuntu 24.04
6月頃の少し古い環境です
OpenSSH_9.6p1 Ubuntu-3ubuntu13, OpenSSL 3.0.13 30 Jan 2024
アップデートをしました。
OpenSSH_9.6p1 Ubuntu-3ubuntu13.3, OpenSSL 3.0.13 30 Jan 2024
3.所見
OpenSSHは利用されている範囲が広く、使われているOS環境も異なります。修正情報を提供する側も大変ですが、適用する側も間違えないように適用するのは大変です。
4.追加
本件に関連して調べたことや試したことを参考として追記します。
(1) openSSHで脆弱性の大きな問題が発生をWindows11のwslで確認
Windows11のWSL上のopenSSH脆弱性対応が気になったので試してみました。
まず、Windows updateを実行しました。しかし、ubuntu関連への修正は適用されません。
Windows Updateでは変更されないようなので、手作業でopenSSH修正が必要です。
$ sudo apt update
$ sudo apt upgrade
(2) ubuntu-24.04のopenSSH修正が再修正されました
ubuntu-24.04のopenSSH修正に問題があったようです。適用しました。
(3) xzにbackdoorが仕掛けられていた
2024-03-29に公開された情報ですが、私は先週末気が付きました。CVE-2024-3094に詳細情報は記載されていますが、xz 5.6.0、5.6.1にbackdoorが仕掛けられていたとのことです。ubuntuは24.04-preが影響しています。
OSSであったからこそ見つかったことかもしれません。該当する製品を利用している場合は対処しましょう。私もubuntu-24.04-preを利用しているので、全て削除をしました。
(4) opensslが更新されました
opensslが更新されました。opnessh問題時には変更はなく、静かに更新されました。
(5) sshを利用してremote serverで処理を実行する方法
sshの接続先のマシン上でshellを実行したい場合、sshでlogin後にshellを起動します。これをsshのコマンドでshell実行まで可能になっています。以前はrshを利用していましたが、sshで便利に利用できます。この内容を記述します。
(a) 環境
以下のような環境を準備しました。
ssh server host : 192.168.20.20
ssh client host : 192.168.20.10
ssk-key : id_key
user : username
(b) 実行するshell
ssh server host上のusernameアカウントにtest.shを作成します
#!/bin/bash
ls -l $1
(c) 処理の実行
ssh client host上にtest.dataを作成します。
test.data内容
1234567890
abcdefghij
test.dataをssh server hostに転送後、test.shを実行して確認する処理です。
ssh client host上にremote_job.shを作成します。
#!/bin/bash
scp -i ~/.ssh/id_key test.data username@192.168.20.20:./
ssh -i ~/.ssh/id_key username@192.168.20.20 sh test.sh test.data
実行します
sh remote_job.sh
test.data 100% 23 1.6KB/s 00:00
-rw-rw-r-- 1 username username 23 Oct 4 23:01 test.data
(6) sshfsを利用したremote file systemのmount
sshを利用したfile system mountができないかと考えてネットを調べるとFUSEベースのFile System Clientとしてsshfsを見つけました。早速、試してみたので、その内容を記述します。
(a) 準備
参考資料に沿って作業をするために、KVM環境にubuntu-20.04 serverを2台構築します。
KVM仮想マシンの作成方法は省略します。本ブログ内に複数あります(例:kubernates in KVM)
作成した仮想マシンは下記内容です。ubuntu install時にopensshを導入しています。
ubuntu201 1 core 2GB memory 25GB disk ip=192.168.122.201
ubuntu202 1 core 2GB memory 25GB disk ip=192.168.122.202
(b) ssh動作確認
ubuntu terminalからsshコマンドでuser/passwordでloginします
ssh username@192.168.122.201
home directory上にdirectoryとfileを確認用に設定します。
mkdir share
cd share
touch test.txt
新しいubuntu terminalから2台目にuser/passwordでloginします。
ssh username@192.168.122.202
一台目からscpでファイルをコピーできることを確認します。
scp username@192.168.122.201:./share/test.txt ./
(c) sshfsの導入
2台目(192.168.122.202)にsshfsを導入します。
sudo apt install sshfs
sshfs --version
SSHFS version 2.10.0
FUSE library version: 2.9.9
fusermount version: 2.9.9
using FUSE kernel interface version 7.19
(d) mount確認
mountしてみます。
mkdir sshfs-mnt
sshfs username@192.168.122.201: sshfs-mnt
ls ./sshfs-mnt/
share
username@ubuntu201:~$ ls ./sshfs-mnt/share/
test.txt
想定通りに動作します。
(7) ssh port forwardを試してみました
sshを利用した接続ができる環境があると、ssh port forward機能を利用して、ssh接続先のlocal環境に存在するサービスに接続することができます。まず、sshコマンドで接続先のIP-addressのPostgreSQLへのトンネルを設定します。次に、psqlを利用して、トンネル経由で接続先IP-addressのPostgreSQLへ接続します。
(a) 環境
localPCのIP-addressを192.168.20.20とします。
PostgreSQLが動作するIP-addressを192.168.10.10
(b) sshコマンドによるトンネル設定( terminal-1 で実行 )
ssh -i .ssh/id_ed25519.pem -L 15432:192.168.20.20:5432 192.168.10.10
id_ed25519.pemは、sshで192.168.10.10に接続するための鍵です。
この設定の意味は、LocalPC(192.168.20.20)のport 15432に接続すると
192.168.10.10のport 5432にforwardすると言うことです。
(c) psql接続( terminal-2 で実行 )
psql -h localhost -p 15432 -U my_user my_database
この設定の意味は、localhost(192.168.20.20)のport 15432に
psqlでmy_userでmy_databaseに接続することです。
つまり、192.168.10.10にはmy_databaseが存在し、my_userで接続できることが前提です。
(8) KVMマシン内ubuntu serverのterminalでcopy & pasteするには
KVM環境を良く利用します。Ubuntu desktopを仮想マシンとして動作させることが多いのですが、ubuntu serverを仮想マシンとして動作させたときに、copy & pasteができないことに気が付きました。これはubuntu serverにはGUIがないためです。ネットを調べても良い方法がすぐに見つかりません。ふと、クラウド環境を利用するときにssh接続をすることを思いだして、試してみました。
ubuntu serverの22.04をisoファイルからKVM環境に導入するときに、OpenSSH Serverを導入します。InstallerはOpenSSHの必要性をわかっているようで、Install時に選択できます。
Install完了後、Consoleからloginして、作成したVirtual Machine のip addressを調べます。
ip a
このipを利用して
ubuntu desktopのterminalからssh接続します。
ssh username@ip-address
desktop terminalで接続できるとcopy & pasteの問題は改善できます。
(9) openssl
opensslが更新されました。opnessh問題時には変更はなく、静かに更新されました。何となく嫌な感じがします。本更新では、snapdも更新されています。ubuntuLTS 20.04 22.04 24.04は同じような更新が実施されました。security updatesとの記載があるので、予防措置として、早めに修正をしましょう。
(a) ubuntu-20.04.6
openssl 1.1.1f-1ubuntu2.23
snapd 2.63+20.04ubuntu0.1
(b) ubuntu-22.04.4
openssl 3.0.2-0ubuntu1.17
snapd 2.63+22.04ubuntu0.1
(c) ubuntu-24.04
openssl 3.0.13-0ubuntu3.2
snapd 2.63+24.04ubuntu0.1
(10) SLUBStick
Linux kernelの脆弱性が発表されました。すぐにパッチを適用しましょう。
対象kernel範囲が異なっています。
(a) 脆弱性はバージョン5.14以降から6.6までのLinux カーネル
(b) SLUBStickを悪用するには既知のヒープ脆弱性が必要となる。
研究では2021年から2023年までに発見された次の脆弱性を悪用しており、
Linuxカーネルバージョン5.19から6.2にて動作が実証
最新パッチ適用状態を調べました。
ubuntu-20.04.6、ubuntu-22.04.4は微妙な感じです。
ubuntu-24.04は大丈夫そうです。
(a) ubuntu-24.04
kernel 6.8.0-40
(b) ubuntu-22.04.4
kernel 6.5.0-45
(c) ubuntu-20.04.6
kernel 5.15.0-117
(11) kernelが更新されました
Linux kernelの脆弱性に対して、ubuntu-22.04.4がkernel-6.8.0-40に変わりました
今日更新を実行すると以下のように変わりました。
(a) ubuntu-24.04 (変化なし)
kernel 6.8.0-40
(b) ubuntu-22.04.4
kernel 6.8.0-40
(c) ubuntu-20.04.6 (変化なし)
kernel 5.15.0-117
参考
・nfs4のサーバー機能をコンテナで実現する方法
・Google driveのアクセス方法とその他の手段について ( gdrive / rclone / sshfs / gio / google-drive-ocumlfuse )
[外部サイト参照]
・CVE-2024-6387
・OpenSSHにリモートコード実行の脆弱性、約20年ぶりの“回帰バグ”が発生
・USN-6887-1: OpenSSH vulnerability
・XZ Utilsに悪意のあるコードが挿入された問題(CVE-2024-3094)について
・Linux Kernel 権限昇格の脆弱性で悪用の可能性(CVE-2024-1086)
・CVE-2024-6387
・OpenSSHにリモートコード実行の脆弱性、約20年ぶりの“回帰バグ”が発生
・USN-6887-1: OpenSSH vulnerability
・XZ Utilsに悪意のあるコードが挿入された問題(CVE-2024-3094)について
・Linux Kernel 権限昇格の脆弱性で悪用の可能性(CVE-2024-1086)
コメント
コメントを投稿