http://www.openssh.org/txt/release-5.1 5.1の変更点 Security: セキュリティ: * sshd(8): Avoid X11 man-in-the-middle attack on HP/UX (and possibly other platforms) when X11UseLocalhost=no sshd(8): X11UseLocalhost=no の時にHP/UX (他にも影響するプラットフォームがあるかもしれない)で可能な X11 の中間者攻撃を防止. When attempting to bind(2) to a port that has previously been bound with SO_REUSEADDR set, most operating systems check that either the effective user-id matches the previous bind (common on BSD-derived systems) or that the bind addresses do not overlap (Linux and Solaris). 以前にSO_REUSEADDR が設定された状態のポートに bind(2) しようとすると, 多くのOSは, 有効ユーザid以前のbindと一致するかどうか(BSDから派生した システムに共通) か bindアドレスが重なっていないか(LinuxやSolaris) をチェックする. Some operating systems, such as HP/UX, do not perform these checks and are vulnerable to an X11 man-in-the-middle attack when the sshd_config(5) option X11UseLocalhost has been set to "no" - an attacker may establish a more-specific bind, which will be used in preference to sshd's wildcard listener. HP/UXのようないくつかのOSは, これらのチェックを行なわないので, sshd_config(5) の X11UseLocalhost 設定項目が "no" と設定されていると, 攻撃者が sshdのワイルドカードのリスナーよりも優先されて用いられる より限定されたbindを行なうことで, X11 中間者攻撃に対して脆弱となる. Modern BSD operating systems, Linux, OS X and Solaris implement the above checks and are not vulnerable to this attack, nor are systems where the X11UseLocalhost has been left at the default value of "yes". 現在の BSD や Linux, OS X , Solaris は上記のチェックを有効にしているため, この攻撃に対して脆弱ではない. また, X11UseLocalhost がデフォルト値の "yes" のままならば脆弱ではない. Portable OpenSSH 5.1 avoids this problem for all operating systems by not setting SO_REUSEADDR when X11UseLocalhost is set to no. 移植版 OpenSSH ではこの問題を避けるため, すべてのOSに対して X11UseLocalhost が no と設定されたならば, SO_REUSEADDR を 設定しない. This vulnerability was reported by sway2004009 AT hotmail.com. この脆弱性は, sway2004009 AT hotmail.com によって報告された. New features: * Introduce experimental SSH Fingerprint ASCII Visualisation to ssh(1) and ssh-keygen(1). Visual fingerprinnt display is controlled by a new ssh_config(5) option "VisualHostKey". The intent is to render SSH host keys in a visual form that is amenable to easy recall and rejection of changed host keys. This technique inspired by the graphical hash visualisation schemes known as "random art[*]", and by Dan Kaminsky's musings at 23C3 in Berlin. SSHの指紋をASCIIで視覚化する実験的な機能を ssh(1) と ssh-keygen(1)に導入する. 指紋の視覚化表示は, 新しい ssh_config(5)の設定項目 "VisualHostKey" で制御される. SSHのホスト鍵を視覚化された形にすることで ホスト鍵を思い出したり変更されたホスト鍵の拒否を容易にするのが目的だ. "random art[*]" として知られるグラフィカルなハッシュの視覚化手法と Berlinの 23C3 での Dan Kaminsky の 考察によって この手法は着想された. Fingerprint visualisation in is currently disabled by default, as the algorithm used to generate the random art is still subject to change. 現在デフォルトでは 指紋の視覚化は無効だ. random art を作成するのに使われるアルゴリズムがまだ変更されるかも しれないからだ. [*] "Hash Visualization: a New Technique to improve Real-World Security", Perrig A. and Song D., 1999, International Workshop on Cryptographic Techniques and E-Commerce (CrypTEC '99) http://sparrow.ece.cmu.edu/~adrian/projects/validation/validation.pdf * sshd_config(5) now supports CIDR address/masklen matching in "Match address" blocks, with a fallback to classic wildcard matching. For example: Match address 192.0.2.0/24,3ffe:ffff::/32,!10.* PasswordAuthentication yes sshd_config(5) は, "Match address" ブロックでCIDRの アドレス/マスク長マッチングを, クラシックなワイルドカードの マッチングへのフォールバック付きで, サポートする. 例: Match address 192.0.2.0/24,3ffe:ffff::/32,!10.* PasswordAuthentication yes * sshd(8) now supports CIDR matching in ~/.ssh/authorized_keys from="..." restrictions, also with a fallback to classic wildcard matching. sshd(8)は, ~/.ssh/authorized_keys の from="..." 制限で CIDR マッチングを, やはりクラシックなワイルドカードのマッチングへのフォールバック付きで, サポートする. * Added an extended test mode (-T) to sshd(8) to request that it write its effective configuration to stdout and exit. Extended test mode also supports the specification of connection parameters (username, source address and hostname) to test the application of sshd_config(5) Match rules. sshd(8) に 拡張テストモード (-T) が追加された. これは, sshd(8) に その有効な設定を stdout に出力し exit することを要求する. 拡張テストモードは, 接続パラメータ(ユーザ名, ソースアドレスとホスト名) の仕様を, sshd_config(5)の Match ルールへ適用するテストもサポートしている. * ssh(1) now prints the number of bytes transferred and the overall connection throughput for SSH protocol 2 sessions when in verbose mode (previously these statistics were displayed for protocol 1 connections only). ssh(1)は 冗長モードの時に SSH プロトコル 2 での 転送バイト数と 全体の接続のスループットを表示するようになった (以前, これらの 統計情報は プロトコル 1の接続のみで表示されていた). * sftp-server(8) now supports extension methods statvfs@openssh.com and fstatvfs@openssh.com that implement statvfs(2)-like operations. (bz#1399) sftp-server(8) は, statvfs(2) ライクな操作を実装する statvfs@openssh.com と fstatvfs@openssh.com 拡張メソッドをサポートする. * sftp(1) now has a "df" command to the sftp client that uses the statvfs@openssh.com to produce a df(1)-like display of filesystem space and inode utilisation (requires statvfs@openssh.com support on the server) sftp(1)は, "df" コマンドを持つ. これはsftp クライアントが statvfs@openssh.com を用いて ファイルシステム空間とinode利用状況 についてdf(1) ライクな表示を生成するのに使われる (サーバが statvfs@openssh.com をサポートする必要がある). * Added a MaxSessions option to sshd_config(5) to allow control of the number of multiplexed sessions supported over a single TCP connection. This allows increasing the number of allowed sessions above the previous default of 10, disabling connection multiplexing (MaxSessions=1) or disallowing login/shell/subsystem sessions entirely (MaxSessions=0). sshd_config(5) に MaxSessions 設定項目が追加された. 単一の TCP 接続上で サポートする多重化されたセッションの数の制御ができる. これにより, 以前のデフォルトの10以上のセッション数を許可したり, 多重化を無効にしたり (MaxSessions=1), login/shell/subsystem セッションを 完全に無効にしたり (MaxSessions=0) できる. * Added a no-more-sessions@openssh.com global request extension that is sent from ssh(1) to sshd(8) when the client knows that it will never request another session (i.e. when session multiplexing is disabled). This allows a server to disallow further session requests and terminate the session in cases where the client has been hijacked. no-more-sessions@openssh.com グローバルリクエスト拡張が追加された. これは, クライアントがこれ以上別のセッションを要求しないことが わかった場合に (セッションの多重化が無効化されている場合など) ssh(1) から sshd(8)に送られる. これは, サーバがさらなるセッションの 要求を拒否しクライアントがハイジャックされた場合にセッションを終了 することを可能にする. * ssh-keygen(1) now supports the use of the -l option in combination with -F to search for a host in ~/.ssh/known_hosts and display its fingerprint. ssh-keygen(1) は ~/.ssh/known_hosts でホストを探しその指紋を表示する ために, -l オプションと -F オプションを組合せて使えるようになった. * ssh-keyscan(1) now defaults to "rsa" (protocol 2) keys, instead of "rsa1". ssh-keyscan(1)は, "rsa1"の代わりに "rsa" (プロトコル 2) の鍵を デフォルトにする. * Added an AllowAgentForwarding option to sshd_config(8) to control whether authentication agent forwarding is permitted. Note that this is a loose control, as a client may install their own unofficial forwarder. AllowAgentForwarding 設定項目が sshd_config(8) に追加された. これは認証エージェントの転送を許可するかどうかを制御する. これは, 緩い制御で, クライアントが自身の公式でない転送プログラムを インストールできることに注意. * ssh(1) and sshd(8): avoid unnecessary malloc/copy/free when receiving network data, resulting in a ~10% speedup network データの受信時に不要な malloc/copy/free があったのを除いた. ~10% のスピードアップになった. * ssh(1) and sshd(8) will now try additional addresses when connecting to a port forward destination whose DNS name resolves to more than one address. The previous behaviour was to try the only first address and give up if that failed. (bz#383) ssh(1) と sshd(8) は, ポート転送の対象のDNS名が1つ以上のアドレスに 解決される場合の接続に, 追加のアドレスも試すようになった. 以前の振舞いでは, 最初のアドレスにのみ試し失敗したら諦めていた. (bz#383) * ssh(1) and sshd(8) now support signalling that channels are half-closed for writing, through a channel protocol extension notification "eow@openssh.com". This allows propagation of closed file descriptors, so that commands such as: "ssh -2 localhost od /bin/ls | true" do not send unnecessary data over the wire. (bz#85) ssh(1) と sshd(8)は, チャンネルを書き込みに対して半分閉じる シグナルを, チャンネルプロトコルの拡張通知 "eow@openssh.com" によって サポートする. これは, 閉じたファイル記述子の伝播を許可するので, 次のようなコマンドで "ssh -2 localhost od /bin/ls | true" 通信経由で不必要なデータを送らない. (bz#85) * sshd(8): increased the default size of ssh protocol 1 ephemeral keys from 768 to 1024 bits. sshd(8): ssh プロトコル1の一時鍵のデフォルトのサイズを 768 から 1024 に増やした. * When ssh(1) has been requested to fork after authentication ("ssh -f") with ExitOnForwardFailure enabled, delay the fork until after replies for any -R forwards have been seen. Allows for robust detection of -R forward failure when using -f. (bz#92) ssh(1) が, ExitOnForwardFailure が有効時に ("ssh -f")で認証後の fork を要求されたときに, すべての -R 転送の返答が返るまで fork を送らせる. -f 利用時に -R 転送の失敗の堅実な検知ができる. (bz#92) * "Match group" blocks in sshd_config(5) now support negation of groups. E.g. "Match group staff,!guests" (bz#1315) sshd_config(5) の "Match group" ブロックが グループの否定をサポートする. 例えば "Match group staff,!guests". (bz#1315) * sftp(1) and sftp-server(8) now allow chmod-like operations to set set[ug]id/sticky bits. (bz#1310) sftp(1) と sftp-server(8) は, chmod ライクな set[ug]id/sticky bit の 設定が可能になる. (bz#1310) * The MaxAuthTries option is now permitted in sshd_config(5) match blocks. MaxAuthTries 設定項目が sshd_config(5) の Match ブロックで許可された. * Multiplexed ssh(1) sessions now support a subset of the ~ escapes that are available to a primary connection. (bz#1331) 多重化された ssh(1) のセッションは, 主要な接続で有効な ~ エスケープの サブセットをサポートする. (bz#1331) * ssh(1) connection multiplexing will now fall back to creating a new connection in most error cases. (bz#1439 bz#1329) ssh(1) 接続の多重化は, 大概のエラーの場合に新しい接続を作成する フォールバックをするようになる. (bz#1439 bz#1329) * Added some basic interoperability tests against Twisted Conch. Twisted Conch に対するいくつかの基本的な相互運用性テストを追加した. * Documented OpenSSH's extensions to and deviations from the published SSH protocols (the PROTOCOL file in the distribution) OpenSSH の拡張と 公開された SSH プロトコルからの逸脱を文書化した. (配布の中のPROTOCOLファイル) * Documented OpenSSH's ssh-agent protocol (PROTOCOL.agent). OpenSSHの ssh-agent のプロトコルを文書化した(PROTOCOL.agent). Bug and documentation fixes バグとドキュメントの修正 * Make ssh(1) deal more gracefully with channel requests that fail. Previously it would optimistically assume that requests would always succeed, which could cause hangs if they did not (e.g. when the server runs out of file descriptors). (bz#1384) ssh(1) に, チャンネルリクエストの失敗をより奥ゆかしく扱うようにさせた. 以前は, リクエストはいつも成功するものと楽観的に仮定して, 失敗する場合(例えば, サーバがファイル記述子を使い果している場合)には ハングをおこしていた. (bz#1384) * ssh(1) now reports multiplexing errors via the multiplex slave's stderr where possible (subject to LogLevel in the mux master). ssh(1) は, 多重化のエラーを可能であれば (マスターの LogLevelに従う) 多重化スレーブの stderr にレポートする. * ssh(1) and sshd(8) now send terminate protocol banners with CR+LF for protocol 2 to comply with RFC 4253. Previously they were terminated with CR alone. Protocol 1 banners remain CR terminated. (bz#1443) ssh(1) と sshd(8) は, RFC 4253 に従って Protocol 2 では プロトコルの バナーを CR+LFで終端する. 以前は, CRのみで終端されていた. プロトロル 1 のバナーは CR で終端されるままだ. (bz#1443) * Merged duplicate authentication file checks in sshd(8) and refuse to read authorised_keys and .shosts from non-regular files. (bz#1438) sshd(8)の重複した認証ファイルチェックを結合し, authorised_keys と .shosts の標準ではないファイルからの読み込みを拒否する. (bz#1438) * Ensure that sshd(8)'s umask disallows at least group and world write, even if a more permissive one has been inherited. (bz#1433) sshd(8) の umask が 少なくとも group と world wide の書き込みを 許さないことを保証する. たとえ, より緩いパーミッション設定が 引き継がれた場合でも. (bz#1433) * Suppress the warning message from sshd(8) when changing to a non-existent user home directory after chrooting. (bz#1461) chroot後に存在しないユーザのホームディレクトリに移動する際に sshd(8) の警告メッセージを抑制する. (bz#1461) * Mention that scp(1) follows symlinks when performing recursive copies. (bz#1466) 再帰的なコピーの実行時に scp(1) が シンボリックリンクをたどるのを 言及する. (bz#1466) * Prevent sshd(8) from erroneously applying public key restrictions leaned from ~/.ssh/authorized_keys to other authentication methods when public key authentication subsequently fails. (bz#1472) sshd(8) で, 公開鍵認証が失敗したあとに, 他の認証法に対して ~/.ssh/authorized_keys による公開鍵制限が間違って適用されていたのを 直した. (bz#1472) * Fix protocol keepalive timeouts - in some cases, keepalive packets were being sent, but the connection was not being closed when the limit for missing replies was exceeded. (bz#1465) プロトコルの keepalive のタイムアウトを修正する. keepalive のパケットに対する応答が得られない回数の制限を 越えても接続が閉じられない場合があった. (bz#1465) * Fix ssh(1) sending invalid TTY modes when a TTY was forced (ssh -tt) but stdin was not a TTY. (bz#1199) ssh(1) が TTYを強制された (ssh -tt)が stdin が TTY でない場合に 防いな TTY モードを送るのを修正する. (bz#1199) * ssh(1) will now exit with a non-zero exit status if ExitOnForwardFailure was set and forwardings were disabled due to a failed host key check. ssh(1) は, ExitOnForwardFailure が設定されて ホスト鍵のチェックに失敗によって転送が無効にされた場合に, 0 でない exit ステータスで exit する. * Fix MaxAuthTries tests to disallow a free authentication try to clients that skipped the protocol 2 "none" authentication method. (part of bz#1432) MaxAuthTries のテストを プロトコル 2 の "none" 認証法をスキップするクライアントへの自由な認証の 試行を許可しないように修正した. (bz#1432 の一部) * Make keepalive timeouts apply while synchronously waiting for a packet, particularly during key renegotiation. (bz#1363) 鍵ネゴシエーション時のような, パケットを同調して待ち受ける 場合に keepalive timeout を適用するようにする. (bz#1363) * sshd(8) has been audited to eliminate fd leaks and calls to fatal() in conditions of file descriptor exhaustion. sshd(8) は, ファイル記述子が使い切られている場合に ファイル記述子のリークを除去し fatal() を呼ぶように 監査された. Portable OpenSSH-specific bugfixes 移植版 OpenSSH 特有のバグ修正 * Avoid a sshd(8) hang-on-exit on Solaris caused by depending on the success of isatty() on a PTY master (undefined behaviour). Probably affected other platforms too. (bz#1463) Solaris での PTY マスターでの isatty() の成功(定義されていない振舞い) の依存によって起きていた sshd(8)のexit時のハングを除いた. 恐らく他のプラットホームにも影響する. (bz#1463) * Fixed test for locked accounts on HP/UX with shadowed passwords disabled. (bz#1083) シャドウパスワードが無効な HP/UXでのロックされたアカウント に対するテストを修正した. (bz#1083) * Disable poll() fallback in atomiciov for Tru64. readv doesn't seem to be a comparable object there, which lead to compilation errors. (bz#1386) Tru64 の atomiciov の poll() フォールバックを無効にした readv は 比較可能なオブジェクトには見えないためにコンパイルエラーが 起きる. (bz#1386) * Fall back to racy rename if link returns EXDEV. (bz#1447) リンクが EXDEV を返したときに 競合状態がありえる rename に フォールバックする. (bz#1447) * Explicitly handle EWOULDBLOCK wherever we handle EAGAIN, on some platforms (HP nonstop) it is a distinct errno. (bz#1467) EAGAIN を扱う場合にいつでも 明示的に EWOULDBLOCK を扱う いくつかのプラットホーム (HP nonstop) では, 独立した errno になっている. (bz#1467) * Avoid NULL dereferences in ancient sigaction replacement code. (bz#1240) 古い sigaction 置き換えコードでの NULL の逆参照を避けるようにした. (bz#1240) * Avoid linking against libgssapi, which despite its name doesn't seem to implement all of GSSAPI. (bz#1276) libgssapiという名前にもかかわらず GSSAPI のすべてを実装していない ライブラリに対するリンクを避けるようにした. (bz#1276) * Use explicit noreturn attribute instead of __dead, fixing compilation problems on Interix. (bz#1112) Interix でのコンパイルの問題を修正するため, __dead の変りに明示的な noreturn 属性を用いる. (bz#1112) * Added support password expiry on Tru64 SIA systems. (bz#1241) Tru64 SIA システムでのパスワードのエクスパイアに対応. (bz#1241) * Fixed an UMAC alignment problem that manifested on Itanium platforms. (bz#1462) Itanium プラットフォームで現れる UMACのアラインメントの 問題の修正 (bz#1462) * The sftp-server(8) manual now describes the requirements for transfer logging in chroot environments. (bz#1488) sftp-server(8) のマニュアルに, chroot環境でのログ転送の必要条件を 記述した. * Strip trailing dot from hostnames when the sshd_config(5) HostbasedUsesNameFromPacketOnly option is set. (bz#1200) sshd_config(5) の HostbasedUsesNameFromPacketOnly 設定項目が設定されている 場合に, ホスト名から末尾の ドット を取り除く.