Cara memverifikasi integritas gambar ISO distribusi Linux

Cara memverifikasi integritas gambar ISO distribusi Linux

Ketika kami memutuskan untuk menginstal sistem operasi berdasarkan kernel Linux, hal pertama yang kami lakukan adalah mengunduh gambar instalasi, atau ISO, dari situs web distribusi resmi. Namun, sebelum melanjutkan dengan instalasi yang sebenarnya, penting untuk memverifikasi integritas gambar, untuk memastikan itu adalah apa yang diklaimnya, dan tidak ada yang mengkompromikannya. Dalam tutorial ini kita akan melihat langkah -langkah dasar yang dapat kita ikuti untuk menyelesaikan tugas ini.

Dalam tutorial ini Anda akan belajar:

  • Apa perbedaan dasar antara enkripsi dan penandatanganan GPG
  • Cara mengunduh dan mengimpor kunci publik GPG dari server kunci
  • Cara memverifikasi tanda tangan GPG
  • Cara memverifikasi checksum dari ISO
Cara memverifikasi integritas gambar ISO

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distribusi-independen
Perangkat lunak GPG, SHA256SUM (harus diinstal secara default)
Lainnya Tidak ada persyaratan lain
Konvensi # - Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$-Linux-Commands untuk dieksekusi sebagai pengguna biasa


Langkah -langkah yang terlibat dalam memeriksa integritas ISO yang diunduh pada dasarnya adalah dua:

  1. Memverifikasi tanda tangan file yang berisi checksum ISO
  2. Memverifikasi checksum yang disediakan dalam file sama dengan salah satu ISO yang sebenarnya

Di sini kita akan melihat cara melakukan kedua langkah.

Langkah 1

Memverifikasi tanda tangan GPG dari file checksum

Untuk memastikan ISO yang kami unduh tidak diubah, ada satu hal sederhana yang harus dilakukan: periksa apakah checksumnya sesuai dengan yang ditunjukkan dalam file yang biasanya tersedia di halaman yang sama dengan ISO diunduh dari. Hanya ada satu masalah: Bagaimana kita bisa yakin bahwa file ini sendiri belum diubah? Kita harus memeriksa tanda tangan GPG -nya! Ngomong -ngomong, apa itu tanda tangan GPG dan apa perbedaan antara penandatanganan dan enkripsi dengan GPG?

Enkripsi vs penandatanganan

Enkripsi GPG didasarkan pada penggunaan pasangan kunci. Setiap pengguna menghasilkan kunci pribadi dan publik: yang pertama, seperti namanya, benar -benar pribadi, dan harus dijaga seaman mungkin; yang terakhir, sebaliknya, dapat didistribusikan dan diakses secara bebas oleh publik. Pada dasarnya ada dua hal yang dapat kita lakukan dengan GPG: enkripsi dan penandatanganan.

Katakanlah kita memiliki dua orang: Alice dan Bob. Jika mereka ingin mendapat manfaat dari penggunaan GPG, hal pertama yang harus mereka lakukan adalah menukar kunci publik mereka.

Jika Alice ingin mengirim pesan pribadi ke Bob, dan ingin memastikan bahwa hanya Bob yang dapat membaca pesan itu, dia harus mengenkripsi dengan kunci publik Bob. Setelah pesan dienkripsi hanya kunci pribadi Bob akan dapat mendekripsi.

Itu adalah enkripsi GPG; Hal lain yang bisa kita lakukan dengan GPG adalah membuat tanda tangan digital. Misalkan Alice ingin mendistribusikan pesan publik kali ini: semua orang harus dapat membacanya, tetapi metode diperlukan untuk memverifikasi bahwa pesan tersebut otentik dan benar -benar ditulis oleh Alice. Dalam hal ini Alice harus menggunakan kunci pribadinya untuk menghasilkan a tanda tangan digital; Untuk memverifikasi tanda tangan Alice, Bob, (atau orang lain) menggunakan kunci publik Alice.



Contoh Dunia Nyata - Mengunduh dan Memverifikasi Ubuntu 20.04 ISO

Saat kami mengunduh ISO dari situs resmi, kami juga harus mengunduh, untuk memverifikasi itu, kami juga harus mengunduh file checksum yang sesuai dan tanda tangannya. Mari kita buat contoh dunia nyata. Misalkan kita ingin mengunduh dan memverifikasi ISO dari versi terbaru Ubuntu (20.04). Kami menavigasi ke halaman rilis dan gulir ke bagian bawah halaman; Di sana kami akan menemukan daftar file yang dapat diunduh:

