OpenSSH 7.8 がリリースされました
2018/08/24, OpenSSH 7.8 がリリースされました.
バグ修正が中心のリリースです.
- OpenSSH 7.8 Release Note 中の OpenSSH 7.8 での変更点の翻訳
- この記事にも添付します.
- OpenSSH 移植版付属文書の翻訳
https://www.openssh.com/txt/release-7.8
Potentially-incompatible changes
================================
潜在的に非互換な変更
This release includes a number of changes that may affect existing
configurations:
このリリースは既存の設定に影響するかもしれないいくつかの変更を含む:
* ssh-keygen(1): write OpenSSH format private keys by default
instead of using OpenSSL's PEM format. The OpenSSH format,
supported in OpenSSH releases since 2014 and described in the
PROTOCOL.key file in the source distribution, offers substantially
better protection against offline password guessing and supports
key comments in private keys. If necessary, it is possible to write
old PEM-style keys by adding "-m PEM" to ssh-keygen's arguments
when generating or updating a key.
ssh-keygen(1): デフォルトでOpenSSL の PEM 形式を使う代わりに
OpenSSH 形式の秘密鍵を書き込む. OpenSSH 形式は,
2014 年以降の OpenSSH のリリースでサポートされており,
ソース配布の PROTOCOL.key ファイルで記述されている.
この形式は, オフラインのパスワード推測に対して実質的に
よりよい保護を提供し, 秘密鍵の中の鍵コメントをサポートしている.
必要があれば, 鍵を生成したり更新する際に ssh-keygen の引数に
"-m PEM" と加えることで古い PEM 形式の鍵を書き込むことが可能だ.
* sshd(8): remove internal support for S/Key multiple factor
authentication. S/Key may still be used via PAM or BSD auth.
sshd(8): S/Key 多要素認証の内部サポートを除く. S/Key は
PAM か BSD認証経由でまだ利用できるだろう.
* ssh(1): remove vestigal support for running ssh(1) as setuid. This
used to be required for hostbased authentication and the (long
gone) rhosts-style authentication, but has not been necessary for
a long time. Attempting to execute ssh as a setuid binary, or with
uid != effective uid will now yield a fatal error at runtime.
ssh(1): ssh(1) を setuid で走らせる痕跡のないサポートを除く.
これは, ホストベース認証や (太古の) rhost 認証で必要とされていた
ものだが, 長い間必要がなくなっている. ssh を setuid バイナリとして
実行しようとしたり, uid と実効 uid が異なる状態で実効しようとすると
今後実行時に致命的エラーを生成するようになる
* sshd(8): the semantics of PubkeyAcceptedKeyTypes and the similar
HostbasedAcceptedKeyTypes options have changed. These now specify
signature algorithms that are accepted for their respective
authentication mechanism, where previously they specified accepted
key types. This distinction matters when using the RSA/SHA2
signature algorithms "rsa-sha2-256", "rsa-sha2-512" and their
certificate counterparts. Configurations that override these
options but omit these algorithm names may cause unexpected
authentication failures (no action is required for configurations
that accept the default for these options).
sshd(8): PubkeyAcceptedKeyTypes と類似の HostbasedAcceptedKeyTypes
設定項目の形式を変更する. これらは, 今後それらそれぞれの
認証メカニズムで受けいれる署名アルゴリズムを指定できる.
以前は受け入れる鍵のタイプを指定していた. RSA/SHA2 の署名アルゴリズム
"rsa-sha2-256" と "rsa-sha2-512" と それらの証明書を用いる場合に
この区別が意味を持つ.
これらの設定項目を上書きするがこれらのアルゴリズム名を除いた
設定は, 予期しない認証の失敗を引き起すかもしれない.
(これらのの設定項目についてデフォルトのままの設定であればなにも
対応の必要はない).
* sshd(8): the precedence of session environment variables has
changed. ~/.ssh/environment and environment="..." options in
authorized_keys files can no longer override SSH_* variables set
implicitly by sshd.
sshd(8): セッション変数の設定の優先順位を変更する. ~/.ssh/environment
と authorized_keys 中の environment="..." オプションは,
ssdh で暗黙的に設定される SSH_* 変数をもはや上書きできない.
* ssh(1)/sshd(8): the default IPQoS used by ssh/sshd has changed.
They will now use DSCP AF21 for interactive traffic and CS1 for
bulk. For a detailed rationale, please see the commit message:
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/readconf.c#rev1.284
ssh(1)/sshd(8): ssh/sshd で用いられるデフォルトの IPQoS を変更する.
今後 インタラクティブなトラフィックでは DSCP AF21 を用い,
バルクなトラフィックでは CS1 を用いる. 詳細な根拠は,
次のコミットメッセージを参照:
https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/readconf.c#rev1.284
Changes since OpenSSH 7.7
=========================
OpenSSH 7.7 からの変更点
This is primarily a bugfix release.
これは基本的にバグ修正のリリースだ.
New Features
------------
新機能
* ssh(1)/sshd(8): add new signature algorithms "rsa-sha2-256-cert-
v01@openssh.com" and "rsa-sha2-512-cert-v01@openssh.com" to
explicitly force use of RSA/SHA2 signatures in authentication.
ssh(1)/sshd(8): 新しい署名アルゴリズム
"rsa-sha2-256-cert-v01@openssh.com" と
"rsa-sha2-512-cert-v01@openssh.com" を追加する.
これらは 認証での RSA/SHA2 署名を明示的に強制する.
* sshd(8): extend the PermitUserEnvironment option to accept a
whitelist of environment variable names in addition to global
"yes" or "no" settings.
sshd(8): PermitUserEnvironment 設定項目を拡張し,
全体の "yes" か "no" の設定に加えて, 環境変数名のホワイトリスト
を受け入れる.
* sshd(8): add a PermitListen directive to sshd_config(5) and a
corresponding permitlisten= authorized_keys option that control
which listen addresses and port numbers may be used by remote
forwarding (ssh -R ...).
sshd(8): sshd_config(5) に PermitListen 設定項目を追加し,
対応する permitlisten= authorized_keys オプションを追加する.
これらは, リモート転送 (ssh -R ...) で用いられる
アドレスとポート番号を制御する.
* sshd(8): add some countermeasures against timing attacks used for
account validation/enumeration. sshd will enforce a minimum time
or each failed authentication attempt consisting of a global 5ms
minimum plus an additional per-user 0-4ms delay derived from a
host secret.
sshd(8): アカウント検証/列挙に用いられるタイミング攻撃に対する
いくつかの対抗策を追加する. sshd は
全体的な 5ms と
ホストの秘密(鍵?)から導出されるユーザごとの 追加の 0-4ms の
によって構成される時間をすべての失敗した認証試行に強制する.
* sshd(8): add a SetEnv directive to allow an administrator to
explicitly specify environment variables in sshd_config.
Variables set by SetEnv override the default and client-specified
environment.
sshd(8): SetEnv 設定項目で sshd_config 内の環境変数を
管理者が明示的に指定できるようにする. SetEnv で設定された
変数は, デフォルトやクライアントに指定された環境を上書きする.
* ssh(1): add a SetEnv directive to request that the server sets
an environment variable in the session. Similar to the existing
SendEnv option, these variables are set subject to server
configuration.
ssh(1): SetEnv 設定項目に セッション中にサーバが環境変数を設定する要求を
追加する. 既存の SendEnv 設定項目と同様に, これらの変数はサーバの
設定に従って設定される.
* ssh(1): allow "SendEnv -PATTERN" to clear environment variables
previously marked for sending to the server. bz#1285
ssh(1): サーバに送られたと以前マークされた環境変数を
クリアする "SendEnv -PATTERN" を許可する.
* ssh(1)/sshd(8): make UID available as a %-expansion everywhere
that the username is available currently. bz#2870
ssh(1)/sshd(8): ユーザ名が現在利用可能などこでも %-展開として
UID を利用可能にする. bz#2870
* ssh(1): allow setting ProxyJump=none to disable ProxyJump
functionality. bz#2869
ssh(1): ProxyJump を機能的に無効にする ProxyJump=none の設定を
許可する.
Bugfixes
--------
バグ修正
* sshd(8): avoid observable differences in request parsing that could
be used to determine whether a target user is valid.
sshd(8): ターゲットのユーザが有効かどうか判定するのに利用可能だった
リクエストのパースの観測可能な差異を除く
* all: substantial internal refactoring
全体: 相当な内部のリファクタリング
* ssh(1)/sshd(8): fix some memory leaks; bz#2366
ssh(1)/sshd(8): いくつかのメモリリークの修正; bz#2366
* ssh(1): fix a pwent clobber (introduced in openssh-7.7) that could
occur during key loading, manifesting as crash on some platforms.
ssh(1): (openssh-7.7 で導入されてしまった) pwent clobber
(ファイルディスクリプタのcloseし忘れか?) を修正.
この問題は 鍵のロード時に発生し, いくつかのプラットフォームでは
クラッシュする.
* sshd_config(5): clarify documentation for AuthenticationMethods
option; bz#2663
sshd_config(5): AuthenticationMethods 設定項目の記述を明確にする;
bz#2663
* ssh(1): ensure that the public key algorithm sent in a
public key SSH_MSG_USERAUTH_REQUEST matches the content of the
signature blob. Previously, these could be inconsistent when a
legacy or non-OpenSSH ssh-agent returned a RSA/SHA1 signature
when asked to make a RSA/SHA2 signature.
ssh(1): 公開鍵の SSH_MSG_USERAUTH_REQUEST の中で送られる
公開鍵アルゴリズムが, その署名ブロブの内容と一致するかを補償する.
以前, 古いないしOpenSSHでない ssh-agent が RSA/SHA2
署名を作るように求められた場合に RSA/SHA1 署名を返す場合に
これらは一貫していないことがありえた.
* sshd(8): fix failures to read authorized_keys caused by faulty
supplemental group caching. bz#2873
sshd(8): 欠陥のある補足的なグループキャッシングにより authorized_keys
の読み込みの失敗を修正する. bz#2873
* scp(1): apply umask to directories, fixing potential mkdir/chmod
race when copying directory trees bz#2839
scp(1): ディレクトリに umask を適用する. ディレクトリツリーを
コピーする際の潜在的な mkdir/chmod 競合を修正する. bz#2839
* ssh-keygen(1): return correct exit code when searching for and
hashing known_hosts entries in a single operation; bz#2772
ssh-keygen(1): 単一の操作で known_hosts のエントリを
検索しハッシュする際に正しい終了コードを返却する. bz#2772
* ssh(1): prefer the ssh binary pointed to via argv[0] to $PATH when
re-executing ssh for ProxyJump. bz#2831
ssh(1): ProxyJump で ssh を再実行するう際に $PATH よりも
argv[0] が指す ssh バイナリを優先する. bz#2831
* sshd(8): do not ban PTY allocation when a sshd session is
restricted because the user password is expired as it breaks
password change dialog. (regression in openssh-7.7).
sshd(8): sshd のセッションが制限されている場合に PTY 確保を
禁止しない. ユーザのパスワードが期限切れになっている場合に
パスワード変更の対話がうまくいかなくなるから.
(openssh-7.7 で退行していた)
* ssh(1)/sshd(8): fix error reporting from select() failures.
ssh(1)/sshd(8): select() の失敗からのエラーレポートを修正する.
* ssh(1): improve documentation for -w (tunnel) flag, emphasising
that -w implicitly sets Tunnel=point-to-point. bz#2365
ssh(1): -w (tunnel) フラグの文書を改善する. -w は暗黙的に
Tunnel=point-to-point を設定することを強調する. bz#2365
* ssh-agent(1): implement EMFILE mitigation for ssh-agent. ssh-agent
will no longer spin when its file descriptor limit is exceeded.
bz#2576
ssh-agent(1): ssh-agent に EMFILE の緩和を実装する. ssh-agent は
そのファイルディスクリププタ制限を超過した場合に空転しない
ようになる.
* ssh(1)/sshd(8): disable SSH2_MSG_DEBUG messages for Twisted Conch
clients. Twisted Conch versions that lack a version number in
their identification strings will mishandle these messages when
running on Python 2.x (https://twistedmatrix.com/trac/ticket/9422)
ssh(1)/sshd(8): Twisted Conch クライアントのために SSH2_MSG_DEBUG
メッセージを無効にする. Twisted Conch のバージョンは, その
認識文字列にバージョン番号が欠けているので, Python 2.x 上で走らせる
場合に SSH2_MSG_DEBUG メッセージを間違えて扱う
(https://twistedmatrix.com/trac/ticket/9422)
* sftp(1): notify user immediately when underlying ssh process dies
expectedly. bz#2719
sftp(1): 基底の ssh プロセスが予想通り死んだ場合にユーザにすぐに
通知する.
* ssh(1)/sshd(8): fix tunnel forwarding; regression in 7.7 release.
bz#2855
ssh(1)/sshd(8): トンネル転送を修正する. 7.7 リリースで退行してた.
bz#2855
* ssh-agent(1): don't kill ssh-agent's listening socket entirely if
it fails to accept(2) a connection. bz#2837
ssh-agent(1): accept(2) で接続を失敗した場合に ssh-agent が
listen するソケットを完全には kill しない. bz#2837
* sshd(8): relax checking of authorized_keys environment="..."
options to allow underscores in variable names (regression
introduced in 7.7). bz#2851
sshd(8): authorized_keys の environment="..." オプションのチェックを
緩和し, 変数名に アンダースコアを許す (7.7 で導入された退行).
bz#2851
* ssh(1): add some missing options in the configuration dump output
(ssh -G). bz#2835
ssh(1): 設定ダンプ出力(ssh -G)で抜けていたいくつかの設定項目を追加する.
Portability
-----------
移植性
* sshd(8): Expose details of completed authentication to PAM auth
modules via SSH_AUTH_INFO_0 in the PAM environment. bz#2408
sshd(8): PAM 環境の SSH_AUTH_INFO_0 によって
完全な認証の詳細を PAM 認証モジュールに露出する.
* Fix compilation problems caused by fights between zlib and OpenSSL
colliding uses of "free_func"
zlib と OpenSSL 間の "free_func" の利用の衝突の戦いによる
コンパイルの問題を修正する.
* Improve detection of unsupported compiler options. Recently these
may have manifested as "unsupported -Wl,-z,retpoline" warnings
during linking.
サポートされていないコンパイラのオプションの検出を改善する.
最近 サポートされていないオプションがリンク中に
"unsupported -Wl,-z,retpoline" の警告として明らかになっている
場合があった.
* sshd(8): some sandbox support for Linux/s390 bz#2752.
sshd(8): Linux/s390 に対するいくつかのサンドボックスのサポート.
bz#2752
* regress tests: unbreak key-options.sh test on platforms without
openpty(3). bz#2856
回帰テスト: openpty(3) がないプラットフォームで key-options.sh
テストが壊れないようにする.
* use getrandom(2) for PRNG seeding when built without OpenSSL.
OpenSSL がない環境でビルドされた場合に PRNG のシードに
getrandom(2) を利用する.