OpenSSH 8.5 版本

經過五個月的開發,OpenSSH 8.5 發布了,這是一個透過 SSH 2.0 和 SFTP 協定工作的客戶端和伺服器的開放實作。

OpenSSH 開發人員提醒我們,由於給定前綴的衝突攻擊效率提高(選擇衝突的成本估計約為 1 萬美元),使用 SHA-50 雜湊的演算法即將停用。 在即將發布的版本之一中,他們計劃默認禁用使用“ssh-rsa”公鑰數位簽名演算法的功能,該演算法在 SSH 協議的原始 RFC 中提到,並且在實踐中仍然廣泛使用。

要測試 ssh-rsa 在您的系統上的使用情況,您可以嘗試使用“-oHostKeyAlgorithms=-ssh-rsa”選項透過 ssh 連線。 同時,預設禁用「ssh-rsa」數位簽章並不意味著完全放棄使用RSA金鑰,因為除了SHA-1之外,SSH協定還允許使用其他雜湊計算演算法。 特別是,除了“ssh-rsa”之外,仍然可以使用“rsa-sha2-256”(RSA/SHA256)和“rsa-sha2-512”(RSA/SHA512)捆綁包。

為了順利過渡到新演算法,OpenSSH 8.5 預設啟用 UpdateHostKeys 設置,讓客戶端自動切換到更可靠的演算法。 使用此設置,可以啟用特殊的協議擴展“[電子郵件保護]”,允許伺服器在身份驗證後通知客戶端所有可用的主機金鑰。 客戶端可以在其 ~/.ssh/known_hosts 檔案中反映這些金鑰,這允許更新主機金鑰並更容易更改伺服器上的金鑰。

UpdateHostKeys 的使用受到一些將來可能會被刪除的警告的限制:密鑰必須在 UserKnownHostsFile 中引用,並且不能在 GlobalKnownHostsFile 中使用; 密鑰必須僅存在於一個名稱下; 不應使用主機密鑰憑證; 在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(可插入身份驗證模組)系統模組中的漏洞。 例如,此變更可防止 sshd 被用作利用 Solaris 中最近發現的根漏洞 (CVE-2020-14871) 的載體。
  • 可能破壞相容性的變更:
    • 在 ssh 和 sshd 中,重新設計了一種實驗性金鑰交換方法,可以在量子電腦上抵抗猜測。 量子電腦在解決將自然數分解為質因數的問題方面要快得多,這是現代非對稱加密演算法的基礎,並且無法在經典處理器上有效解決。 所使用的方法是基於為後量子密碼系統開發的 NTRU Prime 演算法和 X25519 橢圓曲線金鑰交換方法。 代替 [電子郵件保護] 該方法現在被確定為 [電子郵件保護] (sntrup4591761 演算法已被 sntrup761 取代)。
    • 在 ssh 和 sshd 中,宣布支援的數位簽章演算法的順序已更改。 現在先提供 ED25519,而不是 ECDSA。
    • 在 ssh 和 sshd 中,現在可以在建立 TCP 連線之前完成互動式會話的 TOS/DSCP 服務品質參數設定。
    • ssh 和 sshd 中已停止對密碼的支持 [電子郵件保護],與 aes256-cbc 相同,並在 RFC-4253 獲得批准之前使用。
    • 預設情況下,CheckHostIP 參數處於停用狀態,其好處可以忽略不計,但它的使用會使負載平衡器後面的主機的金鑰輪換變得非常複雜。
  • PerSourceMaxStartups 和 PerSourceNetBlockSize 設定已新增至 sshd,以限制基於客戶端位址啟動處理程序的強度。 與常規 MaxStartups 設定相比,這些參數可讓您更精細地控制進程啟動的限制。
  • ssh 和 sshd 中新增了新的 LogVerbose 設置,它允許您強制提高轉儲到日誌中的偵錯資訊的級別,並能夠按模板、函數和檔案進行過濾。
  • 在 ssh 中,當接受新的主機金鑰時,會顯示與該金鑰關聯的所有主機名稱和 IP 位址。
  • ssh 允許 UserKnownHostsFile=none 選項在識別主機金鑰時停用known_hosts 檔案。
  • KnownHostsCommand 設定已新增至 ssh 的 ssh_config 中,可讓您從指定命令的輸出中取得known_hosts 資料。
  • 在 ssh_config 中新增了 PermitRemoteOpen 選項,讓您在將 RemoteForward 選項與 SOCKS 結合使用時限制目標。
  • 在FIDO 金鑰的ssh 中,如果由於PIN 不正確而導致數位簽章操作失敗且未提示使用者輸入PIN(例如,當無法取得正確的生物辨識資料且無法取得正確的生物辨識資料時),則會提供重複的PIN 請求。裝置退回到手動 PIN 輸入)。
  • sshd 為 Linux 上基於 seccomp-bpf 的進程隔離機制增加了對其他系統呼叫的支援。
  • contrib/ssh-copy-id 實用程式已更新。

來源: opennet.ru

添加評論