OpenSSH

ソフトウェアのスクリーンショット:
OpenSSH
ソフトウェアの詳細:
バージョン: 7.7 更新
日付のアップロード: 22 Jun 18
開発者: OpenBSD Project
ライセンス: 無料
人気: 21

Rating: nan/5 (Total Votes: 0)

OpenSSHは、GNU / Linuxオペレーティングシステムのバックグラウンドで動作し、侵入者や攻撃者からネットワーク全体を保護する、自由に配布され、オープンソースのソフトウェアプロジェクトであるライブラリとコマンドラインプログラムです。これは、SSH(Secure Shell)仕様のオープンソース版です。具体的には、


機能の概要

OpenSSHはフリーライセンスで配布されているオープンソースプロジェクトです。公開鍵、Kerberos認証とワンタイムパスワードの標準、AES、Blowfish、Arcfour、3DESアルゴリズムに基づく強力な暗号化、X Window Systemトラフィック全体を暗号化するX11転送のサポート、AFS、 Kerberosチケットの通過。

さらに、レガシープロトコル、データ圧縮サポート、SSO(Single-Sign-On)認証標準、SFTP(Secure FTP)サーバーおよびクライアントサポートを使用したエージェント転送サポートのためのチャネルを暗号化することにより、 SSH2またはSSH1プロトコル。

もう一つの興味深い機能は相互運用性です。つまり、プロジェクトは元のSSH(Secure Shell)プロトコルのバージョン1.3,1.5、および2.0に準拠しています。インストール後、OpenSSHは、標準のFTP、Telnet、RCP、およびrloginプログラムをSFTP、SCP、SSHなどのセキュアバージョンに自動的に置き換えます。


ボンネットの下で、可用性とサポートされるOS

OpenSSHプロジェクトは、C言語で書かれています。これは、メインのSSH実装とバックグラウンドで実行されるSSHデーモンで構成されています。このソフトウェアは、主に32ビットおよび64ビットアーキテクチャのGNU / Linuxオペレーティングシステムで動作する汎用ソースアーカイブとして配布されています。


ポータブルOpenSSH

ポータブルOpenSSHプロトコルは、Portable OpenSSHと呼ばれる無料でSoftowareでダウンロードすることもできます。これは、Linux、BSD、Solarisオペレーティングシステム用のSSHバージョン1とSSHバージョン2プロトコルのオープンソース実装です。

このリリースの新機能:

潜在的に互換性のない変更:
このリリースには、既存の構成に影響する可能性のあるいくつかの変更が含まれています。
このリリースでは、SSH v.1プロトコルのサーバーサポートが削除されています。
ssh(1):クライアントのデフォルト提案から3des-cbcを削除します。 64ビットのブロック暗号は2016年には安全ではなく、SWEET32のような攻撃がSSHまで拡張されるまで待つことは望ましくありません。 3des-cbcはSSH RFCの唯一の必須暗号であるため、これはデフォルトの設定を使用して古いデバイスに接続する際に問題を引き起こす可能性がありますが、そのようなデバイスは既にキー交換およびホストキーアルゴリズムに対して明示的な設定を既に必要としている可能性が高いです。 sshd(8):事前認証圧縮のサポートを削除します。プロトコルの早い段階で圧縮を行うのはおそらく1990年代には妥当と思われましたが、今日では暗号化(TLSにおける複数圧縮Oracleの攻撃を参照)と攻撃面の両方では明らかに悪い考えです。予備認証圧縮サポートは、10年以上の間、デフォルトで無効になっています。サポートはクライアントに残ります。 ssh-agentはデフォルトで信頼できるパスのホワイトリストの外にPKCS#11モジュールをロードすることを拒否します。パスのホワイトリストは、実行時に指定することができます。

