Dengan semua paranoia yang datang dengan wahyu NSA dan segalanya, saya bertanya-tanya mengapa mekanisme instalasi paket debian tidak mendukung HTTPS untuk transpornya, apalagi menggunakannya secara default.
Saya tahu paket debian memiliki semacam validasi tanda tangan menggunakan GPG, tapi tetap saya tidak berpikir menggunakan transportasi HTTPS alih-alih HTTP akan terlalu sulit, mengingat betapa pentingnya ini dari segi keamanan.
Sunting: Saya sebagian besar ingin melindungi diri dari serangan MitM (termasuk hanya mengendus lalu lintas), bukan administrator mirror debian. Repositori HTTP menempatkan seluruh pengaturan sistem di atas meja, jika ada yang mengintai lalu lintas saya pergi ke mirror debian.
Jawaban:
Ada. Anda perlu menginstal paket
apt-transport-https
. Maka Anda dapat menggunakan garis sepertidalam
sources.list
file Anda . Tetapi biasanya itu tidak perlu, karena seluruh konten adalah milik umum dan itu menambah overhead dan latensi enkripsi. Karena Anda tidak mempercayai kunci publik penyerang, bahkan lalu lintas http aman dari serangan MitM.apt
akan memperingatkan Anda dan gagal menginstal paket ketika penyerang menyuntikkan paket yang dimanipulasi.EDIT: Seperti yang disebutkan dalam komentar memang lebih aman untuk menggunakan repositori TLS . Penelitian menunjukkan bahwa menggunakan apt pada repositori tidak terenkripsi memang dapat menimbulkan risiko keamanan karena transportasi HTTP rentan terhadap serangan replay.
sumber
Asumsi Anda salah: Anda dapat menggunakan unduhan HTTPS. Anda hanya perlu menemukan cermin yang mendukungnya, dan meletakkan URL-nya di daftar sumber Anda. Anda harus menginstal
apt-transport-https
paket.Debian tidak membuat unduhan HTTPS mudah karena hanya ada sedikit manfaatnya. Distribusi paket Debian sudah termasuk mekanisme untuk memverifikasi paket: semua paket ditandatangani dengan Gpg . Jika seorang man-in-the-middle yang aktif mengalihkan lalu lintas Anda ke server dengan paket yang rusak, korupsi akan terdeteksi karena tanda tangan GPG tidak akan valid. Menggunakan GPG daripada HTTPS memiliki keuntungan yang melindungi terhadap lebih banyak ancaman: tidak hanya terhadap man-in-the-middle yang aktif pada koneksi pengguna akhir, tetapi juga terhadap cermin yang rusak atau terinfeksi atau masalah lain di mana saja dalam rantai distribusi paket .
HTTPS memang memberikan sedikit keuntungan privasi karena mengaburkan paket yang Anda unduh. Namun pengamat pasif masih dapat mendeteksi lalu lintas antara komputer Anda dan server paket, sehingga mereka akan tahu bahwa Anda mengunduh paket Debian. Mereka juga bisa mendapatkan ide bagus tentang paket mana yang Anda unduh dari ukuran file.
Satu tempat di mana HTTPS akan membantu adalah untuk kepercayaan bootstrap, untuk mendapatkan gambar instalasi yang dikenal-valid. Debian tampaknya tidak menyediakan: ada checksum dari media instalasi , tetapi hanya melalui HTTP.
sumber
Baru-baru ini saya menemukan masalah dengan repositori apt Perusahaan saya. Masalahnya adalah bahwa jika kita menggunakan transportasi http standar, orang lain dapat dengan mudah mendapatkan paket. Karena Perusahaan mengemas perangkat lunak miliknya sendiri dan tidak ingin membagikannya kepada semua orang, transportasi http menjadi masalah. Bukan tragedi tapi masalah. Ada beberapa cara bagaimana membatasi akses ke paket - firewall, membatasi akses pada tingkat server web, menggunakan ssh sebagai transportasi. Cukup mudah untuk membaca membaca tentang topik ini dapat ditemukan di sini: Batasi Akses Ke Gudang Debian Pribadi Anda
Dalam kasus kami, kami memutuskan untuk menggunakan https transport + otentikasi sertifikat klien. Secara singkat, yang diperlukan hanyalah:
Konfigurasikan server web yang akan menerima repositori hanya untuk https; Dalam kasus nginx mungkin terlihat seperti:
Masukkan sertifikat klien, kunci klien dan sertifikat ca ke / etc / apt / ssl dan, dalam kasus dengan Ubuntu, tambahkan file 00https ke /etc/apt/apt.conf.d:
Debug::Acquire::https "true"; Acquire::https::example.com { Verify-Peer "true"; Verify-Host "false"; CaInfo "/etc/apt/ssl/ca.crt"; SslCert "/etc/apt/ssl/client.crt"; SslKey "/etc/apt/ssl/client.key"; };
Perlu diingat, bahwa jika Anda menggunakan sertifikat yang ditandatangani sendiri, penting untuk mematikan verifikasi host:
Verify-Host "false";
Jika Anda tidak melakukan ini, Anda akan menemukan kesalahan:SSL: certificate subject name (blah-blah-blah) does not match target host name 'example.com'
Dan di sini kita mulai, tidak ada lagi akses tidak sah ke repositori. Jadi ini hal yang cukup berguna dan kuat.
sumber
Perhatikan bahwa karena kerentanan suka
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1647467
... yang menghindari penandatanganan InRelease, mungkin merupakan ide yang baik untuk mengkonfigurasi HTTPS.
sumber
Untuk kasus penggunaan "anonimitas" ada juga
apt-transport-tor
yang memungkinkan Anda untuk meletakkan URI sepertitor+http://
di file sources.list. Ini adalah perlindungan anonimitas yang jauh lebih baik daripada hanya mengenkripsi koneksi ke mirror Anda.Misalnya, pengamat lokal masih akan tahu bahwa Anda memperbarui atau menginstal perangkat lunak bahkan dengan HTTPS, dan mungkin dapat membuat beberapa tebakan yang layak tentang yang Anda lakukan (dan mungkin bahkan paket mana, berdasarkan ukuran).
Debian menyediakan repositori APT melalui Tor "Onion services" sehingga Anda bisa mendapatkan enkripsi ujung-ke-ujung (mirip dengan TLS) tanpa harus mempercayai sistem nama domain. Lihat onion.debian.org untuk semua layanan Debian yang tersedia dengan cara ini. Repositori FTP Debian utama adalah di
vwakviie2ienjx6t.onion
sumber