OpenSSH 8.1 がリリースされました
2019/10/09, OpenSSH 8.1 がリリースされました.
- OpenSSH 8.1 Release Note 中の OpenSSH 8.1 での変更点の翻訳
- この記事にも添付します.
- OpenSSH 移植版付属文書の翻訳
https://www.openssh.com/txt/release-8.1
Security
========
セキュリティ
* ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): an exploitable integer
overflow bug was found in the private key parsing code for the XMSS
key type. This key type is still experimental and support for it is
not compiled by default. No user-facing autoconf option exists in
portable OpenSSH to enable it. This bug was found by Adam Zabrocki
and reported via SecuriTeam's SSD program.
ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): XMSS 鍵タイプの秘密鍵を
をパースするコードに悪用可能な整数オーバフローが見つかった. この鍵
タイプはまだ実験的でコンパイル時にデフォルトでサポートされない.
移植版 OpenSSH にこれを有効にするユーザ向けのオプションは存在しない.
このバグは Adam Zabrocki によって発見され, SecuriTeam の SSD
プログラムによって報告された.
* ssh(1), sshd(8), ssh-agent(1): add protection for private keys at
rest in RAM against speculation and memory side-channel attacks like
Spectre, Meltdown and Rambleed. This release encrypts private keys
when they are not in use with a symmetric key that is derived from a
relatively large "prekey" consisting of random data (currently 16KB).
ssh(1), sshd(8), ssh-agent(1): RAMに存在する秘密鍵に対して,
Spectre, Meltdown, Rambleed のような推測やメモリサイドチャネル攻撃
に対する保護を追加する. ランダムなデータ (現在は 16KB) で構成される
相対的に大きな "prekey" から導出される対称鍵を秘密鍵が利用していない場合,
このリリースでは秘密鍵を暗号化する.
Potentially-incompatible changes
================================
潜在的に非互換な変更
This release includes a number of changes that may affect existing
configurations:
このリリースは既存の設定に影響するかもしれない変更をいくつか含んでいる.
* ssh-keygen(1): when acting as a CA and signing certificates with
an RSA key, default to using the rsa-sha2-512 signature algorithm.
Certificates signed by RSA keys will therefore be incompatible
with OpenSSH versions prior to 7.2 unless the default is
overridden (using "ssh-keygen -t ssh-rsa -s ...").
ssh-keygen(1): CA として振舞い RSA 鍵で証明書に署名する場合,
rsa-sha2-512 署名アルゴリズムをデフォルトで利用する.
RSA 鍵で署名された証明書は, デフォルトを上書きしないと
("ssh-keygen -t ssh-rsa -s ..." を用いる) 7.2 より前の OpenSSH
のバージョンを非互換となる.
Changes since OpenSSH 8.0
=========================
OpenSSH 8.0 からの変更
This release is focused on bug-fixing.
このリリースはバグ修正に焦点を当てている.
New Features
------------
新機能
* ssh(1): Allow %n to be expanded in ProxyCommand strings
ssh(1): ProxyCommand 文字列中の展開に %n を許可する.
* ssh(1), sshd(8): Allow prepending a list of algorithms to the
default set by starting the list with the '^' character, E.g.
"HostKeyAlgorithms ^ssh-ed25519"
ssh(1), sshd(8): '^' 文字を用いてアルゴリスムのリストを始めることで
アルゴリズムのデフォルトの集合の前にアルゴリズムのリストを追加できる.
例えば "HostKeyAlgorithms ^ssh-ed25519"
* ssh-keygen(1): add an experimental lightweight signature and
verification ability. Signatures may be made using regular ssh keys
held on disk or stored in a ssh-agent and verified against an
authorized_keys-like list of allowed keys. Signatures embed a
namespace that prevents confusion and attacks between different
usage domains (e.g. files vs email).
ssh-keygen(1): 実験的な軽量な署名と検証の能力を追加する.
署名はディスクか ssh-agent に格納された通常の ssh 鍵を用いて
作成され, 検証は authorized_keys のような許可された鍵のリストに対して
行なわれる. 署名は, 衝突や異なる利用ドメイン(例えば ファイルとEメール)
の間の攻撃を防ぐ名前空間を埋め込む.
* ssh-keygen(1): print key comment when extracting public key from a
private key. bz#3052
ssh-keygen(1): 秘密鍵から公開鍵を抽出する際に鍵のコメントを表示する.
bz#3052
* ssh-keygen(1): accept the verbose flag when searching for host keys
in known hosts (i.e. "ssh-keygen -vF host") to print the matching
host's random-art signature too. bz#3003
ssh-keygen(1)): known hosts 中のホスト鍵の検索時に verbose フラグを
受け入れる (例えば "ssh-keygen -vF host""]) このとき
ホストのランダムアートな署名も表示する. bz#3003
* All: support PKCS8 as an optional format for storage of private
keys to disk. The OpenSSH native key format remains the default,
but PKCS8 is a superior format to PEM if interoperability with
non-OpenSSH software is required, as it may use a less insecure
key derivation function than PEM's.
すべて: 秘密鍵をディスクに保存するオプションの形式として PKCS8
をサポートする. OpenSSH のネイティブな鍵形式はデフォルトのままだが,
PKCS8 は 非OpenSSH ソフトウェアとの相互互換性が要求される場合
PEM よりもすぐれた形式だ. たとえ PEM よりも より安全でない鍵導出関数
が利用されていても.
Bugfixes
--------
バグ修正
* ssh(1): if a PKCS#11 token returns no keys then try to login and
refetch them. Based on patch from Jakub Jelen; bz#2430
ssh(1): PKCS#11 トークンが鍵を返さない場合, ログインを試み
鍵をリフレッシュする. Jakub Jelen のパッチを基とする. bz#2430
* ssh(1): produce a useful error message if the user's shell is set
incorrectly during "match exec" processing. bz#2791
ssh(1): ユーザのシェルが "match exec" 処理中に不正に設定されたら
わかりやすいエラーメッセージを生成する.
* sftp(1): allow the maximum uint32 value for the argument passed
to -b which allows better error messages from later validation.
bz#3050
sftp(1): それ以降の検証からよりよいエラーメッセージを出すために
-b で渡される引数に uint32 の最大値を許可する. bz#3050
* ssh(1): avoid pledge sandbox violations in some combinations of
remote forwarding, connection multiplexing and ControlMaster.
ssh(1): リモート転送と接続の多重化と ControlMaster の組合せによる
サンドボックスの侵入を回避する.
* ssh-keyscan(1): include SHA2-variant RSA key algorithms in KEX
proposal; allows ssh-keyscan to harvest keys from servers that
disable old SHA1 ssh-rsa. bz#3029
ssh-keyscan(1): KEX の提案に SHA2に由来する RSA 鍵アルゴリズムを含む.
ssh-keyscan が 古い SHA1 ssh-rsa を無効にしたサーバから
鍵を収集することを許可する.
* sftp(1): print explicit "not modified" message if a file was
requested for resumed download but was considered already complete.
bz#2978
sftp(1): ファイルが中断されたダウンロードを要求され,
すでに完了していると 思われる場合, 明確な "not modified" メッセージを
を表示する. bz#2978
* sftp(1): fix a typo and make <esc><right> move right to the
closest end of a word just like <esc><left> moves left to the
closest beginning of a word.
sftp(1): typo を修正する. また <esc><left> が 単語の最短の
先頭まで左に移動するように, <esc><right> で単語の最短の終了
まで右に移動するようにする.
* sshd(8): cap the number of permitopen/permitlisten directives
allowed to appear on a single authorized_keys line.
sshd(8): 単一の authorized_keys 行に現れることを許す
permitopen/permitlisten 設定項目の数に上限を設ける.
* All: fix a number of memory leaks (one-off or on exit paths).
すべて: (一度限りや終了のパス上の) 多数のメモリーリークを修正する.
* Regression tests: a number of fixes and improvements, including
fixes to the interop tests, adding the ability to run most tests
on builds that disable OpenSSL support, better support for running
tests under Valgrind and a number of bug-fixes.
回帰テスト: 多数の修正と改善. 相互互換性のテストの修正や OpenSSL
サポートが無効な場合のビルドのより大くのテストの追加, Valgrind 下での
テストの実行のよりよいサポートとたくさんのバグ修正.
* ssh(1), sshd(8): check for convtime() refusing to accept times that
resolve to LONG_MAX Reported by Kirk Wolf bz2977
ssh(1), sshd(8): LONG_MAX に解決される時間を拒否するよう convtme()
のためのチェックを行なう. Kirk Wolf による報告 bz2977
* ssh(1): slightly more instructive error message when the user
specifies multiple -J options on the command-line. bz3015
ssh(1): ユーザがコマンドラインで複数の -J オプションを指定した場合に
よりわかりやすいエラーメッセージを表示する.
* ssh-agent(1): process agent requests for RSA certificate private
keys using correct signature algorithm when requested. bz3016
ssh-agent(1): 要求時に正しい署名アルゴリズムを用いる RSA
証明書秘密鍵に対する要求を処理する. bz3016
* sftp(1): check for user@host when parsing sftp target. This
allows user@[1.2.3.4] to work without a path. bz#2999
sftp(1): sftp 対象のパース時に user@host をチェックする.
これにより パスなしで user@[1.2.3.4] を許可する.
bz#2999
* sshd(8): enlarge format buffer size for certificate serial
number so the log message can record any 64-bit integer without
truncation. bz#3012
sshd(8): 証明書のシリアル番号のバッファサイズを増大し,
打ち切りなしで任意の 64ビット整数をログメッセージに記録
できるようになる. bz#3012
* sshd(8): for PermitOpen violations add the remote host and port to
be able to more easily ascertain the source of the request. Add the
same logging for PermitListen violations which where not previously
logged at all.
sshd(8): PermitOpen の違反で, リクエストのソースをより簡単に確認
できるように リモートホストとポートを追加する.
また, それまでまったくログされていない PermitListen による違反が,
同様に記録される.
* scp(1), sftp(1): use the correct POSIX format style for left
justification for the transfer progress meter. bz#3002
scp(1), sftp(1): 転送プログレムメーターの左詰めに
正しい POSIX 形式のスタイルを利用する. bz#3002
* sshd(8) when examining a configuration using sshd -T, assume any
attribute not provided by -C does not match, which allows it to work
when sshd_config contains a Match directive with or without -C.
bz#2858
sshd(8): sshd -T を用いて設定の検査をする場合, -C によって提供されない
どんな属性とも一致しないと仮定する. -C があってもなくても Match
設定項目を含む sshd_config で動作するようにする. bz#2858
* ssh(1), ssh-keygen(1): downgrade PKCS#11 "provider returned no
slots" warning from log level error to debug. This is common when
attempting to enumerate keys on smartcard readers with no cards
plugged in. bz#3058
ssh(1), ssh-keygen(1): PKCS#11 の "provider returned no slots"
警告のログレベルを error から debug にダウングレードする.
カードが挿入されていないスマートカードリーダー上での
鍵を列挙しようとする試行時の共通の振舞いだ. bz#3058
* ssh(1), ssh-keygen(1): do not unconditionally log in to PKCS#11
tokens. Avoids spurious PIN prompts for keys not selected for
authentication in ssh(1) and when listing public keys available in
a token using ssh-keygen(1). bz#3006
ssh(1), ssh-keygen(1): PKCS#11 トークンに絶対にログインしない.
ssh(1) の認証で選択されていない鍵に対する偽のPINプロンプトや
ssh-keygen(1) を用いたトークンで利用可能な公開鍵の列挙を防ぐ.
bz#3006
Portability
-----------
移植性
* ssh(1): fix SIGWINCH delivery of Solaris for multiplexed sessions
bz#3030
ssh(1): 多重化されたセッションでの SIGWINCH 転送を修正. bz#3030
* ssh(1), sshd(8): fix typo that prevented detection of Linux VRF
ssh(1), sshd(8): Linux VRF での 予防された検出での typo を修正する
* sshd(8): add no-op implementation of pam_putenv to avoid build
breakage on platforms where the PAM implementation lacks this
function (e.g. HP-UX). bz#3008
sshd(8): PAMの実装が pam_putenv を欠いている (例えば HP-UX)
プラットフォームでのビルドの失敗を回避するために pam_putenv の
なにもしない実装を追加する. ba#3008
* sftp-server(8): fix Solaris privilege sandbox from preventing
the legacy sftp rename operation from working (was refusing to
allow hard links to files owned by other users). bz#3036
sftp-server(8): (ハードリンクを他のユーザが所有するファイルに対して拒否する)
働きから レガシーな sftp の rename 操作を防止する Solaris
の特権サンドボックスを修正する. bz#3036
* All: add a proc_pidinfo()-based closefrom() for OS X to avoid
the need to brute-force close all high-numbered file descriptors.
bz#3049
すべて: proc_pidinfo() ベースの closefrom() を OS X に追加する.
すべてのファイルデスクリプタをブルートフォースで閉める必要を
回避する. bz#3049
* sshd(8): in the Linux seccomp-bpf sandbox, allow mprotect(2) with
PROT_(READ|WRITE|NONE) only. This syscall is used by some hardened
heap allocators. Github PR#142
sshd(8): Linux の seccomp-bpf サンドボックス中で, PROT_(READ|WRITE|NONE)
のみを mprotect(2) に許す. このシステムコールは, いくかの強化された
ヒープアロケーターで用いられている. Github PR#142
* sshd(8): in the Linux seccomp-bpf sandbox, allow the s390-specific
ioctl for ECC hardware support.
sshd(8): Linux の seccomp-bpf サンドボックス中で, ECC ハードウェア
サポートのために s390 特有の ioctl を許可する.
* All: use "doc" man page format if the mandoc(1) tool is present on
the system. Previously configure would not select the "doc" man
page format if mandoc was present but nroff was not.
All: mandoc(1) ツールがシステムにある場合 "doc" man ページ形式を
利用する. 以前の設定では, mandoc が存在し nroff が存在しない場合に
"doc" man ページ形式を選択していなかった.
* sshd(8): don't install duplicate STREAMS modules on Solaris; check
if STREAMS modules are already installed on a pty before installing
since when compiling with XPG>=4 they will likely be installed
already. Prevents hangs and duplicate lines on the terminal.
bz#2945 and bz#2998,
sshd(8): ソラリスで重複した STREAMS モジュールをインストールしない.
XPG>=4 でコンパイルする場合, STREAMS モジュールがインストール
されている可能性が高いのでインストール前に pty 上に STREAMS
モジュールが既にインストールされているか検査する.
ターミナル上でのハングや重複行を防ぐ. bz#2945 と bz#2998