OpenSSH 8.5 リリース準備中 / Call for testing: OpenSSH 8.5
OpenSSH 8.5 がリリース準備中です.
Security
========
セキュリティ
* Portable sshd(8): Prevent excessively long username going to PAM.
移植版 sshd(8): 長すぎるユーザ名を PAM に送るのを防ぐ.
This is a mitigation for a buffer overflow in Solaris' PAM username
handling (CVE-2020-14871), and is only enabled for Sun-derived PAM
implementations. This is not a problem in sshd itself, it only
prevents sshd from being used as a vector to attack Solaris' PAM.
It does not prevent the bug in PAM from being exploited via some
other PAM application. GHPR#212
これは, Solaris の PAM ユーザ名の扱いでのバッファオーバーフロー
(CVE-2020-14871) に対する緩和策で, Sun 由来の PAM 実装に対してのみ
有効化される. sshd 自身の問題ではなく, Solaris の PAM への攻撃
ベクターとして sshd が使われるのを防ぐだけだ. 他の PAM アプリケーション
によって PAM のバグが悪用されるのを防がない. GHPR#212
Potentially-incompatible changes
================================
潜在的に非互換な変更
This release includes a number of changes that may affect existing
configurations:
このリリースは, 既存の設定に影響する可能性のある変更をいくつか含んでいる.
* ssh(1), sshd(8): this release changes the first-preference signature
algorithm from ECDSA to ED25519.
ssh(1), sshd(8): このリリースで, 最優先の署名アルゴリズムが
ECDSA から ED25519 に変更する.
* ssh(1), sshd(8): set the TOS/DSCP specified in the configuration
for interactive use prior to TCP connect. The connection phase of
the SSH session is time-sensitive and often explicitly interactive.
The ultimate interactive/bulk TOS/DSCP will be set after
authentication completes.
ssh(1), sshd(8): TCP での接続の前に対話的な利用に対して設定で
指定された TOS/DSCP を設定する. SSH のセッションの接続フェーズは
時間に敏感で, しばしば明示的に対話的になる. 最終的な対話的/バルクの
TOS/DSCP は, 認証の完了後に設定せれる.
* ssh(1), sshd(8): remove the pre-standardization cipher
rijndael-cbc@lysator.liu.se. It is an alias for aes256-cbc before
it was standardized in RFC4253 (2006), has been deprecated and
disabled by default since OpenSSH 7.2 (2016) and was only briefly
documented in ssh.1 in 2001.
ssh(1), sshd(8): 標準化前の暗号 rijndael-cbc@lysator.liu.se
を削除する. これは, RFC4253 (2006) で標準化される前の aes256-cbc
のエイリアスで, OpenSSH 7.2 (2016) からデフォルトで非推奨となり
無効化され, 2001 年の ssh.1 で簡単にだけ文書化されている.
* ssh(1), sshd(8): update/replace the experimental post-quantum
hybrid key exchange method based on Streamlined NTRU Prime coupled
with X25519.
ssh(1), sshd(8): X25519 と組合せた Streamlined NTRU Prime を基にする
実験的な量子化後ハイブリッド鍵交換法を更新/交換する.
The previous sntrup4591761x25519-sha512@tinyssh.org method is
replaced with sntrup761x25519-sha512@openssh.com. Per its
designers, the sntrup4591761 algorithm was superseded almost two
years ago by sntrup761.
以前の sntrup4591761x25519-sha512@tinyssh.org は
sntrup761x25519-sha512@openssh.com. に交換される. 設計者によれば
sntrup4591761 アルゴリズムは, sntrup761 により約 2 年前に
置き換えられた.
(note this both the updated method and the one that it replaced are
disabled by default)
(更新された方法も置き換えられた方法もデフォルトでは無効なことに注意)
* ssh(1): disable CheckHostIP by default. It provides insignificant
benefits while making key rotation significantly more difficult,
especially for hosts behind IP-based load-balancers.
ssh(1): CheckHostIP をデフォルトで無効化する.
ささいな利益を提供するが, 特に IP ベースのロードバランサーの背後にある
ホストに対して, 鍵のローテーションをかなり難しくする.
Changes since OpenSSH 8.4
=========================
OpenSSH 8.4 からの変更点
New features
------------
新機能
* ssh(1): this release enables UpdateHostkeys by default subject to
some conservative preconditions:
- The key was matched in the UserKnownHostsFile (and not in the
GlobalKnownHostsFile).
- The same key does not exist under another name.
- A certificate host key is not in use.
- known_hosts contains no matching wildcard hostname pattern.
- VerifyHostKeyDNS is not enabled.
ssh(1): 次の保守的な事前条件の元で, このリリースは UpdateHostkeys を
デフォルトで有効にする.
- UserKnownHostsFile で鍵が一致する (また, GlobalKnownHostsFile では一致しない)
- 別の名前で同じ鍵が存在しない
- 証明書ホスト鍵を利用中ではない
- known_hosts に一致するワイルドカードホスト名パターンを含まない
- VerifyHostKeyDNS が有効ではない
We expect some of these conditions will be modified or relaxed in
future.
条件のうちのいくつかを将来変更されたり緩和される可能性がある.
* ssh(1), sshd(8): add a new LogVerbose configuration directive for
that allows forcing maximum debug logging by file/function/line
pattern-lists.
ssh(1), sshd(8): ファイル/関数/行 パターンリストに基づく
最大のデバッグロギングを強制することを可能にする, 新しい
LogVerbose 設定項目を追加する.
* ssh(1): when prompting the user to accept a new hostkey, display
any other host names/addresses already associated with the key.
ssh(1): 新しいホスト鍵の受け入れをユーザに指示する際,
その鍵にすでに紐づいている他のホスト名/アドレスを表示する.
* ssh(1): allow UserKnownHostsFile=none to indicate that no
known_hosts file should be used to identify host keys.
ssh(1): ホスト鍵を識別するのに known_hosts ファイルを利用する
必要がないことを指定する UserKnownHostsFile=none という指定を
可能とする.
* ssh(1): add a ssh_config KnownHostsCommand that allows the client
to obtain known_hosts data from a command in addition to the usual
files.
ssh(1): ssh_config で KnownHostsCommand 設定項目 を追加する.
クライアントは, 通常のファイルに加えて,
コマンドから known_hosts のデータを得られるようになる.
* ssh(1): for FIDO keys, if a signature operation fails with a
"incorrect PIN" reason and no PIN was initially requested from the
user, then request a PIN and retry the operation. This supports
some biometric devices that fall back to requiring PIN when reading
of the biometric failed, and devices that require PINs for all
hosted credentials.
ssh(1): FIDO の鍵に対して, "間違った PIN" の理由で署名操作が
失敗し, ユーザから最初に PIN が要求されない場合, PIN を要求し
操作をリトライする. これは, 生体情報の読み取りに失敗した場合に
PIN の要求にフォールバックする生体デバイスや, すべての所有
認証情報に対して PIN を要求するデバイスをサポートする.
* sshd(8): implement client address-based rate-limiting via new
sshd_config(5) PerSourceMaxStartups and PerSourceNetBlockSize
directives that fine-grained control than the global MaxStartups
limit.
sshd(8): グローバルな MaxStartups よりも細かな制御ができる
新しい sshd_config(5) の PerSourceMaxStartups と
PerSourceNetBlockSize 設定項目による クライアントのアドレス
に基づく帯域制限を実装する.
Bugfixes
--------
バグ修正
* ssh(1): Prefix keyboard interactive prompts with "(user@host)" to
make it easier to determine which connection they are associated
with in cases like scp -3, ProxyJump, etc. bz#3224
ssh(1): scp -3 や ProxyJump のような場合にどの接続に関連づけられている
かより容易に判断できるように "(user@host)" をキーボード
インタラクティブなプロンプトに前置する. bz#3224
* sshd(8): fix sshd_config SetEnv directives located inside Match
blocks. GHPR#201
sshd(8): Match ブロック内に配置された sshd_config SetEnv 設定項目
を修正する. GHPR#201
* ssh(1): when requesting a FIDO token touch on stderr, inform the
user once the touch has been recorded.
標準エラー出力に FIDO トークンの接触を要求する際, 接触が記録されたら
ユーザに通知する.
* ssh(1): prevent integer overflow when ridiculously large
ConnectTimeout values are specified, capping the effective value
(for most platforms) at 24 days. bz#3229
ssh(1): バカに大きな ConnectTimeout が指定された場合の 整数
オーバーフローを防止し, (多くのプラットフォームで) 実効値を
24 日に制限する. bz#3229
* ssh(1): consider the ECDSA key subtype when ordering host key
algorithms in the client,
ssh(1): クライアントでホスト鍵のアルゴリズムを整列する際に
ECDSA 鍵のサブタイプを考慮する.
* ssh(1), sshd(8): rename the PubkeyAcceptedKeyTypes keyword to
PubkeyAcceptedAlgorithms. The previous name incorrectly suggested
that it control allowed key algorithms, when this option actually
specifies the signature algorithms that are accepted. The previous
name remains available as an alias. bz#3253
ssh(1), sshd(8): PubkeyAcceptedKeyTypes 設定項目を PubkeyAcceptedAlgorithms
に改名する. 以前の名前は 許可される鍵アルゴリズムを制御するかのように
間違った示唆を与えていた. この設定項目は 受けつける署名アルゴリズムを
実際には指定する. 以前の名前もエイリアスとして利用可能のままだ.
bz#3253
* ssh(1), sshd(8): similarly, rename HostbasedKeyTypes (ssh) and
HostbasedAcceptedKeyTypes (sshd) to HostbasedAcceptedAlgorithms.
ssh(1), sshd(8): 同様に (ssh の) HostbasedKeyTypes と (sshd の)
HostbasedAcceptedKeyTypes も HostbasedAcceptedAlgorithms に改名する.
* sftp-server(8): add missing lsetstat@openssh.com documentation
and advertisement in the server's SSH2_FXP_VERSION hello packet.
sftp-server(8): 存在していなかった lsetstat@openssh.com 文書と
サーバの SSH2_FXP_VERSION ハローパケットでの広告を追加する.
* ssh(1), sshd(8): more strictly enforce KEX state-machine by
banning packet types once they are received. Fixes memleak caused
by duplicate SSH2_MSG_KEX_DH_GEX_REQUEST (oss-fuzz #30078).
ssh(1), sshd(8): 一度受信したパケットの種類を禁止して,
鍵交換状態マシンをより厳格に実行する. 重複した SSH2_MSG_KEX_DH_GEX_REQUEST
によって起こるメモリリークを修正する (oss-fuzz #30078)
* sftp(1): allow the full range of UIDs/GIDs for chown/chgrp on 32bit
platforms instead of being limited by LONG_MAX. bz#3206
sftp(1): 32ビットプラットフォームでの chown/chgrp の UID/GID に
LONG_MAX での制限の代わりに全範囲を指定できるようにする.
* Minor man page fixes (capitalization, commas, etc.) bz#3223
マニュアルページのちょっとした修正 (大文字, カンマなど) bz#3223
* sftp(1): when doing an sftp recursive upload or download of a
read-only directory, ensure that the directory is created with
write and execute permissions in the interim so that the transfer
can actually complete, then set the directory permission as the
final step. bz#3222
sftp(1): 読み取り専用のディレクトリの sftp の再帰的なアップロード
ないしダウンロードの際に, 転送中はディレクトリが書き込みと実行権限付きで
作成され, 転送が実際に終了してから最終段階でディレクトリの権限が
設定されることを保証する. bz#3222
* ssh-keygen(1): document the -Z, check the validity of its argument
earlier and provide a better error message if it's not correct.
bz#2879
ssh-keygen(1): -Z オプションを文書化し, その引数の有効性を事前にチェックし,
もし正しくなければよりよいエラーメッセージを提供する. bz#2879
* ssh(1): ignore comments at the end of config lines in ssh_config,
similar to what we already do for sshd_config. bz#2320
ssh(1): sshd_config ですでに同様にしているように,
ssh_config の設定行の末尾のコメントを無視する. bz#2320
* sshd_config(5): mention that DisableForwarding is valid in a
sshd_config Match block. bz3239
sshd_config(5): sshd_config の Match ブロック内での DisableForwarding
が有効だと言及する. bz3239
* sftp(1): fix incorrect sorting of "ls -ltr" under some
circumstances. bz3248.
sftp(1): いくつかの環境での "ls -ltr" の正しくないソートを
修正する. bz3248.
* ssh(1), sshd(8): fix potential integer truncation of (unlikely)
timeout values. bz#3250
ssh(1), sshd(8): (ありそうもない) タイムアウト値の潜在的な整数切り捨て
を修正する. bz#3250
* ssh(1): make hostbased authentication send the signature algorithm
in its SSH2_MSG_USERAUTH_REQUEST packets instead of the key type.
This make HostbasedAcceptedAlgorithms do what it is supposed to -
filter on signature algorithm and not key type.
ssh(1): ホストベースの認証で, 鍵の種類の変りに SSH2_MSG_USERAUTH_REQUEST で
署名のアルゴリズムを送信するようにする. HostbasedAcceptedAlgorithms が
鍵の種類ではなく署名のアルゴリズムでフィルタリングするという
あるべき動作をするようになる.
Portability
-----------
移植性
* sshd(8): add a number of platform-specific syscalls to the Linux
seccomp-bpf sandbox. bz#3232 bz#3260
sshd(8): Linux seccomp-bpf サンドボックスのプラットフォーム特有の
システムコールをいろいろと追加する. bz#3232 bz#3260
* sshd(8): remove debug message from sigchld handler that could cause
deadlock on some platforms. bz#3259
sshd(8): いくつかのプラットフォームでデッドロックを引き起す可能性のあった
sigchld ハンドラからのデバッグメッセージを除去する. bz#3259
* Sync contrib/ssh-copy-id with upstream.
contrib/ssh-copy-id を上流と同期する.
* unittests: add a hostname function for systems that don't have it.
Some systems don't have a hostname command (it's not required by
POSIX). The do have uname -n (which is), but not all of those have
it report the FQDN.
単体テスト: システムが持っていない場合 hostname 関数を追加する.
いくつかのシステムでは, hostname コマンドを持っておらず
(POSIZ で要求されていない), (要求されている )uname -n はあるが,
すべてのシステムで FQDN をレポートするわけではない.