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

Call for testing: OpenSSH 7.4

主にバグ修正のリリースです.

http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-December/035537.html

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

非互換な可能性のある変更

This release includes a number of changes that may affect existing
configurations:

このリリースは, 既存の設定に影響する可能性がある変更をいくつか含んでいる.


 * This release removes server support for the SSH v.1 protocol.

   このリリースは, SSH v.1 プロトコルのサーバサポートを除く.

 * ssh(1): Remove 3des-cbc from the client's default proposal. 64-bit
   block ciphers are not safe in 2016 and we don't want to wait until
   attacks like SWEET32 are extended to SSH. As 3des-cbc was the
   only mandatory cipher in the SSH RFCs, this may cause problems
   connecting to older devices using the default configuration,
   but it's highly likely that such devices already need explicit
   configuration for key exchange and hostkey algorithms already
   anyway.

   ssh(1): クライアントのデフォルトの提案から 3des-cbc を除く.
   2016 年において 64 ビットブロック暗号は安全ではなく,
   SWEET32 のような攻撃が SSH に拡張されるまで, 我々は待つのを
   望んでいない. 3des-cbc は SSH RFC の中で唯一必須の暗号で,
   デフォルトの設定を用いている古いデバイスに対して接続する際に
   この除去は問題となるかもしれない. しかし, そのようなサービスは
   どうせ鍵公館やホスト鍵のアルゴリズムに明確な設定が必要である
   可能性が非常に高い.

 * sshd(8): Remove support for pre-authentication compression.
   Doing compression early in the protocol probably seemed reasonable
   in the 1990s, but today it's clearly a bad idea in terms of both
   cryptography (cf. multiple compression oracle attacks in TLS) and
   attack surface. Pre-auth compression support has been disabled by
   default for >10 years. Support remains in the client.

   sshd(8): 認証前の圧縮のサポートを除く.
   プロトコルの初期で圧縮を行なうことは, 1990年代には合理的と考えられていた.
   しかし, 暗号額の面からも (例えば, TLS での複数の圧縮 oracle 攻撃)
   攻撃面からも 今日では明確に悪い考えだ.
   認証前の圧縮サポートは デフォルトで10年以上前から無効になっていたが,
   クライアントでサポートは残っていた.

 * ssh-agent will refuse to load PKCS#11 modules outside a whitelist
   of trusted paths by default. The path whitelist may be specified
   at run-time.

   ssh-agent は デフォルトで信頼されたパスのホワイトリスト以外からの
   PKCS#11 モジュールのロードを拒否するようになる. パスのホワイトリストは
   実行時に指定できる.

 * sshd(8): When a forced-command appears in both a certificate and
   an authorized keys/principals command= restriction, sshd will now
   refuse to accept the certificate unless they are identical.
   The previous (documented) behaviour of having the certificate
   forced-command override the other could be a bit confusing and
   error-prone.

   sshd(8): 証明書と, authorized keys/principals の command= 制約の両方で
   force-command が指定されている場合, それらが同一でなければ sshd は
   証明書の受け入れを拒否するようになる.
   証明書の force-command が 他を上書きする場合の以前の(文書化された) 振舞いは
   ちょっと混乱していてエラーをおこしがちだった.

 * sshd(8): Remove the UseLogin configuration directive and support
   for having /bin/login manage login sessions.

   sshd(8): UseLogin 設定項目と/bin/login にログインセッションを管理させる仕組みの
   サポートを除く.

Changes since OpenSSH 7.3
=========================

OpenSSH 7.3 からの変更点

This is primarily a bugfix release.

これは主にバグ修正のリリースだ.

New Features
------------