Ubuntu 20.04 Rilis Halaman

Seandainya kita ingin memverifikasi dan menginstal versi "desktop" dari distribusi, kita harus mengambil file -file berikut:

  • Ubuntu-20.04-desktop-AMD64.iso
  • SHA256SUMS
  • SHA256SUMS.GPG

File pertama adalah gambar distribusi itu sendiri; file kedua, SHA256SUMS, berisi checksum dari semua gambar yang tersedia, dan kami mengatakan perlu memverifikasi bahwa gambar belum dimodifikasi. File ketiga, Sha256sum.GPG Berisi tanda tangan digital dari yang sebelumnya: kami menggunakannya untuk memverifikasi bahwa itu otentik.

Setelah kami mengunduh semua file, hal pertama yang perlu kami lakukan adalah memverifikasi tanda tangan GPG dari file checksum. Untuk melakukan itu, kita harus menggunakan perintah berikut:

GPG --Verifikasi SHA256SUMS.GPG SHA256SUMS 

Ketika lebih dari satu argumen diberikan kepada GPG --memeriksa Perintah, yang pertama diasumsikan adalah file yang berisi tanda tangan dan yang lainnya berisi data yang ditandatangani, yang dalam hal ini adalah checksum dari gambar Ubuntu. Jika distribusi yang sedang kami kerjakan bukan Ubuntu, dan ini adalah pertama kalinya kami memeriksa gambar Ubuntu, perintah harus mengembalikan hasil berikut:

GPG: Tanda Tangan Dibuat Kamis 23 Apr 2020 03:46:21 PM CEST GPG: Menggunakan kunci RSA D94AA3F0EFE21092 GPG: Tidak dapat memeriksa tanda tangan: Tidak ada kunci publik 


Pesannya jelas: GPG tidak dapat memverifikasi tanda tangan karena kami tidak memiliki kunci publik yang terkait dengan kunci pribadi yang digunakan untuk menandatangani data. Dimana kita bisa mendapatkan kuncinya? Cara termudah adalah mengunduhnya dari a Keyserver: Dalam hal ini kami akan menggunakan Keyserver.Ubuntu.com. Untuk mengunduh kunci dan mengimpornya di keyring kami, kami dapat menjalankan:

$ gpg --keyserver keyserver.Ubuntu.com --recv-keys D94AA3F0EFE21092 

Mari kita luangkan waktu sejenak untuk menjelaskan perintah di atas. Dengan -Keyserver Opsi, kami menentukan keyserver yang ingin kami gunakan; itu -RECV-KEYS Opsi, sebagai gantinya, mengambil file Key-ID sebagai argumen, dan diperlukan untuk merujuk kunci yang harus diimpor dari Keyserver. Dalam hal ini ID kunci yang ingin kami cari dan impor D94AA3F0EFE21092. Perintah harus menghasilkan output ini:

GPG: Kunci D94AAA3F0EFE21092: Kunci publik "Ubuntu CD Gambar Kunci Penandatanganan Otomatis (2012)" GPG yang diimpor: Total Nomor yang Diproses: 1 GPG: Diimpor: 1 

Kami dapat memverifikasi kunci sekarang dalam keyring kami dengan meluncurkan perintah berikut:

$ gpg-list-keys 

Kita harus dengan mudah menemukan entri relatif terhadap kunci yang diimpor:

Pub RSA4096 2012-05-11 [SC] 843938DF228D22F7B3742BC0D94AA3F0EFE21092 UID [Tidak Diketahui] Kunci Penandatanganan Otomatis Ubuntu CD (2012)  

Sekarang kami mengimpor kunci publik, kami dapat melakukan reaksi ulang untuk memverifikasi Sha256sum tanda tangan:

GPG --Verifikasi SHA256SUMS.GPG SHA256SUMS 

Kali ini, seperti yang diharapkan, perintah berhasil, dan kami diberitahu tentang tanda tangan yang baik:

GPG: Tanda Tangan Dibuat Kamis 23 Apr 2020 03:46:21 PM CEST GPG: Menggunakan Kunci RSA D94AAA3F0EFE21092 GPG: Tanda Tangan Bagus dari "Kunci Penandatanganan Otomatis CD Ubuntu tanda tangan tepercaya! GPG: Tidak ada indikasi bahwa tanda tangan milik pemilik. Sidik jari kunci primer: 8439 38df 228d 22f7 B374 2BC0 D94A A3F0 EFE2 1092 


