發布 OpenSSH 8.8,停用 rsa-sha 數位簽章支持

OpenSSH 8.8 版本已經發布,這是使用 SSH 2.0 和 SFTP 協定工作的客戶端和伺服器的開放實作。 此版本的值得注意之處在於預設會停用使用基於 RSA 金鑰和 SHA-1 雜湊(「ssh-rsa」)的數位簽章的功能。

停止支援「ssh-rsa」簽名是由於給定前綴的衝突攻擊效率提高了(選擇衝突的成本估計約為 50 萬美元)。 要測試 ssh-rsa 在您的系統上的使用情況,您可以嘗試使用“-oHostKeyAlgorithms=-ssh-rsa”選項透過 ssh 連線。 自 OpenSSH 256 起支援的 SHA-512 和 SHA-2 雜湊 (rsa-sha256-512/7.2) RSA 簽章支援保持不變。

在大多數情況下,停止對「ssh-rsa」的支援不需要用戶執行任何手動操作,因為 OpenSSH 之前預設啟用 UpdateHostKeys 設置,該設置會自動將客戶端遷移到更可靠的演算法。 對於遷移,協定擴展“[電子郵件保護]”,允許伺服器在身份驗證後通知客戶端所有可用的主機金鑰。 如果在客戶端連接到具有非常舊版本的 OpenSSH 的主機,您可以透過新增至 ~/.ssh/config 選擇性地傳回使用「ssh-rsa」簽署的功能: Host old_hostname HostkeyAlgorithms +ssh-rsa PubkeyAcceptedAlgorithms + SSH -RSA

新版本也解決了 sshd 造成的安全性問題,從 OpenSSH 6.2 開始,執行 AuthorizedKeysCommand 和 AuthorizedPrincipalsCommand 指令中指定的命令時無法正確初始化使用者群組。 這些指令本來應該允許命令在不同的使用者下運行,但實際上它們繼承了運行 sshd 時使用的群組列表。 在存在某些系統設定的情況下,此行為可能允許啟動的處理程序取得系統上的額外權限。

新的發行說明還包含一條警告,指出 scp 將預設使用 SFTP,而不是舊版 SCP/RCP 協定。 SFTP 使用更可預測的名稱處理方法,並且不會對另一主機端的檔案名稱中的 glob 模式使用 shell 處理,這會產生安全性問題。 特別是,當使用 SCP 和 RCP 時,伺服器決定將哪些檔案和目錄傳送給客戶端,客戶端只檢查傳回的物件名稱的正確性,這在客戶端沒有進行適當檢查的情況下,允許伺服器傳輸與請求的檔案名稱不同的其他檔案名稱。 SFTP協定不存在這些問題,但不支援「~/」等特殊路徑的擴展。 為了解決這個差異,在先前版本的 OpenSSH 中,在 SFTP 伺服器的實作中提出了對 SFTP 協定的新擴展,以擴展路徑 ~/ 和 ~user/。

來源: opennet.ru

添加評論