新機能

 * ssh(1): Add a proxy multiplexing mode to ssh(1) inspired by the
   version in PuTTY by Simon Tatham. This allows a multiplexing
   client to communicate with the master process using a subset of
   the SSH packet and channels protocol over a Unix-domain socket,
   with the main process acting as a proxy that translates channel
   IDs, etc.  This allows multiplexing mode to run on systems that
   lack file- descriptor passing (used by current multiplexing
   code) and potentially, in conjunction with Unix-domain socket
   forwarding, with the client and multiplexing master process on
   different machines. Multiplexing proxy mode may be invoked using
   "ssh -O proxy ..."

   ssh(1): ssh(1) にプロキシ多重化モードを追加する.
   Simon Tatham による PuTTY のバージョンに刺激された.
   SSH パケット/キャンネルプロトコルの部分集合を
   Unixドメインソケット上で用いて
   マスタープロセスと通信するクライアントを多重化する.
   このときメインプロセスがチャンネルIDなどを翻訳するプロキシとして振舞う.
   これにより, (現在の多重化コードを用いては)ファイルデスクリプタの転送ができない
   システムで多重化モードが走らせることができる.
   また, 可能性としてはUnixドメインソケット転送と合わせたり,
   別マシン上のクライアントと多重化されたマスタープロセスで
   動かすことができる. 多重化プロキシモードは "ssh -O proxy ..." を用いて
   駆動される

 * sshd(8): Add a sshd_config DisableForwaring option that disables
   X11, agent, TCP, tunnel and Unix domain socket forwarding, as well
   as anything else we might implement in the future. Like the
   'restrict' authorized_keys flag, this is intended to be a simple
   and future-proof way of restricting an account.

   sshd(8): sshd_config に DisableForwaring 設定項目を追加する.
   これは X11, エージェント, TCP, トンネル, Unixドメインソケットの
   転送を無効にする. また将来実装される他の転送も無効にする.
   authorized_keys の 'restrict' フラグと同様,
   DisableForwaring の意図は, アカウントを制限する
   単純で将来でも有効な方法を提供することだ.

 * sshd(8), ssh(1): Support the "curve25519-sha256" key exchange
   method. This is identical to the currently-support method named
   "curve25519-sha256@libssh.org".

   sshd(8), ssh(1): "curve25519-sha256" 鍵交換法をサポートする.
   現在サポートされている "curve25519-sha256@libssh.org" という方法と
   同じものだ.

 * sshd(8): Improve handling of SIGHUP by checking to see if sshd is
   already daemonised at startup and skipping the call to daemon(3)
   if it is. This ensures that a SIGHUP restart of sshd(8) will
   retain the same process-ID as the initial execution. sshd(8) will
   also now unlink the PidFile prior to SIGHUP restart and re-create
   it after a successful restart, rather than leaving a stale file in
   the case of a configuration error. bz#2641

   sshd(8): SIGHUP の扱いを改善する. sshd がすでに開始時にデーモン化しているか
   そうならば daemon(3) の呼出しをスキップしているか をチェックするようになる.
   これで, sshd(8) の SIGHUP 再起動が 最初の実行と同じプロセスIDを維持する
   のを保証する. sshd(8) は SIGHUP 再起動の前に PidFile を削除し
   再起動が成功したら再作成する. 設定エラーの場合に古いファイルが残らないようになる
   bz#2641

 * sshd(8): Allow ClientAliveInterval and ClientAliveCountMax
   directives to appear in sshd_config Match blocks.

   sshd(8): sshd_config の Match ブロック内で ClientAliveInterval と
   ClientAliveCountMax 設定項目が利用可能に

 * sshd(8): Add %-escapes to AuthorizedPrincipalsCommand to match
   those supported by AuthorizedKeysCommand (key, key type,
   fingerprint, etc.) and a few more to provide access to the
   contents of the certificate being offered.

   sshd(8): AuthorizedPrincipalsCommand に % エスケープを追加する.
   AuthorizedKeysCommand でサポートされているエスケープ(鍵, 鍵の種類,
   指紋など)と, さらに提供されている証明書の内容へのアクセスを提供する
   マッチをする.

 * Added regression tests for string matching, address matching and
   string sanitisation functions.

   文字列マッチ, アドレスマッチ, 文字列無害化関数への回帰テストを追加した.

 * Improved the key exchange fuzzer harness.

   鍵交換の fuzz テスト用ハーネスを改善した.


Bugfixes
--------