Membaca output di atas, sebuah pertanyaan hampir pasti akan muncul: apa yang dilakukan “Tidak ada indikasi bahwa tanda tangan milik pemilik” pesan berarti? Pesan itu muncul karena bahkan jika kami mengimpor kunci dalam keyring kami, kami belum menyatakannya sebagai tepercaya, dan tidak ada bukti aktual bahwa itu milik pemilik yang ditentukan. Untuk menyingkirkan pesan, kita harus menyatakan bahwa kita mempercayai kunci; bagaimana kita bisa yakin itu sebenarnya harus dipercaya? Ada dua cara:

  1. Secara pribadi memverifikasi kunci milik pengguna atau entitas yang ditentukan;
  2. Periksa apakah itu telah ditandatangani oleh kunci yang sudah kami percayai, secara langsung atau melalui serangkaian kunci perantara.

Selain itu, ada beberapa tingkat kepercayaan yang dapat kami tetapkan ke kunci; Jika Anda tertarik dengan subjek ini (Anda pasti seharusnya!), dan ingin tahu lebih banyak tentang hal itu, Buku Pegangan Privasi GNU adalah sumber informasi yang baik.

Langkah 1

Memverifikasi checksum gambar

Sekarang kami memverifikasi bahwa Sha256sum Signature OK, kami benar -benar dapat melanjutkan dan memverifikasi bahwa checksum dari gambar yang diunduh, sesuai dengan yang sebenarnya disimpan dalam file, yang memiliki konten berikut:

E5B72E9CFE209888991C9CD87BDE43C0B691E3B67B01F76D23F8150615883CE11 *Ubuntu-20.04-desktop-AMD64.ISO CAF3FD69C77C439F162E2BA6040E9C320C4FF0D69AAD1340A514319A9264DF9F *Ubuntu-20.04-live-server-AMD64.iso 

Seperti yang dapat Anda lihat di setiap baris file, kami memiliki checksum yang terkait dengan gambar. Dengan asumsi Sha256sum File terletak di direktori yang sama di mana Ubuntu 20.04 Gambar diunduh, untuk memverifikasi integritas ISO, yang harus kita lakukan adalah menjalankan perintah berikut:

$ sha256sum -c sha256sum 


sha256sum adalah program yang digunakan untuk menghitung dan juga memeriksa pencernaan pesan SHA256. Dalam hal ini kami meluncurkannya menggunakan -C opsi, yang merupakan kependekan dari --memeriksa. Saat opsi ini digunakan, ia menginstruksikan program untuk membaca checksum yang disimpan dalam file yang dilewatkan sebagai argumen (dalam kasus ini Sha256sum) dan verifikasi untuk entri yang terkait. Output perintah di atas, dalam hal ini, adalah sebagai berikut:

Ubuntu-20.04-desktop-AMD64.ISO: OK SHA256SUM: Ubuntu-20.04-live-server-AMD64.ISO: Tidak ada file atau direktori seperti itu Ubuntu-20.04-live-server-AMD64.ISO: Gagal Terbuka atau Baca Sha256Sum: Peringatan: 1 File Terdaftar Tidak Dapat Dibaca 

Dari output kita dapat melihat bahwa Ubuntu-20.04-desktop-AMD64.iso ISO telah diverifikasi, dan checksumnya sesuai dengan yang ditunjukkan dalam file. Kami juga diberi tahu bahwa tidak mungkin untuk membaca dan memverifikasi checksum Ubuntu-20.04-live-server-AMD64.iso Gambar: Ini masuk akal, karena kami tidak pernah mengunduhnya.

Kesimpulan

Dalam tutorial ini kami belajar cara memverifikasi ISO yang diunduh: kami belajar cara memeriksa bahwa checksum sesuai dengan yang disediakan dalam file checksum, dan cara memeriksa tanda tangan GPG dari yang terakhir itu bagus. Untuk memeriksa tanda tangan GPG, kami membutuhkan kunci publik yang sesuai dengan yang pribadi yang menghasilkannya: dalam tutorial kami juga melihat cara mengunduh kunci publik dari Keyserver, dengan menentukan ID -nya.

Tutorial Linux Terkait:

  • Cara memasang gambar iso di linux
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Cara membuka file ISO di ubuntu linux
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Cara menghasilkan dan mencadangkan keypair gpg di linux
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Cara Dual Boot Kali Linux dan Windows 10
  • Unduh Linux
  • Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui