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