GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Halaman Man Apt-key Menyarankan Untuk Tidak Menggunakan Perintah Tambahnya?

Halaman manual Ubuntu untuk apt-key menyertakan catatan berikut mengenai apt-key add :

Catatan:Daripada menggunakan perintah ini, keyring harus ditempatkan
langsung di direktori /etc/apt/trusted.gpg.d/ dengan nama deskriptif
dan "gpg" atau "asc" sebagai file ekstensi.

Saya rasa saya belum pernah melihat saran ini di tempat lain. Sebagian besar proyek yang meng-host repositori mereka sendiri mengatakan untuk mengunduh file kunci mereka dan menambahkannya dengan apt-key .

  1. Apa motivasi di balik saran ini?
  2. Apakah ini Ubuntu-isme, atau berlaku untuk distro berbasis APT mana pun?

Jawaban yang Diterima:

Proyek-proyek itu memiliki instruksi yang sudah ketinggalan zaman. Saya tahu ini karena saya menerbitkan repositori Debian dan saya memperbarui instruksi saya ketika saya mengetahui tentang perubahan di Debian 9 APT. Memang, bagian manual ini sekarang sudah ketinggalan zaman, karena direktorinya salah.

Ini sebenarnya tidak ada hubungannya dengan .d direktori dan lebih berkaitan dengan mencegah kerentanan lintas situs di APT. Sistem yang lebih lama menggunakan file keyring terpisah untuk kenyamanan, tetapi ini sekarang menjadi kebutuhan untuk keamanan; Anda keamanan.

Inilah kerentanannya. Pertimbangkan dua penerbit repositori, A dan B. Di dunia Debian 8 dan sebelumnya, kedua kunci penerbit masuk dalam satu keyring global pada mesin pengguna. Jika penerbit A entah bagaimana dapat mengatur untuk menggantikan situs WWW repositori penerbit B, maka A dapat menerbitkan paket subversif, ditandatangani dengan kunci A sendiri , yang dengan senang hati akan diterima dan diinstal oleh APT. Bagaimanapun, kunci A adalah tepercaya secara global untuk semua repositori.

Mitigasinya adalah agar pengguna menggunakan gantungan kunci terpisah untuk masing-masing penerbit , dan untuk mereferensikan gantungan kunci tersebut dengan Signed-By individual pengaturan dalam definisi repositori mereka. Secara khusus, kunci penerbit A hanya digunakan di Signed-By dari repositori A dan kunci penerbit B hanya digunakan di Signed-By dari repositori B. Dengan cara ini, jika penerbit A menggantikan repositori penerbit B, APT tidak akan menerima paket subversif darinya karena paket tersebut dan repositori ditandatangani oleh kunci penerbit A, bukan oleh penerbit B.

/etc/apt/trusted.gpg.d mekanisme yang ada adalah rumah singgah dari Orang Miskin yang lebih tua yang agak cacat menuju ini, dari tahun 2005 atau lebih, itu tidak cukup baik. Ini mengatur keyring dalam file terpisah, sehingga dapat dikemas dan hanya diinstal dalam satu langkah oleh manajer paket (atau diunduh dengan fetch /curl /wget ) seperti file lainnya. (Manajer paket menangani pencegahan ini-is-saya-repositori-keyring khusus penerbit A paket dari menginstal melalui penerbit B, dengan cara biasa menangani konflik file antar paket secara umum.) Tetapi masih menambahkannya ke set kunci yang tepercaya secara global untuk semua repositori. Mekanisme lengkap yang ada sekarang menggunakan yang terpisah, bukan file keyring tepercaya secara global di /usr/share/keyrings/ .

Instruksi saya sudah ada. Ada langkah untuk memindahkan repositori Debian sendiri ke mekanisme ini, sehingga mereka juga tidak lagi menggunakan kunci tepercaya secara global. Anda mungkin ingin berbicara dengan "sebagian besar proyek" yang Anda temukan. Lagi pula, mereka saat ini menginstruksikan Anda untuk menyerahkan akses global ke APT di mesin Anda kepada mereka.

Terkait:Slack – pintasan atau perintah untuk memulai utas di Slack?

Bacaan lebih lanjut

  • Daniel Kahn Gillmor (2017-05-02). Harap kirimkan kunci khusus rilis secara terpisah di luar /etc/apt/trusted.gpg.d/ . Bug Debian #861695.
  • Daniel Kahn Gillmor (27-07-2017). debian sources.list entri harus memiliki opsi masuk yang menunjuk ke kunci tertentu . Bug Debian #877012.
  • “Entri sumber.daftar”. Petunjuk untuk terhubung ke repositori pihak ketiga . wiki Debian. 2018.
  • Mengapa tidak menambah risiko keamanan ke sources.list?
  • Debian 9, APT, dan “Galat GPG:… InRelease:Tanda tangan berikut tidak valid:”

Linux
  1. Bagaimana Cara Menambahkan Entri Halaman Man Untuk Power Tools Sendiri?

  2. Saat Menggunakan Vlc, Mengapa Screen Saver Terus Bangun?

  3. Mengapa Manusia Mencetak "gimme Gimme Gimme" Pada 00:30?

  1. Menggunakan kekuatan di baris perintah Linux

  2. Bagaimana Cara Kerja Perintah Tee??

  3. Tambahkan beberapa waktu tertentu saat menggunakan tanggal perintah linux

  1. Apa Arti Angka Dalam Halaman Man?

  2. Menggunakan –exclude Dengan Perintah Du?

  3. Mengapa ID Lun World Wide Dimulai dengan Angka 3 di Linux dm-multipath