Arch-Linux

arch linux pacstrap 實用程序是否將有關主機的任何資訊放入組裝的系統中

  • May 5, 2018

作為原型 arch linux 映像生成腳本的一部分(可以在此處查看程式碼審查),我使用普通的 pacstrap 實用程序來填充具有可引導安裝和附加包的文件系統。

此/包含在新文件系統安裝中的有關主機的哪些資訊?

我主要擔心的是在我上傳或分發生成的文件系統映像時無意中釋放了安全或可辨識資訊。

我的第二個擔心是文件系統映像以某種方式針對我的硬體(超過 64 位 amd/intel)量身定制,因此無法在其他設備上啟動或正常執行。

根據檢查使用 pacstrap 生成的最小測試圖像並查看 pacstrap 幫助,至少以下資訊似乎已移至新系統:

  • 包儲存庫列表及其身份驗證。
  • 你 pacman密鑰環(這是一個信任風格的身份驗證網路。

這兩者至少可以洩露一些身份資訊,並且密鑰環可能包含您的身份,具體取決於您之前的活動。

如果您有一個私有/組織包儲存庫,它是一個本地鏡像以加速操作/減少網際網路流量或包含“已批准”包,那麼您的鏡像列表提供內部網路詳細資訊。

您的 pacman 密鑰環可以包含指向您的GnuPG公鑰的連結,也可以包含您組織中其他人的連結,以獲取您/您的公司獨有的軟體包。允許訪問和分析您的密鑰環可以讓攻擊者找到不常用的密鑰作為圖像的可能發起者標識。

其中大部分可能只對製定了攻擊緩解策略的組織有意義(減少不必要的資訊量,而不考慮明顯的風險,作為一種簡單的風險降低措施,因為很難準確地預測什麼可能變得重要)。

pacman 幫助為您提供了一種不移動它們的方法:

$ pacstrap -h
usage: pacstrap [options] root [packages...]

 Options:
   -C config      Use an alternate config file for pacman
   -c             Use the package cache on the host, rather than the target
   -G             Avoid copying the host's pacman keyring to the target
   -i             Avoid auto-confirmation of package selections
   -M             Avoid copying the host's mirrorlist to the target

   -h             Print this help message

pacstrap installs packages to the specified new root directory. If no packages
are given, pacstrap defaults to the "base" group.

因此 -G 和 -M 選項將阻止複制此資訊,但是您必須在新安裝時重新填充這些資訊。可以使用以下方法生成新的密鑰環:

pacman-key --init && pacman-key --populate archlinux

可以準備一個“適當的”鏡像列表(無論對給定情況意味著什麼)並將其放置在 /etc/pacman.d/mirrorlist

引用自:https://unix.stackexchange.com/questions/439177