Repositori paket distro linux mana yang aman dan mana yang tidak?

14

Sebagian besar distro yang saya kenal memiliki semacam fungsi repositori di mana paket-paket baru dapat diunduh setelah instalasi. Distro mana yang melakukan ini dengan cara yang aman dan mana yang tidak melakukan ini dengan cara yang aman.

Saya terutama berpikir tentang vektor serangan seperti man-in-middle dan masalah seperti pelanggaran keamanan di kedua server meta repositori dan mirror file repositori.

Saya telah mendengar bahwa Slackware dan Arch linux sangat rentan karena mereka tidak memiliki penandatanganan paket. Apakah ini benar? Apakah ada distro linux besar lain yang rentan terhadap serangan sederhana dari orang ke orang?

grm
sumber
jika situs distro adalah cleartext http atau ftp dan distro diperoleh sebagai iso dari koneksi ini dan koneksi dasar ini adalah MITM'ed daripada seberapa bagus yang dilakukan oleh paket 'post-mortem' pada paket pembaruan?
n611x007

Jawaban:

7

Ini bukan jawaban langsung untuk pertanyaan Anda, tetapi ada beberapa hal yang dapat Anda lakukan untuk mengurangi risiko ini. Yang paling sederhana adalah memeriksa paket yang Anda unduh terhadap checksum dari mirror yang berbeda dari yang Anda unduh.

Ketika manajer paket saya ( poldek) mengunduh sebuah paket, saya mengaturnya untuk menyimpan salinan rpm yang diunduh dalam folder cache. Itu secara otomatis memeriksa checksum dari unduhan terhadap repositori paket dan memperingatkan / membatalkan pada ketidakcocokan, tetapi jika Anda khawatir tentang man-in-the-middle diserang terhadap repositori distro Anda akan mudah untuk menulis skrip sekunder yang menelusuri melalui semua paket yang Anda unduh dan verifikasi terhadap checksum yang Anda unduh dari mirror lain. Anda bahkan dapat menjalankan instalasi pertama Anda sebagai dry-run sehingga paket dapat diunduh tetapi tidak diinstal, kemudian jalankan skrip verifikasi Anda, kemudian lakukan instalasi yang sebenarnya.

Ini tidak menghentikan paket yang dikompromikan untuk masuk ke repositori distro, tetapi sebagian besar distro memiliki cara lain untuk mengurangi itu, dan bahkan paket yang ditandatangani tidak akan menjamin ini tidak pernah menjadi masalah. Apa yang dilakukannya adalah menahan vektor serangan man-in-the-middle yang ditargetkan. Dengan menggunakan sumber yang terpisah dan mengunduh di saluran yang terpisah, Anda mematikan kemudahan paket yang dapat dikompromikan menjadi saluran yang disadap.

Caleb
sumber
1
Ada paket untuk Arch paccheckyang melakukan hal ini, membandingkan paket dengan mirror yang berbeda sebelum instalasi dan memperingatkan setiap ketidaksesuaian.
Wolf
Daftar mirror mungkin bersifat publik, jadi tidak bisakah penyerang secara teoritis dapat merencanakan ke MITM semuanya berdasarkan pola? Jika seorang penyerang secara khusus menargetkan server Anda maka bukankah ini tampaknya lebih mungkin? Namun demikian ini kemungkinan besar lebih dari apa yang dilakukan mayoritas Linux.
n611x007
10

Paket Debian adalah checksummed, dan checksum ditandatangani oleh kunci di Debian keyring. The aptmanajer paket memastikan bahwa paket download memiliki checksum yang benar dan bahwa file checksum ditandatangani dengan benar.

jmtd
sumber
5

Paket Fedora ditandatangani dan dicentang. Bahkan repositori pihak ketiga seperti rpmfusion menandatangani paket mereka.

Yum (pengelola paket) memerlukan tanda khusus ( --nogpgcheck) untuk menginstal paket yang belum ditandatangani.

kanak
sumber
dan begitu juga paket-paket downsteam yaitu Red Hat dan CentOS
fpmurphy
3

Semua paket Arch Linux menggunakan jumlah md5 atau sha1 untuk memeriksa bahwa semua bit ada di tempatnya. Terserah pengelola paket untuk memilih algoritma hashing. Paket-paket yang diinstal dari AUR (seringkali hanya file teks PKGBUILD kecil) seharusnya diperiksa oleh installee sebelum diinstal. Repositori yang berisi paket-paket biner resmi diawasi oleh pengguna tepercaya (TU).

