openSSHで脆弱性の大きな問題が発生
1.概要
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を利用した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
想定通りに動作します。
(6) 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で接続できることが前提です。
(7) 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の問題は改善できます。
参考
・miniPCのBMAXにwindows11を再導入して。ハマりました
コメント
コメントを投稿