OpenSSH は、SSH プロトコルを使用して、ネットワーク上で暗号化された通信を可能にする一連のアプリケーションです。
OpenSSH 9.6 の新バージョンのリリースが発表されました。このバージョンにはいくつかのバグ修正が含まれているほか、いくつかの新機能、いくつかのパフォーマンスの改善などが含まれています。
OpenSSH(Open Secure Shell)をご存知ない方のために説明すると、これはSSHプロトコルを使用してネットワーク上で暗号化された通信を可能にするアプリケーション群です。これは、商用ソフトウェアであるSecure Shellに代わる、無料のオープンソースソフトウェアとして開発されました。
OpenSSH9.6の主な新機能
OpenSSH 9.6 のこの新しいバージョンでは、簡素化された ProxyJump が特徴で、ssh に "%j" 置換を追加し、指定されたホスト名に展開します。また、clang の " -fzero-call-used-regs " など、不安定またはサポートされていないコンパイラ フラグの検出が改善されています。
新バージョンにおけるもう一つの変更点は、 SSHがクライアント側でChannelTimeoutを設定できるようになったことです。これにより、非アクティブなチャネルを終了させることができます。
さらに、OpenSSH 9.6では、 sshおよびsshdにプロトコル拡張機能を追加することで、署名アルゴリズムのきめ細かな制御が可能になりました。この拡張機能により、ユーザー名を受け取った後に公開鍵認証用のデジタル署名アルゴリズムを再ネゴシエートできます。例えば、この拡張機能を使用することで、特定のユーザーに対して異なるアルゴリズムを選択的に使用できます。
また、PKCS#11キーをロードする際に証明書を設定するために、ssh-addとssh-agentにプロトコル拡張機能が追加されたことも特筆すべき点です。これにより、sshだけでなく、ssh-agentをサポートするすべてのOpenSSHユーティリティでPKCS#11秘密鍵に関連付けられた証明書を使用できるようになります。
バグ修正に関しては、以下の修正が含まれていることが記載されています。
- の解決策 SSH プロトコルの脆弱性 (CVE-2023-48795、Terrapin 攻撃)これにより、MITM 攻撃が接続を元に戻して安全性の低い認証アルゴリズムを使用し、キーボードのキーストローク間の遅延を分析して入力を再作成するサイドチャネル攻撃に対する保護を無効にすることができます。攻撃方法については別のニュース記事で説明します。
- の解決策 任意のシェルコマンドの置き換えを可能にする ssh ユーティリティの脆弱性 特殊文字を含むログイン値とホスト値を操作することによって。この脆弱性は、攻撃者が ssh に渡されるログインおよびホスト名の値、ProxyCommand および LocalCommand ディレクティブ、または %u や %h などのワイルドカード文字を含む「match exec」ブロックを制御している場合に悪用される可能性があります。たとえば、Git ではホスト名とユーザー名に特殊文字を指定することを禁止していないため、Git のサブモジュールを使用するシステムでは、間違ったログインとホストが上書きされる可能性があります。同様の脆弱性が libssh にも存在します。
- への解決策 PKCS#11 秘密鍵を追加するときに ssh-agent でエラーが発生する、制限は、PKCS#11 トークンによって返される最初のキーにのみ適用されました。この問題は、通常の秘密キー、FIDO トークン、または無制限のキーには影響しません。
この新バージョンにおけるその他の注目すべき変更点は以下のとおりです。
- PubkeyAcceptedアルゴリズム 「ユーザーの一致」ブロック内。
- sshd プロセスの権限を制限するために、getpflags() インターフェイスをサポートする OpenSolaris バージョンでは、 PRIV_XPOLICY PRIV_LIMIT の代わりに。
- ssh、sshd、ssh-add、および ssh-keygen の PEM PKCS25519 形式で ED8 秘密キーを読み取るためのサポートが追加されました (以前は OpenSSH 形式のみがサポートされていました)。
最後に、この新バージョンについてさらに詳しく知りたい場合は、こちらのリンクから詳細をご確認いただけます。
LinuxにOpenSSH9.6をインストールするにはどうすればよいですか?
この新しいバージョンのOpenSSHをシステムにインストールしたい方は、今のところソースコードをダウンロードして自分のコンピュータ上でコンパイルすることでインストールできます。
これは、新しいバージョンが主要なLinuxディストリビューションのリポジトリにまだ含まれていないためです。ソースコードを入手するには、次のリンクを使用してください。
ダウンロードが完了したら、以下のコマンドでパッケージを解凍します。
tar -xvf openssh-9.6.tar.gz
作成したディレクトリに入ります。
cd openssh-9.6
そして、以下のコマンドでコンパイルを実行できます。
./configure --prefix=/opt --sysconfdir=/etc/ssh make make install