OpenSSH 8.0 版本

經過五個月的開發 提出了 釋放 OpenSSH 8.0,客戶端和服務器的開放實現,用於通過 SSH 2.0 和 SFTP 協議工作。

主要變化:

  • ssh 和 sshd 中加入了對量子電腦上抵抗暴力攻擊的金鑰交換方法的實驗支援。 量子電腦在解決將自然數分解為質因數的問題方面要快得多,這是現代非對稱加密演算法的基礎,並且無法在經典處理器上有效解決。 所提出的方法是基於演算法 NTRU Prime (函數ntrup4591761),為後量子密碼系統開發,以及橢圓曲線密鑰交換方法X25519;
  • 在 sshd 中,ListenAddress 和 PermitOpen 指令不再支援舊的「主機/連接埠」語法,該語法於 2001 年作為「主機:連接埠」的替代方案實施,以簡化 IPv6 的使用。 在現代條件下,IPv6 已經建立了語法“[::1]:22”,而“主機/連接埠”經常與表示子網路 (CIDR) 混淆;
  • ssh、ssh-agent 和 ssh-add 現在支援金鑰 ECDSA 在 PKCS#11 令牌中;
  • 在 ssh-keygen 中,根據新的 NIST 建議,預設 RSA 金鑰大小已增加到 3072 位元;
  • ssh 允許使用「PKCS11Provider=none」設定來覆寫 ssh_config 中指定的 PKCS11Provider 指令;
  • sshd 提供日誌顯示,顯示嘗試執行 sshd_config 中「ForceCommand=internal-sftp」限制阻止的命令時連線終止的情況;
  • 在 ssh 中,當顯示確認接受新主機金鑰的請求時,現在接受金鑰的正確指紋,而不是「是」回應(為了回應確認連接的邀請,使用者可以複製透過剪貼簿單獨接收參考哈希,以免手動比較);
  • ssh-keygen 在命令列上為多個憑證建立數位簽章時提供憑證序號的自動遞增;
  • scp和sftp新增了新選項“-J”,相當於ProxyJump設定;
  • 在 ssh-agent、ssh-pkcs11-helper 和 ssh-add 中,新增了「-v」命令列選項的處理,以增加輸出的資訊內容(指定時,該選項會傳遞給子進程,例如例如,當從ssh-agent 呼叫ssh-pkcs11-helper 時);
  • ssh-add 中新增了「-T」選項,用於測試 ssh-agent 中的金鑰是否適合執行數位簽章建立和驗證操作;
  • sftp-server 實現了對「lsetstat at openssh.com」協定擴充的支持,這增加了對 SFTP 的 SSH2_FXP_SETSTAT 操作的支持,但不遵循符號連結;
  • 向 sftp 新增了「-h」選項,以針對不使用符號連結的請求執行 chown/chgrp/chmod 命令;
  • sshd 為 PAM 提供 $SSH_CONNECTION 環境變數的設定;
  • 對於sshd,ssh_config中新增了「Match Final」匹配模式,與「Match canonical」類似,但不需要啟用主機名稱規範化;
  • 新增了對 sftp '@' 前綴的支持,以停用在批次模式下執行的命令輸出的轉換;
  • 當您使用命令顯示證書的內容時
    “ssh-keygen -Lf /path/certificate”現在顯示 CA 用於驗證憑證的演算法;

  • 改進了對 Cygwin 環境的支持,例如提供不區分大小寫的群組名稱和使用者名稱比較。 Cygwin連接埠中的sshd進程已變更為cygsshd,以避免干擾微軟提供的OpenSSH連接埠;
  • 新增了使用實驗性 OpenSSL 3.x 分支進行建置的能力;
  • 被淘汰 脆弱性 (CVE-2019-6111) 在 scp 公用程式的實作中,當存取攻擊者控制的伺服器時,此公用程式允許在用戶端覆蓋目標目錄中的任意檔案。 問題在於,使用 scp 時,伺服器決定將哪些檔案和目錄傳送給客戶端,而客戶端只檢查傳回的物件名稱的正確性。 客戶端檢查僅限於阻止超出目前目錄(“../”)的傳輸,但不考慮名稱與最初請求的檔案名稱不同的檔案的傳輸。 在遞歸複製(-r)的情況下,除了檔案名稱之外,還可以以類似的方式操作子目錄的名稱。 例如,如果使用者將文件複製到主目錄,則攻擊者控制的伺服器可以產生名為 .bash_aliases 或 .ssh/authorized_keys 的文件,而不是請求的文件,並且它們將由 scp 實用程式保存在使用者的目錄中。主目錄。

    在新版本中,scp 公用程式已更新,可以檢查要求的檔案名稱與伺服器傳送的檔案名稱之間的對應關係,該操作在用戶端執行。 這可能會導致掩碼處理出現問題,因為掩碼擴充字元在伺服器端和用戶端上的處理方式可能不同。 為了防止此類差異導致客戶端停止接受 scp 中的文件,已新增“-T”選項來停用客戶端檢查。 要完全糾正該問題,需要對 scp 協議進行概念性改造,該協議本身已經過時,因此建議使用更現代的協議,例如 sftp 和 rsync。

來源: opennet.ru

添加評論