OpenSSH 8.5 リリース

8.5 か月の開発期間を経て、SSH 2.0 および SFTP プロトコル上で動作するクライアントとサーバーのオープン実装である OpenSSH XNUMX のリリースが発表されました。

OpenSSH 開発者は、特定のプレフィックスによる衝突攻撃の効率が向上するため、SHA-1 ハッシュを使用するアルゴリズムが今後廃止されることを思い出させました (衝突を選択するコストは約 50 万ドルと推定されています)。 今後のリリースの XNUMX つでは、「ssh-rsa」公開鍵デジタル署名アルゴリズムを使用する機能をデフォルトで無効にする予定です。このアルゴリズムは、SSH プロトコルの元の RFC で言及されており、実際に広く普及しています。

システムで ssh-rsa の使用をテストするには、「-oHostKeyAlgorithms=-ssh-rsa」オプションを使用して ssh 経由で接続してみてください。 同時に、デフォルトで「ssh-rsa」デジタル署名を無効にすることは、RSA キーの使用を完全に放棄することを意味するものではありません。これは、SSH プロトコルでは SHA-1 に加えて、他のハッシュ計算アルゴリズムの使用が許可されているためです。 特に、「ssh-rsa」に加えて、「rsa-sha2-256」(RSA/SHA256)および「rsa-sha2-512」(RSA/SHA512)バンドルも引き続き使用できます。

新しいアルゴリズムへの移行をスムーズにするために、OpenSSH 8.5 では UpdateHostKeys 設定がデフォルトで有効になっており、これによりクライアントはより信頼性の高いアルゴリズムに自動的に切り替えることができます。 この設定を使用すると、特別なプロトコル拡張が有効になります。[メール保護]" これにより、サーバーは認証後に、利用可能なすべてのホスト キーをクライアントに通知できるようになります。 クライアントはこれらのキーを ~/.ssh/known_hosts ファイルに反映できます。これにより、ホストキーを更新できるようになり、サーバー上のキーの変更が容易になります。

UpdateHostKeys の使用は、将来削除される可能性のあるいくつかの警告によって制限されています。キーは UserKnownHostsFile で参照されなければならず、GlobalKnownHostsFile では使用されません。 キーは XNUMX つの名前のみで存在する必要があります。 ホスト鍵証明書は使用しないでください。 known_hosts ではホスト名によるマスクを使用しないでください。 VerifyHostKeyDNS 設定を無効にする必要があります。 UserKnownHostsFile パラメータがアクティブである必要があります。

移行に推奨されるアルゴリズムには、RFC2 RSA SHA-256 に基づく rsa-sha512-8332/2 (OpenSSH 7.2 以降サポートされ、デフォルトで使用される)、ssh-ed25519 (OpenSSH 6.5 以降サポート)、および ecdsa-sha2-nistp256/384/521 ベースが含まれます。 RFC5656 ECDSA (OpenSSH 5.7 以降でサポート)。

その他の変更:

  • セキュリティの変更:
    • ssh-agent において、既に解放されたメモリ領域を再度解放すること (ダブルフリー) によって引き起こされる脆弱性が修正されました。 この問題は OpenSSH 8.2 のリリース以来存在しており、攻撃者がローカル システム上の ssh-agent ソケットにアクセスできる場合に悪用される可能性があります。 悪用をさらに困難にしているのは、root と元のユーザーのみがソケットにアクセスできることです。 最も可能性の高い攻撃シナリオは、エージェントが攻撃者によって制御されているアカウント、または攻撃者が root アクセス権を持つホストにリダイレクトされることです。
    • sshd は、ユーザー名を含む非常に大きなパラメーターを PAM サブシステムに渡すことに対する保護を追加しました。これにより、PAM (Pluggable Authentication Module) システム モジュールの脆弱性をブロックできるようになります。 たとえば、この変更により、Solaris で最近発見されたルート脆弱性 (CVE-2020-14871) を悪用するベクターとして sshd が使用されることが防止されます。
  • 互換性を破壊する可能性のある変更:
    • ssh と sshd では、量子コンピュータでの推測に強い実験的な鍵交換方式が再設計されました。 量子コンピューターは、現代の非対称暗号化アルゴリズムの基礎となっており、従来のプロセッサーでは効果的に解決できない、自然数を素因数に分解する問題を根本的に高速に解決します。 使用される方式は、ポスト量子暗号システム用に開発された NTRU Prime アルゴリズムと X25519 楕円曲線鍵交換方式に基づいています。 の代わりに [メール保護] このメソッドは現在次のように識別されています [メール保護] (sntrup4591761 アルゴリズムは sntrup761 に置き換えられました)。
    • ssh および sshd において、サポートされるデジタル署名アルゴリズムの発表順序が変更されました。 ECDSA の代わりに ED25519 が最初に提供されるようになりました。
    • ssh および sshd では、対話型セッションの TOS/DSCP サービス品質パラメータの設定が、TCP 接続を確立する前に行われるようになりました。
    • ssh および sshd での暗号サポートは廃止されました [メール保護]これは aes256-cbc と同一であり、RFC-4253 が承認される前に使用されていました。
    • デフォルトでは、CheckHostIP パラメータは無効になっており、その利点は無視できますが、これを使用すると、ロード バランサの背後にあるホストのキー ローテーションが大幅に複雑になります。
  • クライアント アドレスに基づいてハンドラーの起動強度を制限するために、PerSourceMaxStartups および PerSourceNetBlockSize 設定が sshd に追加されました。 これらのパラメータを使用すると、一般的な MaxStartups 設定と比較して、プロセス起動の制限をより細かく制御できます。
  • 新しい LogVerbose 設定が ssh および sshd に追加されました。これにより、ログにダンプされるデバッグ情報のレベルを強制的に高めることができ、テンプレート、関数、およびファイルでフィルタリングすることができます。
  • ssh では、新しいホスト キーを受け入れると、そのキーに関連付けられたすべてのホスト名と IP アドレスが表示されます。
  • ssh では、UserKnownHostsFile=none オプションを使用して、ホスト キーを識別するときに known_hosts ファイルの使用を無効にすることができます。
  • KnownHostsCommand 設定が ssh の ssh_config に追加され、指定されたコマンドの出力から known_hosts データを取得できるようになりました。
  • SOCKS で RemoteForward オプションを使用するときに宛先を制限できるように、PermitRemoteOpen オプションを ssh の ssh_config に追加しました。
  • FIDO キーの ssh では、間違った PIN によってデジタル署名操作が失敗し、ユーザーに PIN の入力を求められなかった場合 (たとえば、正しい生体認証データが取得できず、デバイスは手動 PIN 入力に戻りました)。
  • sshd は、Linux 上の seccomp-bpf ベースのプロセス分離メカニズムに追加のシステム コールのサポートを追加します。
  • contrib/ssh-copy-id ユーティリティが更新されました。

出所: オープンネット.ru

コメントを追加します