Menolak memasang pembaruan keamanan hanya berjarak satu minggu buruk dari menjadi masalah orang lain, dan gateway yang menerima klien adalah tempat termudah untuk menumbuhkan kebiasaan itu. Penyebab biasanya bukan rute yang hilang melainkan keputusan yang hilang: tidak ada yang mengatakan bagaimana host itu sendiri harus menjangkau repositori ketika penerusan klien sengaja dibuat sempit. Keputusan itu harus diambil secara eksplisit, dan cakupannya harus lebih sempit daripada mematikan kebijakan keluar selama satu sore.

Empat tahap, empat pemilik berbeda

Kegagalan pembaruan adalah tahap yang bernama, baik pesannya menyebutkannya maupun tidak, dan setiap tahap dimiliki pihak yang berbeda. Nama yang tidak dapat diselesaikan adalah urusan resolver. Koneksi yang kehabisan waktu adalah urusan transportasi, proksi, atau ujung jauh. Kesalahan identitas TLS adalah urusan kepercayaan, dan metadata arsip yang ditolak adalah urusan tanda tangan. Empat tahap, empat pemilik, dan aturan port hanya pernah menjawab salah satunya.

The failure text mentionsWhich component owns itWhat you check firstWhat you must not change
a name that will not resolvethe resolver policy for this hostwhich resolver is used, and whether its path is permittednothing in the firewall: no repository packet has left yet
a connection that times outrouting, proxy or the far endthe destination, port and proxy the manager actually attemptsthe egress policy, before you know that destination
a TLS identity mismatchtrust configuration and the server's identitythe chain the manager is presented withverification settings, which only hide the mismatch
rejected archive metadatathe repository's signing metadatawhether the source carries valid, trusted metadatathe signature check, which is not a routing question

Ping dan resolusi nama adalah dua uji yang pertama orang pakai, dan keduanya menjawab pertanyaan yang tidak pernah diajukan. Balasan echo memakai protokol berbeda dari koneksi repositori, dan pencarian yang berhasil berhenti pada resolusi nama tanpa menguji pengambilan. Keduanya bisa lolos sementara transaksi sebenarnya gagal, dan keduanya bisa gagal karena alasan yang tidak berhubungan dengan jalur.

Baca jalur yang sebenarnya ditempuh manajer

Periksa URI sumber yang dikonfigurasi dan pengaturan proksi yang berlaku, bukan mengasumsikan salah satunya. Aturan yang ditulis untuk HTTP biasa bukan perbaikan ketika repositori berbicara HTTPS, dan organisasi yang mewajibkan proksi sudah memilih jalurnya. Manajer paket mematuhi variabel lingkungan dan konfigurasinya sendiri, dan pengaturan khusus host dapat menimpa pengaturan global. Apa yang dilakukan peramban interaktif belum tentu sama dengan yang dilakukan manajer.

apt-get update -o Debug::Acquire::http=true
apt-config dump | grep -i proxy
env | grep -i proxy

Dokumentasi transportasi APT menjelaskan pengaturan mana yang berlaku untuk skema URI mana dan bagaimana pilihan khusus host ditulis. Simpan keluaran perintah bersama tiket, karena itu memisahkan masalah proksi dari rute yang hilang lebih cepat daripada berapa pun hasil ping. Catat tujuan, port, dan protokol persis yang dicoba manajer, dan biarkan perubahan firewall bersandar pada catatan itu alih-alih alamat cermin tebakan yang usang dalam hitungan bulan.

Pilih kebijakan pemeliharaan, bukan pengecualian

Tiga kebijakan dapat dipertahankan: memelihara melalui terowongan, memelihara melalui proksi pembaruan terkelola, atau memelihara melalui rute langsung yang diizinkan secara sempit. Masing-masing menyiratkan pengaturan resolver yang sesuai dengannya. Yang tidak dapat dipertahankan adalah pengecualian yang diam-diam menjadi cadangan tanpa batas setiap kali terowongan mati.

Tuliskan kebijakan yang dipilih beserta pemiliknya, karena operator berikutnya akan menemukan aturannya dan bukan alasan di baliknya. Terapkan izin melalui firewall yang ada dan pemilik jaringan, bukan dengan menghapus aturan atau menambahkan manajer kebijakan kedua untuk satu host. Cakup keluarga alamat dan titik akhir layanan yang dipakai sumber sebenarnya, dan tinjau daftar itu ketika repositori berpindah.

Verifikasi tanpa melemahkan kepercayaan

Keberhasilan transportasi bukan izin untuk melonggarkan verifikasi: autentikasi arsip dan identitas server TLS adalah dua pemeriksaan yang berbeda, dan menonaktifkan salah satunya membuat kesalahan hilang sambil mengubah apa yang akan diterima host. Proksi penyadap adalah keputusan kepercayaan pemilik jaringan, bukan alasan untuk mematikan pemeriksaan secara lokal, dan kredensial repositori tidak boleh ada di diagnostik bersama karena log yang bertele-tele adalah tempat termudah untuk membocorkannya.

Terima perubahan dengan pengambilan metadata terkendali yang diikuti satu transaksi paket yang disetujui, lalu uji apa yang terjadi ketika terowongan putus. Jalur pemeliharaan yang diam-diam melebar selama gangguan lebih buruk daripada jalur yang gagal tertutup, dan hasilnya harus berupa jalur pembaruan dengan pemilik yang bernama dan cakupan yang terbatas.

Artikel terkait