sshd(8):証明書とauthorized keys / principalsのcommand = restrictionの両方にforced-commandが現れると、sshdは同一でない限り証明書の受け入れを拒否します。以前に証明された強制コマンドが他のものを上書きするという(文書化された)動作は、少し混乱し、エラーを起こしやすい可能性があります。 sshd(8):UseLogin設定ディレクティブを削除し、/ bin / loginがログインセッションを管理できるようにサポートします。
OpenSSH 7.3以降の変更点:
セキュリティ:
ssh-agent(1):信頼できるホワイトリスト外のパスからPKCS#11モジュールをロードすることを拒否するようになりました(実行時設定可能)。モジュールをロードする要求はエージェント転送によって渡され、攻撃者は転送されたエージェントチャネルを介して敵対的なPKCS#11モジュールをロードしようとする可能性があります。PKCS#11モジュールは共有ライブラリであるため、sshを実行しているシステム攻撃者が転送されたエージェントソケット(sshdサーバを実行しているホスト上)の制御権とssh-agent(通常はsshクライアントを実行しているホスト)を実行しているホストのファイルシステムに書き込む能力がある場合エージェント。 Project ZeroのJann Hornによって報告されました。sshd(8):権限分離を無効にすると、転送されたUnixドメインソケットは、認証されたユーザではなく、 'root'の権限でsshd(8)によって作成されます。このリリースでは、特権分離を無効にすると、Unixドメインのソケット転送が拒否されます(特権分離は、デフォルトで14年間有効になっています)。 Project ZeroのJann Hornによって報告されました。
sshd(8):キーを読むときにrealloc()を介してホスト秘密鍵材料が特権区切りの子プロセスに理論的に漏れないようにします。このようなリークは、通常のサイズのキーでは実際には観察されませんでした。また、子プロセスへのリークによってキー・マテリアルが直接非特権ユーザーに公開されることもありません。 Project ZeroのJann Hornによって報告されました。sshd(8):事前認証圧縮サポートで使用される共有メモリマネージャは、いくつかの最適化コンパイラによって省略される可能性のある境界チェックを持っていました。さらに、このメモリマネージャは、事前認証圧縮が無効になっているときに不正にアクセスできました。これにより、サンドボックス化された特権分離プロセスからの特権監視プロセスに対する攻撃が潜在的に可能になる可能性があります(後者の妥協点が最初に必要になります)。このリリースでは、sshd(8)から事前認証圧縮のサポートが削除されています。 Stack不安定な最適化識別ツール(http://css.csail.mit.edu/stack/)を使用してGuido Vrankenによって報告されました。
sshd(8):複数のKEXINITメッセージを送信する攻撃者が接続ごとに最大128MBを消費する可能性のあるサービス不能状態を修正しました。歯車チームのShi Leiによって報告された、Qihoo 360。
sshd(8):設定のロード時にAllowUserおよびDenyUsersディレクティブのアドレス範囲を検証し、無効なものを受け入れることを拒否します。以前は無効なCIDRアドレス範囲(例:user@127.1.2.3/55)を指定することができましたが、これらは常に一致し、意図しない場所でアクセスを許可する可能性があります。 Laurence Parryによって報告されました。
新機能:ssh(1):Simon TathamがPuTTYのバージョンに触発されたssh(1)にプロキシ多重化モードを追加する。これにより、多重化クライアントは、メインプロセスがチャネルIDなどを変換するプロキシとして機能するように、Unixドメインソケット上でSSHパケットおよびチャネルプロトコルのサブセットを使用してマスタプロセスと通信することができます。これにより、ファイル記述子の受け渡し(現在の多重化コードによって使用される)がなく、Unixドメインのソケット転送と組み合わせて、クライアントと異なるマシン上の多重化マスタープロセスが潜在的に存在するシステム。多重化プロキシモードは、「ssh -O proxy ...」を使用して呼び出すことができる。
sshd(8):X11、エージェント、TCP、トンネル、Unixドメインソケットの転送を無効にするsshd_config DisableForwardingオプションを追加します。 'restrict' authorized_keysフラグと同様に、これは簡単で将来的にアカウントを制限するためのものです。
sshd(8)、ssh(1): "curve25519-sha256"をサポートする。鍵交換方式。これは、現在サポートされている方法 "curve25519-sha256@libssh.org"と同じです。sshd(8):起動時にsshdがすでにデーモン化されているかどうかを確認し、そうであればdaemon(3)の呼び出しをスキップしてSIGHUPの処理を改善する。これにより、sshd(8)のSIGHUPを再起動すると、最初の実行と同じプロセスIDが保持されます。 sshd(8)は、SIGHUPを再起動する前にPidFileのリンクを解除し、設定エラーの場合に古いファイルを残すのではなく、再起動が成功した後に再作成します。 bz#2641
sshd(8):ClientAliveIntervalおよびClientAliveCountMaxディレクティブをsshd_configマッチブロックに表示させます。
sshd(8):authorizedPrincipalsCommandに%Escを追加して、AuthorizedKeysCommand(キー、キータイプ、フィンガープリントなど)でサポートされているものと一致させ、提供されている証明書の内容にアクセスできるようにします。
文字列照合、住所照合、文字列消去機能の回帰テストを追加しました。
キー交換用のファザーハーネスを改良しました。
バグの修正:
ssh(1):IdentityFileが対応する裸の公開鍵を持たない証明書を正常にロードして使用できるようにします。 bz#2617 certificate id_rsa-cert.pub(id_rsa.pubはありません)。ssh(1):複数の認証が使用されていて、publickeyが試行された最初のメソッドだけではない場合、公開鍵認証を修正します。 bz#2642
regress:PuTTY相互運用テストを無人で実行できるようにします。 bz#2639
ssh-agent(1)、ssh(1):PKCS#11トークンから鍵をロードしようとしたときに、無駄なログメッセージやデバッグメッセージの詳細を少なくしてレポートを改善します。 bz#2610
ssh(1):ControlMaster接続を切断するとき、LogLevel = quietのときにstderrを汚染しないでください。
sftp(1):On ^ Zは、ssh(1)がパスワードプロンプト中に中断された場合、ssh(1)が正しくターミナルモードに復帰するように、sshp(1)を一時停止する前に、
ssh(1):パスワードプロンプト中にssh(1)が一時停止されるとビジー待機しないようにします。
ssh(1)、sshd(8):ext- infoメッセージの送信中にエラーを正しく報告します。
sshd(8):sshd(8)がシーケンス外のNEWKEYSメッセージを受け取った場合、NULL-derefクラッシュを修正しました。
sshd(8):server-sig-algs拡張で送信されたサポートされている署名アルゴリズムのリストを修正しました。 bz#2547
sshd(8):privsepが無効の場合、ext_infoメッセージの送信を修正しました。sshd(8):認証に使用される特権分離モニタ呼び出しのより厳密な順序付けを厳密に実施し、それぞれの認証方法がコンフィグレーションで有効になっている場合のみ許可する
sshd(8):getsockopt()呼び出しで初期化されていないoptlenを修正しました。 Unix / BSDでは無害ですが、Cygwinではクラッシュする可能性があります。
explicit_bzero(3)が-fsanitize-memoryでコンパイルされたときにメモリイニシャライザとして認識されないことによって引き起こされた誤検出報告を修正しました。 sshd_config(5):構成の例として公式のIPv6サブネットである2001:db8 :: / 32を使用します。
移植性:
トルコ語ロケールで構成された環境では、ロケール固有の文字 'i'と 'I'の処理に起因する構成解析のエラーを避けるため、C / POSIXロケールにフォールバックします。 bz#2643
sftp-server(8)、ssh-agent(1):ptrace(PT_DENY_ATTACH、..)を使用してOS X上のptraceを拒否する
ssh(1)、sshd(8):古い(〜0.9.8)OpenSSL上のAES-CTR暗号を解除します。
RIPEMD160をサポートせずにコンパイルされたlibcryptoのコンパイルを修正しました。

contrib:GTK + 3をサポートするgnome-ssh-askpass3を追加してください。 bz#2640 sshd(8):権限分離を越えてPRNGの再シードを改善し、libcryptoにchrootまたはsandboxingの前に高品質のシードを取得させます。
All:壊れたstrnvisを明示的にテストします。 NetBSDはstrnvisを追加しましたが、残念なことにOpenBSDとLinuxのlibbsd(以前は10年以上存在していたlibbsd)と互換性がありませんでした。この混乱を検出して、クロスコンパイルすれば唯一の安全なオプションにしてみてください。

バージョンの新機能:

潜在的に互換性のない変更:
このリリースには、既存の構成に影響する可能性のあるいくつかの変更が含まれています。
このリリースでは、SSH v.1プロトコルのサーバーサポートが削除されています。
ssh(1):クライアントのデフォルト提案から3des-cbcを削除します。 64ビットのブロック暗号は2016年には安全ではなく、SWEET32のような攻撃がSSHまで拡張されるまで待つことは望ましくありません。 3des-cbcはSSH RFCの唯一の必須暗号であるため、これはデフォルトの設定を使用して古いデバイスに接続する際に問題を引き起こす可能性がありますが、そのようなデバイスは既にキー交換およびホストキーアルゴリズムに対して明示的な設定を既に必要としている可能性が高いです。 sshd(8):事前認証圧縮のサポートを削除します。プロトコルの早い段階で圧縮を行うのはおそらく1990年代には妥当と思われましたが、今日では暗号化(TLSにおける複数圧縮Oracleの攻撃を参照)と攻撃面の両方では明らかに悪い考えです。予備認証圧縮サポートは、10年以上の間、デフォルトで無効になっています。サポートはクライアントに残ります。 ssh-agentはデフォルトで信頼できるパスのホワイトリストの外にPKCS#11モジュールをロードすることを拒否します。パスのホワイトリストは、実行時に指定することができます。

sshd(8):証明書とauthorized keys / principalsのcommand = restrictionの両方にforced-commandが現れると、sshdは同一でない限り証明書の受け入れを拒否します。以前に証明された強制コマンドが他のものを上書きするという(文書化された)動作は、少し混乱し、エラーを起こしやすい可能性があります。 sshd(8):UseLogin設定ディレクティブを削除し、/ bin / loginがログインセッションを管理できるようにサポートします。
OpenSSH 7.3以降の変更点:
セキュリティ:
ssh-agent(1):信頼できるホワイトリスト外のパスからPKCS#11モジュールをロードすることを拒否するようになりました(実行時設定可能)。モジュールをロードする要求はエージェント転送によって渡され、攻撃者は転送されたエージェントチャネルを介して敵対的なPKCS#11モジュールをロードしようとする可能性があります。PKCS#11モジュールは共有ライブラリであるため、sshを実行しているシステム攻撃者が転送されたエージェントソケット(sshdサーバを実行しているホスト上)の制御権とssh-agent(通常はsshクライアントを実行しているホスト)を実行しているホストのファイルシステムに書き込む能力がある場合エージェント。 Project ZeroのJann Hornによって報告されました。sshd(8):権限分離を無効にすると、転送されたUnixドメインソケットは、認証されたユーザではなく、 'root'の権限でsshd(8)によって作成されます。このリリースでは、特権分離を無効にすると、Unixドメインのソケット転送が拒否されます(特権分離は、デフォルトで14年間有効になっています)。 Project ZeroのJann Hornによって報告されました。
sshd(8):キーを読むときにrealloc()を介してホスト秘密鍵材料が特権区切りの子プロセスに理論的に漏れないようにします。このようなリークは、通常のサイズのキーでは実際には観察されませんでした。また、子プロセスへのリークによってキー・マテリアルが直接非特権ユーザーに公開されることもありません。 Project ZeroのJann Hornによって報告されました。sshd(8):事前認証圧縮サポートで使用される共有メモリマネージャは、いくつかの最適化コンパイラによって省略される可能性のある境界チェックを持っていました。さらに、このメモリマネージャは、事前認証圧縮が無効になっているときに不正にアクセスできました。これにより、サンドボックス化された特権分離プロセスからの特権監視プロセスに対する攻撃が潜在的に可能になる可能性があります(後者の妥協点が最初に必要になります)。このリリースでは、sshd(8)から事前認証圧縮のサポートが削除されています。 Stack不安定な最適化識別ツール(http://css.csail.mit.edu/stack/)を使用してGuido Vrankenによって報告されました。
sshd(8):複数のKEXINITメッセージを送信する攻撃者が接続ごとに最大128MBを消費する可能性のあるサービス不能状態を修正しました。歯車チームのShi Leiによって報告された、Qihoo 360。
sshd(8):設定のロード時にAllowUserおよびDenyUsersディレクティブのアドレス範囲を検証し、無効なものを受け入れることを拒否します。以前は無効なCIDRアドレス範囲(例:user@127.1.2.3/55)を指定することができましたが、これらは常に一致し、意図しない場所でアクセスを許可する可能性があります。 Laurence Parryによって報告されました。
新機能:ssh(1):Simon TathamがPuTTYのバージョンに触発されたssh(1)にプロキシ多重化モードを追加する。これにより、多重化クライアントは、メインプロセスがチャネルIDなどを変換するプロキシとして機能するように、Unixドメインソケット上でSSHパケットおよびチャネルプロトコルのサブセットを使用してマスタプロセスと通信することができます。これにより、ファイル記述子の受け渡し(現在の多重化コードによって使用される)がなく、Unixドメインのソケット転送と組み合わせて、クライアントと異なるマシン上の多重化マスタープロセスが潜在的に存在するシステム。多重化プロキシモードは、「ssh -O proxy ...」を使用して呼び出すことができる。
sshd(8):X11、エージェント、TCP、トンネル、Unixドメインソケットの転送を無効にするsshd_config DisableForwardingオプションを追加します。 'restrict' authorized_keysフラグと同様に、これは簡単で将来的にアカウントを制限するためのものです。
sshd(8)、ssh(1): "curve25519-sha256"をサポートする。鍵交換方式。これは、現在サポートされている方法 "curve25519-sha256@libssh.org"と同じです。sshd(8):起動時にsshdがすでにデーモン化されているかどうかを確認し、そうであればdaemon(3)の呼び出しをスキップしてSIGHUPの処理を改善する。これにより、sshd(8)のSIGHUPを再起動すると、最初の実行と同じプロセスIDが保持されます。 sshd(8)は、SIGHUPを再起動する前にPidFileのリンクを解除し、設定エラーの場合に古いファイルを残すのではなく、再起動が成功した後に再作成します。 bz#2641
sshd(8):ClientAliveIntervalおよびClientAliveCountMaxディレクティブをsshd_configマッチブロックに表示させます。
sshd(8):authorizedPrincipalsCommandに%Escを追加して、AuthorizedKeysCommand(キー、キータイプ、フィンガープリントなど)でサポートされているものと一致させ、提供されている証明書の内容にアクセスできるようにします。
文字列照合、住所照合、文字列消去機能の回帰テストを追加しました。
キー交換用のファザーハーネスを改良しました。
バグの修正:
ssh(1):IdentityFileが対応する裸の公開鍵を持たない証明書を正常にロードして使用できるようにします。 bz#2617 certificate id_rsa-cert.pub(id_rsa.pubはありません)。ssh(1):複数の認証が使用されていて、publickeyが試行された最初のメソッドだけではない場合、公開鍵認証を修正します。 bz#2642
regress:PuTTY相互運用テストを無人で実行できるようにします。 bz#2639
ssh-agent(1)、ssh(1):PKCS#11トークンから鍵をロードしようとしたときに、無駄なログメッセージやデバッグメッセージの詳細を少なくしてレポートを改善します。 bz#2610
ssh(1):ControlMaster接続を切断するとき、LogLevel = quietのときにstderrを汚染しないでください。
sftp(1):On ^ Zは、ssh(1)がパスワードプロンプト中に中断された場合、ssh(1)が正しくターミナルモードに復帰するように、sshp(1)を一時停止する前に、
ssh(1):パスワードプロンプト中にssh(1)が一時停止されるとビジー待機しないようにします。
ssh(1)、sshd(8):ext- infoメッセージの送信中にエラーを正しく報告します。
sshd(8):sshd(8)がシーケンス外のNEWKEYSメッセージを受け取った場合、NULL-derefクラッシュを修正しました。
sshd(8):server-sig-algs拡張で送信されたサポートされている署名アルゴリズムのリストを修正しました。 bz#2547
sshd(8):privsepが無効の場合、ext_infoメッセージの送信を修正しました。sshd(8):認証に使用される特権分離モニタ呼び出しのより厳密な順序付けを厳密に実施し、それぞれの認証方法がコンフィグレーションで有効になっている場合のみ許可する
sshd(8):getsockopt()呼び出しで初期化されていないoptlenを修正しました。 Unix / BSDでは無害ですが、Cygwinではクラッシュする可能性があります。
explicit_bzero(3)が-fsanitize-memoryでコンパイルされたときにメモリイニシャライザとして認識されないことによって引き起こされた誤検出報告を修正しました。 sshd_config(5):構成の例として公式のIPv6サブネットである2001:db8 :: / 32を使用します。
移植性:
トルコ語ロケールで構成された環境では、ロケール固有の文字 'i'と 'I'の処理に起因する構成解析のエラーを避けるため、C / POSIXロケールにフォールバックします。 bz#2643
sftp-server(8)、ssh-agent(1):ptrace(PT_DENY_ATTACH、..)を使用してOS X上のptraceを拒否する
ssh(1)、sshd(8):古い(〜0.9.8)OpenSSL上のAES-CTR暗号を解除します。
RIPEMD160をサポートせずにコンパイルされたlibcryptoのコンパイルを修正しました。

contrib:GTK + 3をサポートするgnome-ssh-askpass3を追加してください。 bz#2640 sshd(8):権限分離を越えてPRNGの再シードを改善し、libcryptoにchrootまたはsandboxingの前に高品質のシードを取得させます。
All:壊れたstrnvisを明示的にテストします。 NetBSDはstrnvisを追加しましたが、残念なことにOpenBSDとLinuxのlibbsd(以前は10年以上存在していたlibbsd)と互換性がありませんでした。この混乱を検出して、クロスコンパイルすれば唯一の安全なオプションにしてみてください。

バージョン7.4の新機能:

潜在的に互換性のない変更:
このリリースには、既存の構成に影響する可能性のあるいくつかの変更が含まれています。
このリリースでは、SSH v.1プロトコルのサーバーサポートが削除されています。
ssh(1):クライアントのデフォルト提案から3des-cbcを削除します。 64ビットのブロック暗号は2016年には安全ではなく、SWEET32のような攻撃がSSHまで拡張されるまで待つことは望ましくありません。 3des-cbcはSSH RFCの唯一の必須暗号であるため、これはデフォルトの設定を使用して古いデバイスに接続する際に問題を引き起こす可能性がありますが、そのようなデバイスは既にキー交換およびホストキーアルゴリズムに対して明示的な設定を既に必要としている可能性が高いです。 sshd(8):事前認証圧縮のサポートを削除します。プロトコルの早い段階で圧縮を行うのはおそらく1990年代には妥当と思われましたが、今日では暗号化(TLSにおける複数圧縮Oracleの攻撃を参照)と攻撃面の両方では明らかに悪い考えです。予備認証圧縮サポートは、10年以上の間、デフォルトで無効になっています。サポートはクライアントに残ります。 ssh-agentはデフォルトで信頼できるパスのホワイトリストの外にPKCS#11モジュールをロードすることを拒否します。パスホワイトリストは、実行時に指定することができます。sshd(8):証明書とauthorized keys / principalsのcommand = restrictionの両方にforced-commandが現れると、sshdは同一でない限り証明書の受け入れを拒否します。以前に証明された強制コマンドが他のものを上書きするという(文書化された)動作は、少し混乱し、エラーを起こしやすい可能性があります。 sshd(8):UseLogin設定ディレクティブを削除し、/ bin / loginがログインセッションを管理できるようにサポートします。
OpenSSH 7.3以降の変更点:
セキュリティ:
ssh-agent(1):信頼できるホワイトリスト外のパスからPKCS#11モジュールをロードすることを拒否するようになりました(実行時設定可能)。モジュールをロードする要求はエージェント転送によって渡され、攻撃者は転送されたエージェントチャネルを介して敵対的なPKCS#11モジュールをロードしようとする可能性があります。PKCS#11モジュールは共有ライブラリであるため、sshを実行しているシステム攻撃者が転送されたエージェントソケット(sshdサーバを実行しているホスト上)の制御権とssh-agent(通常はsshクライアントを実行しているホスト)を実行しているホストのファイルシステムに書き込む能力がある場合エージェント。 Project ZeroのJann Hornによって報告されました。sshd(8):権限分離を無効にすると、転送されたUnixドメインソケットは、認証されたユーザではなく、 'root'の権限でsshd(8)によって作成されます。このリリースでは、特権分離を無効にすると、Unixドメインのソケット転送が拒否されます(特権分離は、デフォルトで14年間有効になっています)。 Project ZeroのJann Hornによって報告されました。
sshd(8):キーを読むときにrealloc()を介してホスト秘密鍵材料が特権区切りの子プロセスに理論的に漏れないようにします。このようなリークは、通常のサイズのキーでは実際には観察されませんでした。また、子プロセスへのリークによってキー・マテリアルが直接非特権ユーザーに公開されることもありません。 Project ZeroのJann Hornによって報告されました。sshd(8):事前認証圧縮サポートで使用される共有メモリマネージャは、いくつかの最適化コンパイラによって省略される可能性のある境界チェックを持っていました。さらに、このメモリマネージャは、事前認証圧縮が無効になっているときに不正にアクセスできました。これにより、サンドボックス化された特権分離プロセスからの特権監視プロセスに対する攻撃が潜在的に可能になる可能性があります(後者の妥協点が最初に必要になります)。このリリースでは、sshd(8)から事前認証圧縮のサポートが削除されています。 Stack不安定な最適化識別ツール(http://css.csail.mit.edu/stack/)を使用してGuido Vrankenによって報告されました。
sshd(8):複数のKEXINITメッセージを送信する攻撃者が接続ごとに最大128MBを消費する可能性のあるサービス不能状態を修正しました。歯車チームのShi Leiによって報告された、Qihoo 360。
sshd(8):設定のロード時にAllowUserおよびDenyUsersディレクティブのアドレス範囲を検証し、無効なものを受け入れることを拒否します。以前は無効なCIDRアドレス範囲(例:user@127.1.2.3/55)を指定することができましたが、これらは常に一致し、意図しない場所でアクセスを許可する可能性があります。 Laurence Parryによって報告されました。
新機能:ssh(1):Simon TathamがPuTTYのバージョンに触発されたssh(1)にプロキシ多重化モードを追加する。これにより、多重化クライアントは、メインプロセスがチャネルIDなどを変換するプロキシとして機能するように、Unixドメインソケット上でSSHパケットおよびチャネルプロトコルのサブセットを使用してマスタプロセスと通信することができます。これにより、ファイル記述子の受け渡し(現在の多重化コードによって使用される)がなく、Unixドメインのソケット転送と組み合わせて、クライアントと異なるマシン上の多重化マスタープロセスが潜在的に存在するシステム。多重化プロキシモードは、 "ssh -O proxy ..."を使用して呼び出すことができます。
sshd(8):X11、エージェント、TCP、トンネル、Unixドメインソケットの転送を無効にするsshd_config DisableForwardingオプションを追加します。 'restrict' authorized_keysフラグと同様に、これは簡単で将来的にアカウントを制限するためのものです。
sshd(8)、ssh(1): "curve25519-sha256"キー交換方式をサポートしています。これは現在サポートされている方法 "curve25519-sha256@libssh.org"と同じです。sshd(8):起動時にsshdがすでにデーモン化されているかどうかを確認し、そうであればdaemon(3)の呼び出しをスキップしてSIGHUPの処理を改善する。これにより、sshd(8)のSIGHUPを再起動すると、最初の実行と同じプロセスIDが保持されます。 sshd(8)は、SIGHUPを再起動する前にPidFileのリンクを解除し、設定エラーの場合に古いファイルを残すのではなく、再起動が成功した後に再作成します。 bz#2641
sshd(8):ClientAliveIntervalおよびClientAliveCountMaxディレクティブをsshd_configマッチブロックに表示させます。
sshd(8):authorizedPrincipalsCommandに%Escを追加して、AuthorizedKeysCommand(キー、キータイプ、フィンガープリントなど)でサポートされているものと一致させ、提供されている証明書の内容にアクセスできるようにします。
文字列照合、住所照合、文字列消去機能の回帰テストを追加しました。
キー交換用のファザーハーネスを改良しました。
バグの修正:
ssh(1):IdentityFileが対応する裸の公開鍵を持たない証明書を正常にロードして使用できるようにします。 bz#2617 certificate id_rsa-cert.pub(id_rsa.pubはありません)。ssh(1):複数の認証が使用されていて、publickeyが試行された最初のメソッドだけではない場合、公開鍵認証を修正します。 bz#2642
regress:PuTTY相互運用テストを無人で実行できるようにします。 bz#2639
ssh-agent(1)、ssh(1):PKCS#11トークンから鍵をロードしようとしたときに、無駄なログメッセージやデバッグメッセージの詳細を少なくしてレポートを改善します。 bz#2610
ssh(1):ControlMaster接続を切断するとき、LogLevel = quietのときにstderrを汚染しないでください。
sftp(1):On ^ Zは、ssh(1)がパスワードプロンプト中に中断された場合、ssh(1)が正しくターミナルモードに復帰するように、sshp(1)を一時停止する前に、
ssh(1):パスワードプロンプト中にssh(1)が一時停止されるとビジー待機しないようにします。
ssh(1)、sshd(8):ext- infoメッセージの送信中にエラーを正しく報告します。
sshd(8):sshd(8)がシーケンス外のNEWKEYSメッセージを受け取った場合、NULL-derefクラッシュを修正しました。
sshd(8):server-sig-algs拡張で送信されたサポートされている署名アルゴリズムのリストを修正しました。 bz#2547
sshd(8):privsepが無効の場合、ext_infoメッセージの送信を修正しました。sshd(8):認証に使用される特権分離モニタ呼び出しのより厳密な順序付けを厳密に実施し、それぞれの認証方法がコンフィグレーションで有効になっている場合のみ許可する
sshd(8):getsockopt()呼び出しで初期化されていないoptlenを修正しました。 Unix / BSDでは無害ですが、Cygwinではクラッシュする可能性があります。
explicit_bzero(3)が-fsanitize-memoryでコンパイルされたときにメモリイニシャライザとして認識されないことによって引き起こされた誤検出報告を修正しました。 sshd_config(5):構成の例として公式のIPv6サブネットである2001:db8 :: / 32を使用します。
移植性:
トルコ語ロケールで構成された環境では、ロケール固有の文字 'i'と 'I'の処理に起因する構成解析のエラーを避けるため、C / POSIXロケールにフォールバックします。 bz#2643
sftp-server(8)、ssh-agent(1):ptrace(PT_DENY_ATTACH、..)を使用してOS X上のptraceを拒否する
ssh(1)、sshd(8):古い(〜0.9.8)OpenSSL上のAES-CTR暗号を解除します。
RIPEMD160をサポートせずにコンパイルされたlibcryptoのコンパイルを修正しました。
contrib:GTK + 3をサポートするgnome-ssh-askpass3を追加してください。 bz#2640 sshd(8):権限分離を越えてPRNGの再シードを改善し、libcryptoにchrootまたはsandboxingの前に高品質のシードを取得させます。

All:壊れたstrnvisを明示的にテストします。 NetBSDはstrnvisを追加しましたが、残念なことにOpenBSDとLinuxのlibbsd(以前は10年以上存在していたlibbsd)と互換性がありませんでした。この混乱を検出して、クロスコンパイルすれば唯一の安全なオプションにしてみてください。

バージョン7.3の新機能:

セキュリティ:
sshd(8):システムのcrypt(3)関数に対する潜在的なサービス拒否攻撃をsshd(8)経由で緩和します。攻撃者は、crypt(3)で過度のCPU使用を引き起こす非常に長いパスワードを送信する可能性があります。 sshd(8)は、1024文字を超える長さのパスワード認証要求を受け入れないようになりました。 Tomas Kuthan(Oracle)、Andres Rojas、Javier Nietoによって独自に報告されました。
sshd(8):長いパスワードが送信され、特定のパスワードハッシングアルゴリズムがサーバー上で使用されているときに、無効なアカウント名から有効なものを識別するために使用できるパスワード認証のタイミング差を緩和します。 CVE-2016-6210、eddieEzra.Harariによってverint.comで報告
ssh(1)、sshd(8):CBCのパディングオラクル対策で観測可能なタイミングの弱点を修正しました。 Jean Paul Degabriele、Kenny Paterson、Torben Hansen、Martin Albrechtによって報告されました。 CBC暗号はデフォルトで無効になっており、従来の互換性のためにのみ含まれています。ssh(1)、sshd(8):任意の暗号文を解読する前にMACを検証するEncrypt-then-MAC(EtM)モードトランスポートMACアルゴリズムに対するMAC検証の動作順序を改善する。このような漏れは観察されていないが、平文に関するタイミングの違いが漏れてしまう可能性がなくなる。 Jean Paul Degabriele、Kenny Paterson、Torben Hansen、Martin Albrechtによって報告されました。 sshd(8):(ポータブルのみ)UseLogin = yesの場合、PAM環境変数を無視します。 PAMがユーザ指定の環境変数を読み込み、sshd_configでUseLogin = yesを読み込むように設定されている場合、LD_PRELOADまたはPAM経由で設定された同様の環境変数を使って、危険なローカルユーザが/ bin / loginを攻撃する可能性があります。 CVE-2015-8325、Shayan Sadighによって発見。
新機能:
ssh(1):ProxyJumpオプションと対応する-Jコマンドラインフラグを追加して、1つ以上のSSHバスションまたは「ジャンプホスト」を介して単純な間接指定を可能にします。
ssh(1):IdentityAgentオプションを追加して、環境から受け取るのではなく、特定のエージェントソケットを指定できるようにします。 ssh(1):ssh -Wを使用するときにExitOnForwardFailureとClearAllForwardingsをオプションでオーバーライドできるようにします。 bz#2577ssh(1)、sshd(8):draft-sgtatham-secsh-iutf8-00のようにIUTF8端末モードのサポートを実装する。 ssh(1)、sshd(8):draft-ietf-curdle-ssh-kex-sha2-03から追加の固定Diffie-Hellman 2K、4K、8Kグループのサポートを追加します。
ssh-keygen(1)、ssh(1)、sshd(8):証明書にSHA256およびSHA512 RSA署名をサポートします。 ssh(1):ssh_config(5)ファイルのインクルードディレクティブを追加します。
ssh(1):サーバーから送信された事前認証バナーにUTF-8文字を許可します。 bz#2058
バグの修正:
ssh(1)、sshd(8):比較的一般的なプロトコルイベントのsyslogレベルをLOG_CRITから減らします。 bz#2585
sshd(8):設定でAuthenticationMethods = ""を拒否し、複数の認証を必要としないデフォルトの動作については、AuthenticationMethods = anyを受け入れます。 bz#2398
sshd(8):時代遅れの誤解を招く可能性のある「可能な侵入試行」を削除する順方向DNSと逆方向DNSが一致しない場合のメッセージ。 bz#2585
ssh(1):デバッグモードまたはsyslogへのロギングを除いて、ControlPersistのバックグラウンドプロセスstderrを閉じます。 bz#1988
misc:direct-streamlocal@openssh.comチャンネルオープンメッセージのPROTOCOL記述をデプロイされたコードと一致させます。 bz#2529

ssh(1):ExitOnForwardFailureとhostname canonicalisationの両方が有効になっているときに失敗を修正するために、重複したLocalForwardとRemoteForwardエントリ。 bz#2562
sshd(8):moduliからfallbackを削除して、2001年に廃止された "primes"ファイルを削除しました。bz#2559。
sshd_config(5):UseDNSの正しい記述:known_hostsではなくauthorized_keysに対するsshホスト名の処理に影響します。 bz#2554 ssh(1):ファイルシステム上の対応する秘密鍵のないエージェント内の孤立した証明書キーを使用して認証を修正しました。 bz#2550
sshd(8):時間ベースのRekeyLimitが設定されているときにClientAliveIntervalにpingを送信します。以前のキープアライブパケットは送信されませんでした。 bz#2252

バージョン7.2の新機能:

セキュリティ:
ssh(1)、sshd(8):未完成の未使用のローミングコードを削除する(OpenSSH 7.1p2ではすでに強制的に無効になっていた)。
ssh(1):XサーバがSECURITY拡張機能を無効にしたときに、信頼できないX11転送から信頼できる転送へのフォールバックを排除します。
ssh(1)、sshd(8):diffie-hellman-group-exchangeでサポートされる最小モジュラスのサイズを2048ビットに増やします。
sshd(8):デフォルトでpre-authサンドボックスが有効になりました(以前のリリースでは、sshd_configによる新規インストールが可能になりました)。
新機能:
all:draft-rsa-dsa-sha2-256-03.txtおよびdraft-ssh-ext-info-04.txtに基づくSHA-256/512ハッシュアルゴリズムを使用して、RSAシグニチャのサポートを追加します。
ssh(1): 'yes'、 'no'、 'ask'、または 'confirm'に設定できるAddKeysToAgentクライアントオプションを追加し、デフォルトは 'no'です。有効にすると、認証時に使用される秘密鍵がssh-agentに追加されます(実行されている場合は「確認」に設定されていると確認が有効になります)。sshd(8):すべての現在および将来のキー制限(no - * - forwardingなど)を含む新しいauthorized_keysオプション "restrict"を追加します。既存の制限の許容バージョンも追加します(例: "no-pty" - > "pty"これにより、将来適用されるパーミッションにかかわらず、制限された鍵を設定する作業が簡素化され、最大限に制限されます。 ssh(1):証明書を明示的にリストするssh_config CertificateFileオプションを追加します。 bz#2436
ssh-keygen(1):ssh-keygenがサポートされているすべてのフォーマットのキーコメントを変更できるようにします。
ssh-keygen(1):標準入力からの指紋入力を許可します。 "ssh-keygen -lf - "
ssh-keygen(1):ファイル内の複数の公開鍵を指紋で読み取ることができます。 "ssh-keygen -lf〜/ .ssh / authorized_keys" bz#1319
sshd(8):sshd_configフォアグラウンドとChrootDirectoryの引数として "none"をサポートします。内部の便利なブロックを使って、グローバルなデフォルトを上書きすることができます。 bz#2486
"ssh-keygen -L" ssh-keyscan(1):複数の証明書(1行に1つ)をサポートし、標準入力から読み込む( "-f - "を使用) ... "フラグを使用して、プレーンキーの代わりに証明書を取得できるようにします。ssh(1):ホスト名の正規化でアンカーされたFQDN(例: 'cvs.openbsd.org。')をうまく扱う - それらを正規のものとして扱い、末尾の '。' ssh_configにマッチする前に。
バグの修正:
sftp(1):既存の宛先ディレクトリは再帰的アップロードを終了してはいけません(opensshの回帰6.8)bz#2528
ssh(1)、sshd(8):鍵交換中に予期しないメッセージにSSH2_MSG_UNIMPLEMENTED応答を正しく返信する。 bz#2949
ssh(1):ConnectionAttempts = 0を設定しようとすると拒否されますが、これは意味をなさないので、sshは初期化されていないスタック変数を出力します。 bz#2500
ssh(1):ホスト名の正規化が有効になっているスコープ付きIPv6アドレスに接続しようとすると、エラーを修正します。
sshd_config(5):Matchブロックで使用可能なオプションをいくつかリストします。 bz#2489
sshd(8):Matchブロック内の "PubkeyAcceptedKeyTypes + ..."を修正します。 ssh(1):アイデンティティファイルが存在するかどうかをチェックする前に、-iオプションに渡されたファイル名のチルド文字を展開します。シェルが展開されない場合(例えば "-i〜/ file"対 "-i〜/ file")の混乱を避ける。 bz#2481ssh(1):特定の環境でコマンドが失敗する原因となる、configファイル内の "Match exec"によって実行されるシェルコマンドに "exec"を付加しないでください。 bz#2471
ssh-keyscan(1):ホストハッシュや非標準ポートが使用されているときに、複数のホスト/ addrsの出力を1行に修正するbz#2479
sshd(8):ChrootDirectoryがアクティブなときに「ホームディレクトリにchdirできませんでした」というメッセージをスキップします。 bz#2485
ssh(1):ssh -G config dumpにPubkeyAcceptedKeyTypesをインクルードします。 sshd(8):既に必要なものがあれば、TunnelForwardingデバイスフラグを変更しないでください。デバイス権限とインタフェースフラグがあらかじめ設定されている場合、root / root以外のユーザとしてtun / tapネットワーキングを使用することができます
ssh(1)、sshd(8):RekeyLimitsを1パケット超えた可能性があります。 bz#2521
ssh(1):マルチプレキシングのマスター障害がクライアント出口に気づくように修正しました。
ssh(1)、ssh-agent(1):空のキーIDを示すPKCS11トークンのためのfatal()を避ける。 bz#1773
sshd(8):NULL引数のprintfを避ける。 bz#2535
ssh(1)、sshd(8):4GBを超えるRekeyLimitsを許可します。 bz#2521
ssh-keygen(1):sshd(8):(未使用の)KRL署名サポートのいくつかのバグを修正しました。ssh(1)、sshd(8):プロトコルの鍵交換推測機能を使用するピアとの接続を修正します。 bz#2515
sshd(8):ログメッセージにリモートポート番号を含めます。 bz#2503
ssh(1):SSHv1をサポートせずにコンパイルしたときにSSHv1秘密鍵をロードしようとしないでください。 bz#2505
ssh-agent(1)、ssh(1):キーの読み込みや署名の間違ったエラーメッセージを修正します。 bz#2507
ssh-keygen(1):known_hostsが存在しないときにknown_hostsファイルを編集するときに空の一時ファイルを残さないでください。
sshd(8):ポートを割り当てない要求のtcpip-forward応答の正しいパケットフォーマットbz#2509
ssh(1)、sshd(8):クローズされた出力に対して可能なハングアップを修正します。 bz#2469 ssh(1):ControlPathの%iをUIDに展開します。 bz#2449
ssh(1)、sshd(8):openssh_RSA_verifyの戻り値の型を修正します。 bz#2460
ssh(1)、sshd(8):メモリリークを構文解析するオプションを修正します。 bz#2182
ssh(1):DNS解決の前にデバッグ出力をいくつか追加します。これは、応答しないDNSサーバの場合に、以前はsshが静かに停止する可能性のある場所です。 bz#2433 ssh(1):視覚的なホストキーで偽の改行を削除する。 bz#2686
ssh(1):HostKeyAlgorithmsの印刷を修正する(ssh -G ...)= + ...
ssh(1):HostkeyAlgorithmsの拡張を修正する= + ...ドキュメンテーション:
ssh_config(5)、sshd_config(5):現在の現実に合わせてデフォルトのアルゴリズムリストを更新します。 bz#2527
ssh(1):-Q key-plainおよび-Q key-certクエリオプションを指定します。 bz#2455
sshd_config(8):AuthorizedKeysFileが何をしているかをより明確に記述します。
ssh_config(5):より良いドキュメントExitOnForwardFailure。 bz#2444
sshd(5):内部DH-GEXフォールバックグループについて説明します。 bz#2302
sshd_config(5):MaxSessionsオプションのより良い説明。 bz#2531
移植性:
ssh(1)、sftp-server(8)、ssh-agent(1)、sshd(8):Illumos / Solarisのきめ細かい特権をサポートします。事前認証privsepサンドボックスといくつかの公約()エミュレーションを含みます。 bz#2511
廃止されたオプションと構文を削除して、redhat / openssh.specを改装してください。
configure:--without-opensslを使用した--with-ssl-engineを許可する
sshd(8):S / Keyを使用して複数の認証を修正します。 bz#2502
sshd(8):権限を削除する前にlibcrypto RAND_から読み返してください。 BoringSSLでのサンドボックス違反を回避します。
システム提供のglob(3)関数と名前の衝突を修正しました。 bz#2463
ホスト鍵を生成するときにssh-keygen -Aを使うようMakefileを適応させる。 bz#2459configure:--with-ssh1の正しいデフォルト値bz#2457
configure:_resシンボルのより良い検出bz#2259
Linuxでgetrandom()syscallをサポート

バージョン7.1の新機能:



セキュリティ:
sshd(8):OpenSSH 7.0にはPermitRootLogin = prohibit-password / without-passwordに論理エラーが含まれていました。コンパイル時の設定によっては、この問題はMantas Mikulenasによって報告されました。
バグの修正:
ssh(1)、sshd(8):FuTTYの互換性回避策を追加する
ssh(1)、sshd(8):WinSCPの互換性の問題を解決する
ssh(1)とssh-keygen(1)で、いくつかのメモリフォールト(ダブルフリー、未初期化メモリなしなど)を修正しました。 Mateusz Kocielskiによって報告されました。

開発者の他のソフトウェア OpenBSD Project

Portable OpenSSH
Portable OpenSSH

22 Jun 18

OpenSMTPD
OpenSMTPD

28 Sep 15

へのコメント OpenSSH

コメントが見つかりません
コメントを追加
画像をオンにする!