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?
Jawaban:
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.
sumber
paccheck
yang melakukan hal ini, membandingkan paket dengan mirror yang berbeda sebelum instalasi dan memperingatkan setiap ketidaksesuaian.Paket Debian adalah checksummed, dan checksum ditandatangani oleh kunci di Debian keyring. The
apt
manajer paket memastikan bahwa paket download memiliki checksum yang benar dan bahwa file checksum ditandatangani dengan benar.sumber
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.sumber
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
sumber
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, sepertiCHECKSUMS.MD5
. Ini berisi daftar checksum dari paket.Distro memiliki alat resmi yang disebut
slackpkg
untuk mengunduh / menginstal paket dari cermin. Setelah memperbarui database repo lokal denganslackpkg update
alat 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 gpg
atau hanya mengimpornya dari CD instalasigpg --import GPG-KEY
Ada alat tidak resmi lainnya
slapt-get
untuk Slackware. Ini mendukung pemeriksaan GPG juga! Dengan cara yang sama sepertislackpkg
.sumber
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.
sumber