Ubuntu 23.10 將引入安全增強的 PPA
Ubuntu 23.10 正在修改 PPA 的管理方式。
Ubuntu 的升級不斷地增強功能并添加安全修復程序。但是,很少見到一些核心機制的更改。
在 Ubuntu 23.10 中,PPA 的功能得到了改進。至少,你在終端中看到警告會更少。
這是什么意思呢?讓我詳細說明一下。
GPG 密鑰問題
傳統(tǒng)上,PPA 和其他外部存儲庫是通過 /etc/apt/sources.list.d/
中的 .list
來源列表文件進行管理的。此外,還有一個關(guān)聯(lián)的 GPG 密鑰環(huán)被放在 /etc/apt/trusted.gpg.d
中。
這被認為是一個潛在的安全問題,因為 GPG 密鑰是在系統(tǒng)級別上添加的。
怎么回事?想象一下,你為存儲庫 A 添加密鑰以獲取包 AA,并從存儲庫 B 獲取包 BB。你的系統(tǒng)將很樂意接受用存儲庫 A 的密鑰簽名的 BB 包。因為它無法將密鑰與其各自的包關(guān)聯(lián)起來。
這是個問題,對吧?這種舊機制正在逐步淘汰。現(xiàn)在,GPG 密鑰信息將添加到外部存儲庫本身的 sources.list
中。這樣,GPG 密鑰將只接受其對應存儲庫的軟件包。
現(xiàn)有的 Ubuntu 用戶可能已經(jīng)遇到了使用 /etc/apt/trusted.gpg.d
中的舊方法添加 GPG 密鑰時出現(xiàn)的 apt-key is deprecated
警告。
以下是舊的 添加外部存儲庫 的方法的示例:
sudo apt install apt-transport-https curl
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'
sudo apt update && sudo apt install yarn
PPA 將使用新的 GPG 密鑰機制
現(xiàn)在,PPA 與添加外部存儲庫略有不同。在這里,你不需要手動導入 GPG 密鑰并將其添加到 /etc/apt/trusted.gpg.d
目錄中。
sudo add-apt-repository ppa:dr-akulavich/lighttable
sudo apt-get update
sudo apt-get install lighttable-installer
直到現(xiàn)在,所有事情都由 PPA 機制自己處理,與 PPA 相關(guān)聯(lián)的 GPG 密鑰會自動添加到 /etc/apt/trusted.gpg.d
目錄中。用戶在這里不需要做任何事情。
在 Ubuntu 23.10 中,引入了一種新的方法。
現(xiàn)在,PPA 將作為 deb822 格式的 .sources
文件添加,其中密鑰直接嵌入文件的 Signed-By
字段中。
使用這種方法,可以獲得以下一些優(yōu)點:
- 當刪除存儲庫時,相關(guān)的密鑰也會被刪除。
- PPA 與其密鑰之間一一對應。沒有安全問題。
在揭示這一消息的郵件列表中也提到:
該密鑰專門用于特定的 PPA,無法用于其他存儲庫(與舊的存放所有存儲庫的源列表的
trusted.gpg.d
不同)。其他密鑰不能用于簽署該 PPA。
總的來說,新的 PPA 版本將減少 “Key is stored in legacy trusted.gpg keyring” 和 “Manage keyring files in trusted.gpg.d instead” 警告。
我認為 Ubuntu 應該早些時候就引入這個改變,但遲到總比沒有好。 ??
你對 Ubuntu 處理 PPA 的這個新改變有什么想法?請讓我知道你的想法。