Apakah apt-get
menggunakan https atau jenis enkripsi apa pun? Apakah ada cara untuk mengkonfigurasinya untuk menggunakannya?
Apakah apt-get
menggunakan https atau jenis enkripsi apa pun? Apakah ada cara untuk mengkonfigurasinya untuk menggunakannya?
Jawaban:
apt-get
(dan perintah manipulasi paket lainnya, yang merupakan front-end untuk pustaka APT yang sama) dapat menggunakan HTTP, HTTPS dan FTP (dan sistem file yang dipasang). Jika Anda menentukan https://
URL di /etc/apt/sources.list
dan /etc/apt/sources.list.d/*
, maka APT akan menggunakan HTTPS.
APT memverifikasi tanda tangan paket. Jadi Anda tidak perlu memiliki bentuk transportasi yang menyediakan otentikasi data. Jika penyerang memodifikasi file yang Anda unduh, ini akan diperhatikan. Menggunakan verifikasi tanda tangan lebih baik daripada menggunakan koneksi HTTPS, karena itu akan mendeteksi serangan pada server yang Anda unduh, bukan hanya serangan dalam perjalanan.
Lebih tepatnya, aliran data (disederhanakan) untuk suatu paket adalah sebagai berikut:
HTTPS memastikan bahwa langkah 4 terjadi dengan benar. Tanda tangan paket memastikan bahwa langkah 2 hingga 4 terjadi dengan benar.
Faktanya, ada satu manfaat kecil untuk HTTPS untuk langkah 4: tanda tangan paket hanya memastikan bahwa paket tersebut asli. Seorang penyerang di langkah 4 bisa menyamar sebagai server yang sah dan melayani versi basi paket. Misalnya, penyerang dapat mencegah Anda mengunduh pembaruan keamanan apa pun, dengan harapan mengeksploitasi kerentanan pada mesin Anda yang akan Anda tambal jika bukan karena serangan itu. Ini bukan skenario yang sangat realistis, karena membutuhkan penyerang aktif (sehingga harus menjadi seseorang yang mengendalikan koneksi Internet Anda), tetapi itu bisa terjadi secara prinsip.
Manfaat lain untuk HTTPS adalah jika Anda mencoba menyembunyikan fakta bahwa Anda mengunduh paket Ubuntu dari seseorang yang mengintip koneksi jaringan Anda. Bahkan kemudian, penyadap bisa melihat host apa yang Anda hubungkan; jika Anda terhubung ke mirror Ubuntu dan mengunduh ratusan megabyte, jelas Anda mengunduh paket Ubuntu. Eavesdropper sebagian besar juga bisa mengetahui paket mana yang Anda unduh dari ukuran file. Jadi HTTPS hanya akan berguna jika Anda mengunduh dari server yang juga menawarkan file lain dengan ukuran yang sama - Saya tidak melihat titik apa pun kecuali untuk paket pihak ketiga, dan hanya dalam keadaan yang sangat tidak biasa.
Untuk mengulangi: manfaat biasa dari HTTPS, yaitu Anda tahu Anda terhubung ke server sebenarnya, tidak berguna ketika Anda mengunduh paket Ubuntu. Verifikasi tanda tangan pada paket memberikan jaminan yang lebih kuat daripada yang dapat diberikan HTTPS.
apt-get update
akan melaporkan kesalahan ketika mencoba mengakses tautan. Dengan ppas: sama. Adakah yang pernah mencobanya?
archive.ubuntu.com
tidak . Anda dapat memeriksa di browser Anda jika server mendukungnya dengan mengawali https: // ke URL dan melihat apakah Anda mendapatkan daftar direktori, dll.
Dengan APT, biasanya yang lebih penting bukanlah koneksi Anda dienkripsi, tetapi file yang Anda terima belum dirusak.
APT memiliki verifikasi tanda tangan bawaan untuk memastikan hal ini.
Enkripsi akan mencegah penguping agar tidak dapat melihat apa yang Anda unduh, tetapi apa yang sebenarnya Anda unduh (dan minta) cukup tidak kontroversial: itu akan sama dengan ribuan pengguna Ubuntu lainnya yang mengunduh dan file tidak mengandung apa pun yang bukan. ' t tersedia secara bebas di banyak server. Namun, jika Anda memerlukan privasi tentang paket apa yang sedang Anda unduh, HTTPS dapat digunakan (sebutkan di sources.list Anda).
Verifikasi tanda tangan yang ada di APT akan memastikan bahwa file yang Anda terima belum dirusak. Tidak masalah dari mana file berasal dan bahkan mungkin untuk memiliki proksi atau membalikkan proksi di antara Anda dan server untuk mengurangi beban server atau mempercepat Anda. Verifikasi tanda tangan masih memastikan bahwa Anda mendapatkan file yang tidak dimodifikasi, cocok dengan tanda tangan yang hanya dapat diproduksi secara kriptografi dengan file asli dan salinan kunci pribadi Ubuntu.
Jika Anda beralih ke HTTPS, maka Anda tidak akan dapat memanfaatkan server proxy untuk mempercepat akses atau mengurangi beban lagi. Dan itu tidak akan menambah jaminan lagi tentang tidak merusak bahwa verifikasi tanda tangan APT belum memberikan. Namun, itu berarti bahwa penyadap (seperti ISP Anda) tidak akan dapat melihat paket mana yang Anda unduh (yang kemungkinan tidak akan dirahasiakan, dan seperti yang ditunjukkan Gilles, mereka dapat menebak dari ukuran file).
apt update
dan ada seorang pria di tengah memberi Anda indeks palsu, Anda dengan senang hati mengambil apa pun yang diberikan orang di tengah Anda dan menulisnya di / var / lib / apt / daftar. Ini bukan hanya dengan orang jahat di tengah, tetapi seperti jika Anda menggunakan WiFi hotel dan dialihkan ke halaman masuk, jika Anda menjalankan apt update
sebelum Anda masuk, / var / lib / apt / daftar Anda akan dibuang ke tempat sampah dengan HTML beranda hotel. PALSU! Pokoknya pemeriksaan dasar TLS cert akan mengesampingkan hal ini segera.
Rilis APT baru-baru ini memiliki dukungan TLS bawaan, jadi Anda hanya perlu mengganti URL mirror paket-repositori Anda dengan yang https
-prefixed. Untuk Debian, bisa terlihat seperti ini:
deb https://deb.debian.org/debian/ stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb https://deb.debian.org/debian/ stretch-updates main
Ini berguna, meskipun APT menyertakan protokol tanda tangannya sendiri untuk memastikan paket tidak dirusak, karena mungkin ada bug di APT (seperti yang sudah ada: CVE-2016-1252 , CVE-2019-3462 ). Protokol HTTP / TLS dan kode sandi mereka harus diawasi secara ketat, sehingga kerentanan zero-day yang parah jauh lebih kecil kemungkinannya jika Anda menambahkan lapisan keamanan ini.
Saya pikir pertanyaan ini bisa menggunakan jawaban dengan instruksi untuk orang awam, jadi ...
APT masih tidak menggunakan HTTPS secara default dalam versi harian Ubuntu 19.10 (Eoan) (yang masih dalam pengembangan). Orang dapat memverifikasi ini dengan memeriksa file /etc/apt/sources.list dan mencatat bahwa semua URL sumber menggunakan skema URL "http:".
Untuk mengkonfigurasinya menggunakan HTTPS, seseorang dapat mengikuti instruksi berikut:
Pertama , cari mirror arsip resmi Ubuntu yang dapat dipercaya yang mendukung HTTPS:
Misalnya, saya menganggap Wikimedia Foundation tepercaya, jadi saya mengunjungi http://mirrors.wikimedia.org/ubuntu/ mirror URL dan kemudian mengubahnya menjadi https://mirrors.wikimedia.org/ubuntu/ , yang berhasil diselesaikan.
Jika Anda menggunakan Firefox (67.0.4) dan memiliki ekstensi HTTPS Everywhere (2019.6.27) diinstal dengan fitur "Enkripsi Semua Situs yang Layak" diaktifkan (melalui panel tombol bilah alat), langkah (4) dan (5) dapat dihilangkan karena ekstensi akan secara otomatis mengubah URL untuk memanfaatkan HTTPS, memungkinkan seseorang untuk lebih segera menentukan apakah versi "https:" dari URL akan diselesaikan.
Dua , perbarui daftar sumber APT Anda:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
untuk membuat cadangan daftar sumber pembaruan Anda.sudo sed --in-place --regexp-extended 's http://(us\.archive\.ubuntu\.com|security\.ubuntu\.com) https://mirrors.wikimedia.org g' /etc/apt/sources.list
dengan URL dasar mirror dari cermin pilihan Anda dan, kemudian, jalankan perintah.Ketiga , Anda harus memeriksa isi direktori /etc/apt/sources.list.d/ untuk sumber "http:" yang mungkin diubah menjadi "https:" setelah menginstal perangkat lunak dari luar arsip Ubuntu.
Misalnya, paket Microsoft Visual Studio Code menambahkan file vscode.list ke direktori ini yang menentukan URL "http:". Sederhana mengubah skema URL dari "http:" ke "https:" memungkinkan pembaruan melalui HTTPS.
Pertimbangkan untuk mencadangkan file sumber semacam itu sebelum memodifikasinya.
Terakhir , lakukan pembaruan untuk memastikan bahwa pembaruan akan berfungsi dengan benar:
sudo apt-get update
perintah.sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
perintah.Perlu juga dicatat bahwa ada paket apt-transport-https untuk menambahkan dukungan HTTPS ke APT. Namun, paket ini tampaknya tidak perlu menurut halaman web https://launchpad.net/ubuntu/eoan/+package/apt-transport-https dan belum diperlukan sejak APT 1.5 sesuai dengan informasi yang ditampilkan setelah menjalankan perintah apt-cache show apt-transport-https
.