OpenSSH 9.0 がリリースされました
2022/04/08, OpenSSH 9.0 がリリースされました.
- OpenSSH 9.0 Release Note 中の OpenSSH 9.0 での変更点の翻訳
- この記事にも添付します.
- OpenSSH 移植版付属文書の翻訳
scp で sftp プロトコルがデフォルトで利用されるようになりました.
耐量子鍵交換がデフォルトで利用されるようになりました.
https://www.openssh.com/txt/release-9.0
Changes since OpenSSH 8.9
=========================
OpenSSH 8.9 からの変更点
This release is focused on bug fixing.
このリリースはバグの修正に集中している.
Potentially-incompatible changes
--------------------------------
潜在的に非互換の変更
This release switches scp(1) from using the legacy scp/rcp protocol
to using the SFTP protocol by default.
このリリースで scp(1) を伝統的な scp/rcp プロトコルの利用から デフォルトで
SFTP プロトコルを利用するよう切り替える.
Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
"scp host:* .") through the remote shell. This has the side effect of
requiring double quoting of shell meta-characters in file names
included on scp(1) command-lines, otherwise they could be interpreted
as shell commands on the remote side.
伝統的な scp/rcp はリモートのファイル名の展開 (例えば scp host:* .*) を
リモートのシェルを通して行なう. これは, scp(1) のコマンドラインに含まれる
ファイル名のシェルメタ文字のダブルクオートを必要とする副作用があり, 一方で
それらはリモートサイドのシェルコマンドとして解釈される可能性がある.
This creates one area of potential incompatibility: scp(1) when using
the SFTP protocol no longer requires this finicky and brittle quoting,
and attempts to use it may cause transfers to fail. We consider the
removal of the need for double-quoting shell characters in file names
to be a benefit and do not intend to introduce bug-compatibility for
legacy scp/rcp in scp(1) when using the SFTP protocol.
これは, 潜在的な非互換性の領域を作成する: SFTP プロトコルを用いる scp(1) は
このような気難しく不安定なクオートを必要せず, 利用しようとすると転送に失敗する
ことがある. ファイル名でのシェル文字のダブルクオートの必要の除去は利益となり
SFTP プロトコルの利用時に scp(1) の伝統的な scp/rcp のバグのある互換性を
導入しないことを我々は考慮した.
Another area of potential incompatibility relates to the use of remote
paths relative to other user's home directories, for example -
"scp host:~user/file /tmp". The SFTP protocol has no native way to
expand a ~user path. However, sftp-server(8) in OpenSSH 8.7 and later
support a protocol extension "expand-path@openssh.com" to support
this.
潜在的な非互換性の他の領域は, 他のユーザのホームディレクトリの相対リモートパス,
例えば, "scp host:~user/file /tmp" に関連する. SFTP プロトコルは, ~user パスの
展開をネイティブに行なう方法を持たない. しかし, OpenSSH 8.7 以降の sftp-server(8)
は, これをサポートする "expand-path@openssh.com" プロトコル拡張で
サポートする.
In case of incompatibility, the scp(1) client may be instructed to use
the legacy scp/rcp using the -O flag.
非互換性がある場合, scp(1) クライアントに -O フラグを用いて伝統的な
scp/rcp を利用するよう指定できる.
New features
------------
新機能
* ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
exchange method by default ("sntrup761x25519-sha512@openssh.com").
The NTRU algorithm is believed to resist attacks enabled by future
quantum computers and is paired with the X25519 ECDH key exchange
(the previous default) as a backstop against any weaknesses in
NTRU Prime that may be discovered in the future. The combination
ensures that the hybrid exchange offers at least as good security
as the status quo.
ssh(1), sshd(8): ハイブリッドな Streamlined NTRU Prime + x25519
鍵交換法がデフォルトで用いられる ("sntrup761x25519-sha512@openssh.com").
NTRU アルゴリズムは将来の量子コンピュータが可能にする攻撃に対して
耐性があると信じられていて, 将来見付かるかもしれない NTRU Prime の
弱点に対抗するために (以前のデフォルトの) X25519 ECDH 鍵交換と
共に利用する. この組み合わせは, ハイブリッドな交換が
それぞれがそのままよりも少なくともよいセキュリティを提供することを
保証する.
We are making this change now (i.e. ahead of cryptographically-
relevant quantum computers) to prevent "capture now, decrypt
later" attacks where an adversary who can record and store SSH
session ciphertext would be able to decrypt it once a sufficiently
advanced quantum computer is available.
我々は, セッションの暗号文を記録し補完できる攻撃者が十分に進んだ
量子コンピュータが利用可能になった際に暗号文を復号できる
"先に記録して後で復号する" 攻撃を防ぐために
今 (すなわち 暗号学的に関係するコンピュータに先んじて)
この変更を行なう.
* sftp-server(8): support the "copy-data" extension to allow server-
side copying of files/data, following the design in
draft-ietf-secsh-filexfer-extensions-00. bz2948
sftp-server(8): draft-ietf-secsh-filexfer-extensions-00 の
設計に従う, サーバサイドのファイル/データのコピーを許す
"copy-data" 拡張をサポートする. bz2948
* sftp(1): add a "cp" command to allow the sftp client to perform
server-side file copies.
sftp(1): サーバサイドのファイルコピーを実行することを sftp クライアントに
許す "cp" コマンドを追加する.
Bugfixes
--------
バグ修正
* ssh(1), sshd(8): upstream: fix poll(2) spin when a channel's output
fd closes without data in the channel buffer. bz3405 and bz3411
ssh(1), sshd(8): upstream: チャンネルの出力 fd が チャンネルバッファ中の
データなしで閉じられた場合の poll(2) spin を修正する.
* sshd(8): pack pollfd array in server listen/accept loop. Could
cause the server to hang/spin when MaxStartups > RLIMIT_NOFILE
sshd(8): server の listen/accept ループ中で pollfd の配列を
詰める. MaxStartups > RLIMIT_NOFILE の場合ん サーバが
hang/spin を起こす可能性がある.
* ssh-keygen(1): avoid NULL deref via the find-principals and
check-novalidate operations. bz3409 and GHPR#307 respectively.
ssh-keygen(1): find-principals と check-novalidate 操作による
NULL の逆参照 を避ける. それぞれ bz3409 と GHPR#307.
* scp(1): fix a memory leak in argument processing. bz3404
scp(1): 引数処理でのメモリリークを修正する. ba3404
* sshd(8): don't try to resolve ListenAddress directives in the sshd
re-exec path. They are unused after re-exec and parsing errors
(possible for example if the host's network configuration changed)
could prevent connections from being accepted.
sshd(8): sshd の re-exec パスで ListenAddress 設定項目の解決を
しないようにする. re-exec や
(例えばホストの ネットワークの設定が変更された場合にありえる)
接続が受け入れられない可能性があるエラーのパースの後では利用されない.
* sshd(8): when refusing a public key authentication request from a
client for using an unapproved or unsupported signature algorithm
include the algorithm name in the log message to make debugging
easier.
sshd(8): 承認されていない もしくは サポートされていない署名アルゴリズムを用いる
クライアントからの公開鍵認証要求を拒否する時, デバッグが簡単になるよう
ログメッセージ中にアルゴリズム名を含める.
Portability
-----------
移植性
* sshd(8): refactor platform-specific locked account check, fixing
an incorrect free() on platforms with both libiaf and shadow
passwords (probably only Unixware) GHPR#284,
sshd(8): プラットフォーム特有なアカウント検査をリファクタリングし,
libiaf と (Unixware でのみおそらく使われている) シャドーパスワード
を両方用いるプラットフォームでの不正確な free() を修正する.
* ssh(1), sshd(8): Fix possible integer underflow in scan_scaled(3)
parsing of K/M/G/etc quantities. bz#3401.
ssh(1), sshd(8): scan_scaled(3) が K/M/G/などの量をパースする時の
可能性のある整数アンダーフローを修正する. bz#3401.
* sshd(8): provide killpg implementation (mostly for Tandem NonStop)
GHPR#301.
sshd(8): (大部分が Tandem NonStop のための) killpg 実装を提供する.
* Check for missing ftruncate prototype. GHPR#301
存在しない ftruncate prototype を検査する. GHPR#301
* sshd(8): default to not using sandbox when cross compiling. On most
systems poll(2) does not work when the number of FDs is reduced
with setrlimit, so assume it doesn't when cross compiling and we
can't run the test. bz#3398.
sshd(8): クロスコンパイル時に sandbox をデフォルトでは利用しない.
多くのシステムで poll(2) は setrlimit で FD の数が制限されている
場合は動作せず. クロスコンパイルする場合でないではなくテストを
走らせる場合ではないと推測できる.
* sshd(8): allow ppoll_time64 in seccomp sandbox. Should fix sandbox
violations on some (at least i386 and armhf) 32bit Linux platforms.
bz#3396.
sshd(8): seccomp サンドボックスで ppoll_time64 を許可する. いくつかの
(少なくとも i386 と armhf) の 32 ビット Linux プラットフォームでの
sandbox 侵害を修正するはずだ. bz#3396
* Improve detection of -fzero-call-used-regs=all support in
configure script.
configure スクリプトでの -fzero-call-used-regs=all のサポートの
検知を改善する