OpenSSH 8.4 版本

經過四個月的開發 提出了 OpenSSH 8.4 的發布,這是一個使用 SSH 2.0 和 SFTP 協定工作的開放客戶端和伺服器實作。

主要變化:

  • 安全變更:
    • 在ssh-agent 中,當使用不是為SSH 驗證建立的FIDO 金鑰(金鑰ID 不以字串「ssh:」開頭)時,它現在會檢查是否將使用SSH 協定中使用的方法對訊息進行簽名。 此變更將不允許ssh-agent 重定向到具有FIDO 金鑰的遠端主機,以阻止使用這些金鑰為Web 驗證請求產生簽章的能力(相反的情況,當瀏覽器可以簽署SSH 請求時,最初被排除由於在密鑰標識符中使用了“ssh:”前綴)。
    • ssh-keygen 的駐留金鑰產生包括對FIDO 2.1 規範中描述的credProtect 附加元件的支持,該附加元件透過在執行可能導致從令牌中提取駐留金鑰的任何操作之前要求PIN 來為金鑰提供額外的保護。
  • 可能破壞相容性的變更:
    • 為了支援 FIDO/U2F,建議使用 libfido2 函式庫至少版本 1.5.0。 使用舊版的功能已部分實現,但在這種情況下,駐留金鑰、PIN 請求和連接多個令牌等功能將無法使用。
    • 在 ssh-keygen 中,驗證確認數位簽章所需的驗證器資料已新增至確認資訊的格式中,可在產生 FIDO 金鑰時選擇性地儲存。
    • OpenSSH 與存取 FIDO 令牌的層互動時使用的 API 已變更。
    • 當構建 OpenSSH 的便攜式版本時,現在需要 automake 來生成配置腳本和隨附的構建文件(如果從已發布的代碼 tar 文件構建,則不需要重新生成配置)。
  • 新增了對需要在 ssh 和 ssh-keygen 中進行 PIN 驗證的 FIDO 金鑰的支援。 為了使用 PIN 產生金鑰,ssh-keygen 中新增了「verify-required」選項。 如果使用此類金鑰,則在執行簽章建立操作之前,系統會提示使用者輸入 PIN 碼來確認其操作。
  • 在 sshd 中,「verify-required」選項是在authorized_keys 設定中實現的,這需要使用令牌操作期間驗證使用者是否存在的功能。 FIDO 標準為此類驗證提供了多種選項,但目前 OpenSSH 僅支援基於 PIN 的驗證。
  • sshd 和 ssh-keygen 增加了對驗證符合 FIDO Webauthn 標準的數位簽章的支持,該標準允許在 Web 瀏覽器中使用 FIDO 金鑰。
  • 在 ssh 中的 CertificateFile 設定中,
    ControlPath、IdentityAgent、IdentityFile、LocalForward 和
    RemoteForward 允許替換以「${ENV}」格式指定的環境變數中的值。

  • ssh 和 ssh-agent 新增了對 $SSH_ASKPASS_REQUIRE 環境變數的支持,該變數可用於啟用或停用 ssh-askpass 呼叫。
  • 在 ssh 的 ssh_config 中的 AddKeysToAgent 指令中,新增了限制金鑰有效期的功能。 指定的限製到期後,金鑰會自動從 ssh-agent 中刪除。
  • 在 scp 和 sftp 中,使用「-A」標誌,您現在可以明確允許使用 ssh-agent 重新導向至 scp 和 sftp(預設為停用重定向)。
  • 在 ssh 設定中新增了對「%k」替換的支持,該替換指定主機金鑰名稱。 此功能可用於將金鑰分發到單獨的檔案中(例如,「UserKnownHostsFile ~/.ssh/known_hosts.d/%k」)。
  • 允許使用“ssh-add -d -”操作從標準輸入讀取要刪除的金鑰。
  • 在 sshd 中,連接修剪過程的開始和結束反映在日誌中,並使用 MaxStartups 參數進行調節。

OpenSSH 開發人員也回顧了即將停用使用 SHA-1 雜湊值的演算法,因為 晉升 給定前綴的碰撞攻擊的有效性(選擇碰撞的成本估計約為 45 美元)。 在即將發布的版本之一中,他們計劃默認禁用使用 ssh-rsa 公鑰數字簽名算法的功能,該算法在 SSH 協議的原始 RFC 中提到,並且在實踐中仍然廣泛存在(以檢查 ssh 的使用情況) -rsa 在您的系統中,您可以嘗試通過 ssh 使用“-oHostKeyAlgorithms=-ssh-rsa”選項進行連接)。

為了順利過渡到 OpenSSH 中的新演算法,下一版本將預設啟用 UpdateHostKeys 設置,這將自動將客戶端遷移到更可靠的演算法。 建議的遷移演算法包括基於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 起支援)。

來源: opennet.ru

添加評論