Pembaruan : Arch sekarang telah memperkenalkan penandatanganan paket dengan pacman 4

Alexander
sumber
2
Semua benar, tetapi paket tidak ditandatangani dan karenanya tetap rentan terhadap serangan kompromi mitm dan mirroring, betapapun kecilnya kemungkinan. Ini adalah fitur yang lama diminta dan alasan utama mengapa saya berhenti menggunakan Arch. Yang mengatakan, ada diskusi yang sedang berlangsung tentang hal itu di forum Arch dan Pacman dan wiki - ini adalah masalah yang sulit untuk dipecahkan. Terlepas dari masalah ini, Arch adalah distro yang fantastis.
Eli Heady
@Eli: Saya tidak memperdebatkan kebenaran ini - saya tidak tahu keadaannya - tapi bukankah itu pasar yang semakin tipis untuk diserang. Memang, Arch adalah distro yang cukup populer, tetapi bukankah semua jenis kerusakan ini umumnya didasarkan pada kemampuan menghasilkan uang?
boehj
1
Tentu, setelah semua ini adalah alasan penggunaan Windows ditargetkan lebih dari Linux, kan? Masalahnya, apa yang berlaku untuk agregat biasanya tidak persis berlaku untuk individu. Yang saya maksudkan adalah model ancaman semua orang berbeda - jika Anda memiliki alasan untuk takut dipilih untuk suatu serangan, Anda harus mengambil langkah-langkah yang tepat untuk mengurangi risiko. Kurangnya penandatanganan paket menyajikan vektor serangan yang tidak terlalu sulit untuk dieksploitasi. Jika Anda memiliki bit berharga untuk dilindungi, masalah ini harus diperhitungkan dalam strategi mitigasi ancaman Anda.
Eli Heady
Anda bisa menginstal Arch dari CD / DVD dan kemudian berhati-hati untuk memeriksa bahwa jumlah md5 / sha1 dari paket biner sesuai dengan jumlah dari beberapa mirror sebelum menginstal, mirip dengan apa yang disarankan Caleb. Tidak pernah ada keamanan 100% dalam hal apa pun, meskipun saya melihat titik penandatanganan paket, dan berharap Arch memilikinya.
Alexander
jadi bagaimana dicapai bahwa checksum disampaikan dengan cara yang lebih aman yang menghapus http atau ftp? haruskah pengecekan tanda tangan dilakukan dengan cara apa tepatnya itu terjadi pada lengkungan?
n611x007
1

Siapa bilang Slackware tidak memiliki penandatanganan paket?

Paket-paket Slackware ditandatangani dengan kunci publik dari Slackware. Jadi setiap paket memiliki tanda tangan dengan ekstensi .asc. Tidak hanya paket tetapi file lain juga ditandatangani, seperti CHECKSUMS.MD5. Ini berisi daftar checksum dari paket.

Distro memiliki alat resmi yang disebut slackpkguntuk mengunduh / menginstal paket dari cermin. Setelah memperbarui database repo lokal dengan slackpkg updatealat ini memeriksa validitas tanda tangan dari file MD5 baru dan changelog, dll ...

Setelah mengunduh paket (tetapi sebelum menginstal) tanda tangan dan MD5 paket diperiksa.

Seseorang dapat memperoleh kunci publik dengan slackpkg update gpgatau hanya mengimpornya dari CD instalasigpg --import GPG-KEY

Ada alat tidak resmi lainnya slapt-getuntuk Slackware. Ini mendukung pemeriksaan GPG juga! Dengan cara yang sama seperti slackpkg.

pemalas
sumber
-2

OpenBSD sejauh ini. Seluruh proyek ini didedikasikan untuk keamanan, tim bahkan memasang patch lebih dari 5000 untuk apache asli karena mereka merasa itu tidak cukup aman untuk digunakan. Ini melalui pkg_add tetapi saya tidak pernah mengalami masalah dengannya.

baweaver
sumber
4
Anda tidak menjawab pertanyaan: ini khusus tentang memverifikasi tanda tangan paket yang diunduh (dan porta, untuk * BSD).
Gilles 'SANGAT berhenti menjadi jahat'
1
Saya setuju dengan @Gilles; OpenBSD adalah OS yang hebat, tetapi @grm bertanya tentang keamanan distribusi paket Linux.
livingstaccato