OpenSSH 8.6 がリリースされました
2021/04/19, OpenSSH 8.6 がリリースされました.
- OpenSSH 8.6 Release Note 中の OpenSSH 8.6 での変更点の翻訳
- この記事にも添付します.
- OpenSSH 移植版付属文書の翻訳
主にバグ修正のリリースですが, 実際に利用される蓋然性が非常に少ないセキュリティの問題への対応があります.
https://www.openssh.com/txt/release-8.6
Future deprecation notice
=========================
将来廃止される機能の告知
It is now possible[1] to perform chosen-prefix attacks against the
SHA-1 algorithm for less than USD$50K.
USドル 50K より少ない金額で SHA-1 アルゴリズムに対する選択プレフィックス
攻撃が実行できることが [1] で示されている.
In the SSH protocol, the "ssh-rsa" signature scheme uses the SHA-1
hash algorithm in conjunction with the RSA public key algorithm.
OpenSSH will disable this signature scheme by default in the near
future.
SSH プロトコルで, "ssh-rsa" 署名スキームは, RSA 公開鍵アルゴリズムと共に
SHA-1 ハッシュアルゴリズムを利用している. OpenSSH は近い将来
デフォルトでこの署名スキームを無効にする予定だ.
Note that the deactivation of "ssh-rsa" signatures does not necessarily
require cessation of use for RSA keys. In the SSH protocol, keys may be
capable of signing using multiple algorithms. In particular, "ssh-rsa"
keys are capable of signing using "rsa-sha2-256" (RSA/SHA256),
"rsa-sha2-512" (RSA/SHA512) and "ssh-rsa" (RSA/SHA1). Only the last of
these is being turned off by default.
"ssh-rsa" 署名の無効化は RSA 鍵の利用の停止を必ずしも必要としない
ことに注意. SSH プロトコルでは, 鍵は複数のアルゴリズムを用いて署名に利用
できる. 特に "ssh-rsa" 鍵は, "rsa-sha2-256" (RSA/SHA256) と
"rsa-sha2-512" (RSA/SHA512), "ssh-rsa" (RSA/SHA1) を用いて署名可能だ.
最後のものだけがデフォルトで無効になる予定だ.
This algorithm is unfortunately still used widely despite the
existence of better alternatives, being the only remaining public key
signature algorithm specified by the original SSH RFCs that is still
enabled by default.
このアルコリズムは, よりよい代替があるにもかかわらず
もともとの SSH RFC で定義された公開鍵署名アルゴリズムのの中で
ただ 1 つ残ったアルゴリズムとして,
不幸なことにいまだ広く用いられている.
The better alternatives include:
次に示すものがよりよい代替だ:
* The RFC8332 RSA SHA-2 signature algorithms rsa-sha2-256/512. These
algorithms have the advantage of using the same key type as
"ssh-rsa" but use the safe SHA-2 hash algorithms. These have been
supported since OpenSSH 7.2 and are already used by default if the
client and server support them.
RFC8332 の RSA SHA-2 署名アルゴリズム rsa-sha-256/512.
これらのアルゴリズムは "ssh-rsa" と同じ鍵タイプを用いる利点があり
安全な SHA-2 ハッシュアルゴリズムを用いている. これらは
OpenSSH 7.2 以降でサポートされており, クライアントとサーバが
サポートしているならすでにデフォルトで用いられている.
* The RFC8709 ssh-ed25519 signature algorithm. It has been supported
in OpenSSH since release 6.5.
ssh-ed25519 署名アルゴリズム. OpenSSH 6.5 以降でサポートされている.
* The RFC5656 ECDSA algorithms: ecdsa-sha2-nistp256/384/521. These
have been supported by OpenSSH since release 5.7.
RFC5656 の ECDSA アルゴリズム: ecdsa-sha2-nistp256/384/521. These
これらは OpenSSH 5.7 以降でサポートされている.
To check whether a server is using the weak ssh-rsa public key
algorithm, for host authentication, try to connect to it after
removing the ssh-rsa algorithm from ssh(1)'s allowed list:
サーバがホストの認証のために, 弱い ssh-rsa 公開鍵アルゴリズムを
利用しているか検査するには, ssh(1) の許可リストから ssh-rsa
アルゴリズムを除いたあとで接続を試行すればよい.
ssh -oHostKeyAlgorithms=-ssh-rsa user@host
If the host key verification fails and no other supported host key
types are available, the server software on that host should be
upgraded.
ホスト鍵検証が失敗し他にサポートされたホスト鍵の種類がない場合,
ホストのサーバソフトウェアをアップグレードする必要がある.
OpenSSH recently enabled the UpdateHostKeys option by default to assist
the client by automatically migrating to better algorithms.
OpenSSH では, クライアントがよりよいアルゴリズムに自動的に移行できるよう
助ける UpdateHostKeys 設定項目が最近デフォルトで有効となった.
[1] "SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA-1 and
Application to the PGP Web of Trust" Leurent, G and Peyrin, T
(2020) https://eprint.iacr.org/2020/014.pdf
Security
========
セキュリティ
* sshd(8): OpenSSH 8.5 introduced the LogVerbose keyword. When this
option was enabled with a set of patterns that activated logging
in code that runs in the low-privilege sandboxed sshd process, the
log messages were constructed in such a way that printf(3) format
strings could effectively be specified the low-privilege code.
sshd(8): OpenSSH 8.5 は LogVerbose キーワードを導入した.
低権限のサンドボックス化された sshd プロセス内で走るコード中での
ロギングを有効化するパターンセットでこの設定項目が有効とされた場合,
printf(3) 形式の文字列が低権限のコードを効率的に指定できるように
ログメッセージが構築されていた.
An attacker who had sucessfully exploited the low-privilege
process could use this to escape OpenSSH's sandboxing and attack
the high-privilege process. Exploitation of this weakness is
highly unlikely in practice as the LogVerbose option is not
enabled by default and is typically only used for debugging. No
vulnerabilities in the low-privilege process are currently known
to exist.
低権限のプロセスの権限を奪うことに成功した攻撃者は, これを利用して
OpenSSH のサンドボックスを回避して高権限のプロセスを攻撃することができた.
この脆弱性の悪用は, 実際上は非常にありそうもない. LogVerbose 設定項目は
デフォルトでは有効ではなく, 典型的にはデバッグ用のみに利用される.
低権限のプロセス中の脆弱性は現在存在を知られていない.
Thanks to Ilja Van Sprundel for reporting this bug.
Changes since OpenSSH 8.5
=========================
OpenSSH 8.5 からの変更点
This release contains mostly bug fixes.
このリリーウは主にバグ修正を含んでいる.
New features
------------
新機能
* sftp-server(8): add a new limits@openssh.com protocol extension
that allows a client to discover various server limits, including
maximum packet size and maximum read/write length.
sftp-server(8): 新しい limits@openssh.com プロトコル拡張を追加する.
最大のパケットサイズや最大のリード/ライト長を含む,
さまざまなサーバの制限をクライアントが見つけられるようにする.
* sftp(1): use the new limits@openssh.com extension (when available)
to select better transfer lengths in the client.
sftp(1): クライアントがよりよい転送長を選択するため
新しい limits@openssh.com 拡張 (が利用可能なら) 用いる.
* sshd(8): Add ModuliFile keyword to sshd_config to specify the
location of the "moduli" file containing the groups for DH-GEX.
sshd(8): sshd_config に ModuliFile キーワードを追加する.
DH-GEX のための群を含む "moduli" ファイルの場所を指定する.
* unit tests: Add a TEST_SSH_ELAPSED_TIMES environment variable to
enable printing of the elapsed time in seconds of each test.
単体テスト: それぞれのテストにかかる時間を秒単位での表示を可能にする
TEST_SSH_ELAPSED_TIMES 環境変数を追加する.
Bugfixes
--------
バグ修正
* ssh_config(5), sshd_config(5): sync CASignatureAlgorithms lists in
manual pages with the current default. GHPR#174
ssh_config(5), sshd_config(5): マニュアルページの
CASignatureAlgorithms のリストを現在のデフォルトと同期する. GHPR#174
* ssh(1): ensure that pkcs11_del_provider() is called before exit.
GHPR#234
ssh(1): exit 前に pkcs11_del_provider() が呼ばれることを保証する..
GHPR#234
* ssh(1), sshd(8): fix problems in string->argv conversion. Multiple
backslashes were not being dequoted correctly and quoted space in
the middle of a string was being incorrectly split. GHPR#223
ssh(1), sshd(8): 文字列->引数 変換の問題を修正する.
複数のバックスラッシュは正確に脱クオートされておらず,
文字列中のクオートされたスペースは不正確に分割されていた.
GHPR#223
* ssh(1): return non-zero exit status when killed by signal; bz#3281
ssh(1): シグナルで殺された場合 0 でない終了ステータスを返す;
bz#3281
* sftp-server(8): increase maximum SSH2_FXP_READ to match the maximum
packet size. Also handle zero-length reads that are not explicitly
banned by the spec.
sftp-server(8): 最大パケットサイズに一致するよう最大の SSH2_FXP_READ
を増やす. また, 仕様で明示的に禁止されていない 0 長のリードを扱う.
Portability
-----------
移植性
* sshd(8): don't mistakenly exit on transient read errors on the
network socket (e.g. EINTR, EAGAIN); bz3297
sshd(8): ネットワークソケットの一時的なリードエラー (例えば EINTR, EAGAIN)
で間違って exit しない; bz3297
* Create a dedicated contrib/gnome-ssk-askpass3.c source instead of
building it from the same file as used for GNOME2. Use the GNOME3
gdk_seat_grab() to manage keyboard/mouse/server grabs for better
compatibility with Wayland.
GNOME2 のために利用されるのと同じファイルからビルドするかわりに
専用の contrib/gnome-ssk-askpass3.c を作成する. Wayland との
よりよい互換性のために キーボード/マウス/サーバの grab を管理する
GNOME3 の gdk_seat_grab() を利用する.
* Fix portability build errors bz3293 bz3292 bz3291 bz3278
移植性のビルドエラーを修正する. bz3293 bz3292 bz3291 bz3278
* sshd(8): soft-disallow the fstatat64 syscall in the Linux
seccomp-bpf sandbox. bz3276
sshd(8): Linux の seccomp-bpf サンドボックス中で fstatat64
システムコールをソフトに不許可にする. bz3276
* unit tests: enable autoopt and misc unit tests that were
previously skipped
単体テスト: autoopt を有効にし, 以前スキップされていた
単体テストを修正する.