OpenSSH 8.1 リリース準備中 / Call for testing: OpenSSH 8.1

OpenSSH 8.1 がリリース準備中です.

Call for testing: OpenSSH 8.1

バグ修正に重点がおかれたリリースになる模様です.

https://lists.mindrot.org/pipermail/openssh-unix-dev/2019-October/037946.html

Security
========

セキュリティ

 * ssh(1), sshd(8), ssh-agent(1): add protection for private keys at
   rest in RAM against speculation and memory sidechannel attacks like
   Spectre, Meltdown and Rambleed. This release encrypts private keys
   when they are not in use with a symmetic key that is derived from a
   relatively large "prekey" consisting of random data (currently 16KB).
   Attackers must recover the entire prekey before they are able to
   decrypt the protected private keys, but the current generation of
   attacks have bit error rates that render this unlikely to be
   practical.

   ssh(1), sshd(8), ssh-agent(1): RAMに存在する秘密鍵に対して,
   Spectre, Meltdown, Rambleed のような推測やメモリサイドチャネル攻撃
   に対する保護を追加する. ランダムなデータ (現在は 16KB) で構成される
   相対的に大きな "prekey" から導出される対称鍵を秘密鍵が利用していない場合,
   このリリースでは秘密鍵を暗号化する.
   攻撃者は保護された秘密鍵を復号する前に完全な prekey
   を復元しなければならない, 現在の世代の攻撃はこれを実際に行なうには
   ビット誤り率が高い.

Potentially-incompatible changes
================================

潜在的に非互換な変更

This release includes one change that may affect existing
configurations:

このリリースは既存の設定に影響するかもしれない変更を1つ含んでいる.

 * 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 bugfixing.

このリリースはバグ修正に集中している.

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 publc 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.

   All: 秘密鍵をディスクに保存するオプションの形式として PKCS8
   をサポートする. OpenSSH のネイティブな鍵形式はデフォルトのままだが,
   PKCS8 は 非OpenSSH ソフトウェアとの相互互換性が要求される場合
   PEM よりもすぐれた形式だ. たとえ PRM よりも より安全でない鍵導出関数
   が利用されていても.

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 maximimum uint32 value for the argument passed
   to -b which allows better error messages from later validation.
   bz#3050

   sftp(1): それ以降の検証からよりよいエラーメッセージを出すために
   -b で渡される引数に uint32 の最大値を許可する.

 * 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 olde 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 permiopen/permitlisten directives
   allowed to appear on a single authorized_keys line.

   sshd(8): 単一の authorized_keys 行に現れることを許す
   permiopen/permitlisten 設定項目の数に上限を設ける.

 * All: fix a number of memory leaks (one-off or on exit paths).

   All: (一度限りや終了のパス上の) 多数のメモリーリークを修正する.

 * Regression tests: a number of fixes and improvments, 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 bugfixes.

   回帰テスト: 多数の修正と改善. 相互互換性のテストの修正や 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 による報告 bz#2977

 * ssh(1): slightly more instructive error message when the user
   specifies multiple -J options on the commandline. 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
   証明書秘密鍵に対する要求を処理する.

 * 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ビット整数をログメッセージに記録
   できるようになる.

 * 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 configureation using sshd -T, assume any
   attibute 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" 警告のダウングレードする.
   スマートカードが挿入されていない場合のスマートカードリーダーの
   鍵列挙試行における共有の振舞いだ. 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) を用いたトークンで利用可能な公開鍵の列挙を防ぐ.

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
   の特権サンドボックスを修正する.

 * 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 に追加する.
   すべてのファイルデスクリプタをブルートフォースで閉める必要を
   回避する.

 * 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