OpenSSH 4.4の変更点 http://www.openssh.com/txt/release-4.4 http://marc.theaimsgroup.com/?l=openssh-unix-dev&m=115939141729160&w=2 Changes since OpenSSH 4.3: ============================ OpenSSH 4.3からの変更点 Security bugs resolved in this release: このリリースで解決されたセキュリティに関係するバグ: * Fix a pre-authentication denial of service found by Tavis Ormandy, that would cause sshd(8) to spin until the login grace time expired. Tavis Ormandy によって見つけられた sshd(8)を login grace time が終わるまで空回りさせる 認証を行なう前のサービス妨害攻撃(DoS)を修正した. * Fix an unsafe signal hander reported by Mark Dowd. The signal handler was vulnerable to a race condition that could be exploited to perform a pre-authentication denial of service. On portable OpenSSH, this vulnerability could theoretically lead to pre-authentication remote code execution if GSSAPI authentication is enabled, but the likelihood of successful exploitation appears remote. Mark Dowd によって報告された, 安全でないシグナルハンドラを修正した. このシグナルハンドラは競合状態に対して脆弱性があり, 認証を行なう前の サービス妨害攻撃(DoS)が実行されてしまう. 移植版OpenSSHでは, GSSAPI 認証が有効の場合, 理論的には認証を行なう前にリモートの コードを実行することができるが, 成功する可能性はわずかである. * On portable OpenSSH, fix a GSSAPI authentication abort that could be used to determine the validity of usernames on some platforms. 移植版OpenSSHで, いくつかのプラットフォームでは GSSAPI 認証の失敗によって ユーザ名の正当性(その名前のユーザがいるかどうか)を 検証できる問題を修正した. This release includes the following new functionality and fixes: このリリースは 次の新しい機能や修正を含んでいる: * Implemented conditional configuration in sshd_config(5) using the "Match" directive. This allows some configuration options to be selectively overridden if specific criteria (based on user, group, hostname and/or address) are met. So far a useful subset of post- authentication options are supported and more are expected to be added in future releases. - sshd_config(5)で "Match" 命令を用いた 条件付きの設定を実装した. ユーザやグループ ホスト名やアドレスに基づく特定の基準が一致する場合に いくつかの設定を選択的に上書きできるようになった. これまでに, 認証後に有効となる設定のうちの一部の便利なものがサポートされている. 今後のリリースでさらに追加される模様. (訳注: マニュアルによると 基準として User, Group, Host, Address 設定として AllowTcpForwarding, ForceCommand, GatewayPorts, PermitOpen, X11DisplayOffset, X11Forwarding, X11UseLocalHost がサポートされている) * Add support for Diffie-Hellman group exchange key agreement with a final hash of SHA256. SHA256 を用いるDiffie-Hellman 群交換による鍵の同意をサポートを追加した. * Added a "ForceCommand" directive to sshd_config(5). Similar to the command="..." option accepted in ~/.ssh/authorized_keys, this forces the execution of the specified command regardless of what the user requested. This is very useful in conjunction with the new "Match" option. "ForceCommand" 命令が sshd_config(5)に追加した. ~/.ssh/authorized_keys で利用できる command="..." オプションと同様に, ユーザのリクエストするコマンドにかかわらず 特定のコマンドの実行を 強制する. 新しい "Match" 命令と併せて使うのが効果的. * Add a "PermitOpen" directive to sshd_config(5). This mirrors the permitopen="..." authorized_keys option, allowing fine-grained control over the port-forwardings that a user is allowed to establish. "PermitOpen" 命令が sshd_config(5)に追加された. これは authorized_keys での permitoepn="..." と同様に, ユーザに確立を許すポート転送を きめ細かく設定できる. * Add optional logging of transactions to sftp-server(8). sftp-server(8) がトランザクションのログを取れるようになった. * ssh(1) will now record port numbers for hosts stored in ~/.ssh/authorized_keys when a non-standard port has been requested. 標準的でないポートが要求された場合に, ssh(1) は ~/.ssh/authorized_keys のホストのエントリに ポート番号を記録する. * Add an "ExitOnForwardFailure" option to cause ssh(1) to exit (with a non-zero exit code) when requested port forwardings could not be established. 要求されたポート転送が確立できなかったときに, (0でないexitコードで) ssh(1)をexitさせるかどうか 設定できる "ExitOnForwardFailure" オプションを 追加した. * Extend sshd_config(5) "SubSystem" declarations to allow the specification of command-line arguments. sshd_config(5)の "SubSystem" 命令がコマンドライン引数を指定できるように 拡張した. * Replacement of all integer overflow susceptible invocations of malloc(3) and realloc(3) with overflow-checking equivalents. malloc(3)と realloc(3) の すべての整数オーバフローを許しうる呼出しを オーバフローチェックする同等の呼出しに置き換えた. * Many manpage fixes and improvements たくさんのマニュアルの修正と改善 * New portable OpenSSH-specific features: 移植版OpenSSH特有の新しい機能 - Add optional support for SELinux, controlled using the --with-selinux configure option (experimental) - SELinuxのサポートが追加された, configureの --with-selinux オプション で有効になる(実験的). - Add optional support for Solaris process contracts, enabled using the --with-solaris-contracts configure option (experimental) This option will also include SMF metadata in Solaris packages built using the "make package" target - Solarisの process contracts (プロセス契約) のサポートが追加された. configureの--with-solaris-contraces オプションで有効となる(実験的). このオプションは, "make package" ターゲットを用いて作られる SolarisのパッケージのSMF メタデータを含んでいる. - Add optional support for OpenSSL hardware accelerators (engines), enabled using the --with-ssl-engine configure option. - OpenSSL ハードウェアアクセラレータ(エンジン)のサポートが 選択できるようになった. configure の --with-ssl-engine オプション で有効になる. * Bugs from http://bugzilla.mindrot.org fixed: http://bugzilla.mindrot.org からのバグの修正: #482 - readconf doesn't accept paths with spaces in them. #906 - syslog messages from sshd [net] lost. #975 - Kerberos authentication timing can leak information about account validity. #981 - Flow stop in SSH2. #1102 - C program 'write' with zero length hangs. #1129 - sshd hangs for command-only invocations due to fork/child signals. #1131 - error "buffer_append_space:alloc not supported" #1138 - Passphrase asked for (but ignored) if key file permissions too liberal.. #1156 - Closes connection after C-c is pressed on QNX. #1157 - ssh-keygen doesn't handle DOS line breaks. #1159 - %u and %h not handled in IdentityFile. #1161 - scp -r fails. #1162 - Inappropriate sequence of syslog messages. #1166 - openssh-4.3p1 has some issues compiling. #1171 - configure can't always figure out LLONG_MAX.. #1173 - scp reports lost connection for very large files. #1177 - Incorrect sshrc file location in Makefile.in. #1179 - sshd incorrectly rejects connections due to IP options. #1181 - configure should detect when openssl-0.9.8x needs -ldl. #1186 - ssh tries multiple times to open unprotected keys. #1188 - keyboard-interactive should not allow retry after pam_acct_mgmt fails. #1193 - Open ssh will not allow changing of passwords on usernames greater than 8 characters.. #1201 - Bind address information is not specified in command line help messages. #1203 - configure.ac is missing an open [. #1207 - sshd does not clear unsuccessful login count on non-interactive logins. #1218 - GSSAPI client code permits SPNEGO usage. #1221 - Banner only suppressed at log level = QUIET (used to be at log level < INFO). #482 - readconf がスペースを含んだパスを受けつけない #906 - sshd [net] からの syslog メッセージが失なわれる #975 - Kerberos 認証のタイミングがアカウントの正当性の情報を もらす可能性がある(前出) #981 - SSH2でフローが止まる #1102 - C プログラムの 'write' システムコール が 0 の長さ(の書き込みでハングする #1129 - fork/childシグナルによるコマンドのみの実行でsshdがハングする #1131 - "buffer_append_space:alloc not supported" エラー #1138 - 鍵ファイルのパーミッションが許すぎる場合にパスフレーズが聞かれる (無視されるけど) #1156 - QNXで C-cが押されると接続が終了する. #1157 - ssh-keygenが DOSの改行を扱えない. #1159 - IdentityFile で %uや%hが扱えない. #1161 - scp -r が失敗す #1162 - syslogメッセージの不適切な順序 #1166 - openssh-4.3p1のコンパイル時のいくつかの問題 #1171 - configure が必ずしも LLONG_MAX を見付け出さない. #1173 - 非常に大きなファイルで scp が 接続を失なったと報告する #1177 - Makefile.in で sshrc ファイルの場所がおかしい #1179 - IP オプションのために sshd がおかしな接続拒否をする. #1181 - openssl-0.9.8x が -ldl を必要とするときに configure が検出すべき #1186 - 保護されていない鍵を開くのに ssh は何回も試行する. #1188 - キーボードインタラクティブ認証は, pam_acct_mgmt が失敗 したあとにリトライを許すべきではない #1193 - OpenSSH は 8文字よりも長いユーザのパスワードの変更を許さない #1201 - bindするアドレスの情報が, コマンドラインのヘルプメッセージからは 特定されない #1203 - open [ が configure.ac で抜けている #1207 - インタラクティブでないログインでは sshd が 不成功のログイン回数を クリアしない. #1218 - GSSAPI クライアンおコードは SPNEGO の利用を許可している. #1221 - Banner が log_level が QUIET のときだけ抑制される. (昔は log_level < INFOのときだった) * Fixes to memory and file descriptor leaks reported by the Coverity static analysis tool Coverity 静的解析ツールで報告されたメモリとファイルデスクリプタの リークの修正 * Fixes to inconsistent pointer checks reported by the Stanford SATURN tool Stanford SATURN ツールで報告された 一貫性のないポインタのチェックの 修正 -------------------------------------------------- 以下はリリース前のテスト依頼時に出されたメールの訳です. http://marc.theaimsgroup.com/?l=openssh-unix-dev&m=115694538818515&w=2 - Implemented conditional configuration in sshd_config(5) using the "Match" directive. This allows some configuration options to be selectively overridden if specific criteria (based on user, group, hostname and/or address) are met. So far a useful subset of post- authentication options are supported and more are expected to be added in future releases. - sshd_config(5)で "Match" 命令を用いた 条件付きの設定を実装した. ユーザやグループ ホスト名やアドレスに基づく特定の基準が一致する場合に いくつかの設定を選択的に上書きできるようになった. これまでに, 認証後に有効となる設定のうちの一部の便利なものがサポートされている. 今後のリリースでさらに追加される模様. (訳注: マニュアルによると 基準として User, Group, Host, Address 設定として AllowTcpForwarding, ForceCommand, GatewayPorts, PermitOpen, X11DisplayOffset, X11Forwarding, X11UseLocalHost がサポートされている) - Added a "ForceCommand" directive to sshd_config(5). Similar to the command="..." option accepted in ~/.ssh/authorized_keys, this forces the execution of the specified command regardless of what the user requested. This is very useful in conjunction with the new "Match" option. - "ForceCommand" 命令が sshd_config(5)に追加した. ~/.ssh/authorized_keys で利用できる command="..." オプションと同様に, ユーザのリクエストするコマンドにかかわらず 特定のコマンドの実行を 強制する. 新しい "Match" 命令と併せて使うのが効果的. - Add a "PermitOpen" directive to sshd_config(5). This mirrors the permitopen="..." authorized_keys option, allowing fine-grained control over the port-forwardings that a user is allowed to establish. - "PermitOpen" 命令が sshd_config(5)に追加された. これは authorized_keys での permitoepn="..." と同様に, ユーザに確立を許すポート転送を きめ細かく設定できる. - Add optional logging of transactions to sftp-server(8). - sftp-server(8) がトランザクションのログを取れるようになった. - ssh(1) will now record port numbers for hosts stored in ~/.ssh/authorized_keys when a non-standard port has been requested. - 標準的でないポートが要求された場合に, ssh(1) は ~/.ssh/authorized_keys のホストのエントリに ポート番号を記録する. (訳注: http://slashdot.jp/comments.pl?sid=334474&op=&threshold=1&commentsort=3&mode=thread&pid=1028253#1028346 によると authorized_keys ファイルではなく known_hosts ファイルだそうです. ) - Add an "ExitOnForwardFailure" options to cause ssh(1) to exit (with a non-zero exit code) when requested port forwardings could not be established. - 要求されたポート転送が確立できなかったときに, (0でないexitコードで) ssh(1)をexitさせるかどうか 設定できる "ExitOnForwardFailure" オプションを 追加した. - Extend the sshd_config(5) "SubSystem" directive to allow the specification of commandline arguments. - sshd_config(5)の "SubSystem" 命令がコマンドライン引数を指定できるように 拡張した. - Add optional support for SELinux, controlled using the --with-selinux configure option (experimental) - SELinuxのサポートが追加された, configureの --with-selinux オプション で有効になる(実験的). - Add optional support for Solaris process contracts, enabled using the --with-solaris-contracts configure option (experimental) - Solarisの process contracts (プロセス契約) のサポートが追加された. configureの--with-solaris-contraces オプションで有効となる(実験的). - Add support for Diffie-Hellman group exchange key agreement with a final hash of SHA256. SHA256 を用いるDiffie-Hellman 群交換による鍵の同意をサポートを追加した. - Fixed a lot of bugs. See http://bugzilla.mindrot.org/show_bug.cgi?id=1155 for an incomplete list (more in the ChangeLog) たくさんのバグを修正した. http://bugzilla.mindrot.org/show_bug.cgi?id=1155 に 不完全なリストがある. (より詳しくは ChangeLog に) - Lots of manpage fixes and improvements - たくさんのマニュアルの修正と改良 - Many code cleanups, including: - Switching to safer memory allocation functions that avoid integer overflows when allocating arrays - Cleanups of header file usage (ongoing) - Fixes to leaks reported by the Coverity static analysis tool - 以下を含む, 多くのコードのクリーンナップ - 配列の確保時の integer overflow を回避する より安全なメモリ 確保関数へのスイッチ - ヘッダーファイルの利用のクリーンナップ(継続中) - Coverity 静的解析ツールで報告されたリークの修正