バグ修正

 * ssh(1): Allow IdentityFile to successfully load and use
   certificates that have no corresponding bare public key. bz#2617
   certificate id_rsa-cert.pub (and no id_rsa.pub).

   ssh(1): 対応する生の公開鍵がない証明書を IdentityFile で
   ロードし利用できる. bz#2617

 * ssh(1): Fix public key authentication when multiple
   authentication is in use and publickey is not just the first
   method attempted. bz#2642

   ssh(1): 複数の認証法が利用されて, 公開鍵認証が最初に試行される
   方式でない場合の公開鍵認証を修正する. bz#2642

 * regress: Allow the PuTTY interop tests to run unattended. bz#2639

   回帰テスト: PuTTY 相互運用性テストが手入力なしで動くようにする. bz#2639

 * ssh-agent(1), ssh(1): improve reporting when attempting to load
   keys from PKCS#11 tokens with fewer useless log messages and more
   detail in debug messages. bz#2610

   ssh-agent(1), ssh(1): PKCS#11 トークンから鍵を読み込む場合に
   少しの無用なログとより詳細なデバッグメッセージが出ていたので
   リポーティングを改善する. bz#2610

 * ssh(1): When tearing down ControlMaster connections, don't
   pollute stderr when LogLevel=quiet.

   ssh(1): ControlMaster 接続を落す場合に, LogLevel=quiet なら
   stderr を汚染しない.

 * sftp(1): On ^Z wait for underlying ssh(1) to suspend before
   suspending sftp(1) to ensure that ssh(1) restores the terminal mode
   correctly if suspended during a password prompt.

   sftp(1): sftp(1) を中断する前に ^Z で 基底の ssh(1) が 中断された場合に
   パスワードプロンプト表示中に中断されていても ssh(1) が 正しく
   ターミナルモードを復元するのを保証する.

 * ssh(1): Avoid busy-wait when ssh(1) is suspended during a password
   prompt.

   ssh(1): パスワードプロンプト表示中に ssh(1) が中断された場合の
   busy-wait を回避する.

 * ssh(1), sshd(8): Correctly report errors during sending of ext-
   info messages.

   ssh(1), sshd(8): ext-info メッセージを送る際に正しくエラーを
   レポートする.

 * sshd(8): fix NULL-deref crash if sshd(8) received an out-of-
   sequence NEWKEYS message.

   sshd(8): sshd(8) が シーケンスから外れた NEWKEYS メッセージを
   受け取った際に NULL を逆参照してクラッシュするのを修正する.

 * sshd(8): Correct list of supported signature algorithms sent in
   the server-sig-algs extension. bz#2547

   sshd(8): server-sig-algs 拡張で サポートされている署名
   アルゴリズムのリストを修正する. bz#2547

 * sshd(8): Fix sending ext_info message if privsep is disabled.

   sshd(8): 特権分離が無効な場合に ext_info メッセージの送信を修正する.

 * sshd(8): more strictly enforce the expected ordering of privilege
   separation monitor calls used for authentication and allow them
   only when their respective authentication methods are enabled
   in the configuration

   sshd(8): 認証に用いられる特権分離モニター呼出しの期待される順序を
   より厳密に強制する. これにより, モニター呼出しを設定で
   それぞれの認証法でのみ有効にできる.

 * sshd(8): Fix uninitialised optlen in getsockopt() call; harmless
   on Unix/BSD but potentially crashy on Cygwin.

   sshd(8): getsockopt() 呼出しで初期化していない optlen を修正する.
   Unix/BSD では無害だが, Cygwin ではクラッシュする可能性がある.

 * Fix false positive reports caused by explicit_bzero(3) not being
   recognised as a memory initialiser when compiled with
   -fsanitize-memory.

   -fsanitize-memory を付けてコンパイルされた場合に
   explicit_bzero(3) が メモリ初期化子を認識しないことに
   起因する false positive なレポートを修正する

 * sshd_config(5): Use 2001:db8::/32, the official IPv6 subnet for
   configuration examples.

   sshd_config(5): 2001:db8::/32 を用いる. 設定例のための
   公式な IPv6 サブネット

Portability
-----------

移植性

 * On environments configured with Turkish locales, fall back to the
   C/POSIX locale to avoid errors in configuration parsing caused by
   that locale's unique handling of the letters 'i' and 'I'. bz#2643

   Turkish ロケールで設定された環境で, ロケールな独特な文字 'i' と 'I'
   の扱いによる設定ファイルのパースエラーを回避するために C/POSIX ロケールに
   フォールバックする.

 * sftp-server(8), ssh-agent(1): Deny ptrace on OS X using
   ptrace(PT_DENY_ATTACH, ..)

   sftp-server(8), ssh-agent(1): ptrace(PT_DENY_ATTACH, ..) を用いて
   OS X 上で ptrace を無効にする

 * ssh(1), sshd(8): Unbreak AES-CTR ciphers on old (~0.9.8) OpenSSL.

   ssh(1), sshd(8): 古い (~0.9.8) OpenSSL の AES-CTR 暗号を直す

 * Fix compilation for libcrypto compiled without RIPEMD160 support.

   RIPEMD160 サポートなしでコンパイルされた libcrypto のコンパイルを修正する

 * contrib: Add a gnome-ssh-askpass3 with GTK+3 support. bz#2640

   contrib: GTK+3 サポートされた gnome-ssh-askpass3 を追加する. bz#2640

 * sshd(8): Improve PRNG reseeding across privilege separation and
   force libcrypto to obtain a high-quality seed before chroot or
   sandboxing.

   sshd(8): 特権分離越しのPRNG の再シードを改善し, chroot や サンドボックス化の前に
   高品質のシードを libcrypto が得るのを強制する.

 * All: Explicitly test for broken strnvis. NetBSD added an strnvis
   and unfortunately made it incompatible with the existing one in
   OpenBSD and Linux's libbsd (the former having existed for over ten
   years). Try to detect this mess, and assume the only safe option
   if we're cross compiling.

   すべて: 壊れた strnvis に対する明示的なテスト. NetBSD は strnvis を追加して
   不幸なことに, これは OpenBSD や Linux の libbsd の既存のものと非互換になっている
   (OpenBSDのものは 10年以上前から存在している). この混乱を検出しようと試み,
   クロスコンパイル時に唯一の安全な選択をとる.