Kako preveriti kontrolni znesek za Linux ISO in potrditi, da ni bil spremenjen
Prejšnji mesec je bila spletna stran Linux Mint hacked, in spremenjeni ISO je bila dana za prenos, ki je vključevala backdoor. Čeprav je bila težava hitro odpravljena, kaže na pomembnost preverjanja datotek, ki jih prenesete, preden jih zaženete in namestite. Evo kako.
Linux distribucije objavljajo kontrolne vsote, tako da lahko potrdite, da so datoteke, ki jih prenesete, tiste, za katere trdijo, da so, in ti so pogosto podpisani, tako da lahko preverite, ali sami kontrolni zneski niso bili spremenjeni. To je še posebej uporabno, če prenesete ISO od nekje, ki ni glavno mesto, kot je zrcalo tretje osebe, ali prek BItTorrenta, kjer je ljudem veliko lažje spreminjati datoteke.
Kako ta proces deluje
Postopek preverjanja ISO je malce zapleten, zato, preden se lotimo natančnih korakov, pojasnimo natančno, kaj proces vključuje:
- Datoteko Linux ISO boste prenesli s spletne strani distribucije Linuxa - ali nekje drugje - kot ponavadi.
- Na spletnem mestu distribucije Linux boste prenesli kontrolno vsoto in njen digitalni podpis. To sta lahko dve ločeni datoteki TXT ali pa dobite eno datoteko TXT, ki vsebuje oba dela podatkov.
- Dobili boste javni PGP ključ, ki pripada distribuciji Linuxa. To lahko dobite na spletni strani distribucije Linuxa ali na ločenem strežniku ključev, ki ga upravljajo isti ljudje, odvisno od vaše distribucije Linuxa.
- Za preverjanje, ali je digitalni podpis kontrolne vsote ustvarila ista oseba, ki je izdelala ključ - v tem primeru vzdrževalci te distribucije Linuxa, boste uporabili ključ PGP. To potrjuje, da samo kontrolna vsota ni bila spremenjena.
- Ustvarili boste kontrolno vsoto prenesene datoteke ISO in preverili, ali se ujema s TXT datoteko kontrolne vsote, ki ste jo prenesli. To potrjuje, da datoteka ISO ni bila spremenjena ali poškodovana.
Postopek se lahko razlikuje za različne ISO-je, vendar običajno sledi temu splošnemu vzorcu. Na primer, obstaja več različnih vrst kontrolnih vsot. Tradicionalno so bile najbolj priljubljene vsote MD5. Vendar pa se danes s sodobnimi distribucijami Linuxa pogosteje uporabljajo zneski SHA-256, saj je SHA-256 bolj odporen na teoretične napade. Tukaj bomo v glavnem razpravljali o zneskih SHA-256, čeprav bo podoben proces delal za vsote MD5. Nekateri distrosi Linuxa lahko prav tako zagotovijo vsote SHA-1, čeprav so ti še manj pogosti.
Podobno nekateri distrosi ne podpišejo svojih kontrolnih vsot s PGP. Izvesti boste morali le korake 1, 2 in 5, vendar je postopek veliko bolj ranljiv. Konec koncev, če lahko napadalec zamenja datoteko ISO za prenos, lahko tudi nadomesti kontrolno vsoto.
Uporaba PGP-ja je veliko varnejša, vendar ne varna. Napadalec bi lahko še vedno zamenjal javni ključ z lastnim, vendar bi vas še vedno lahko prevaral, ko ste mislili, da je ISO zakonit. Če pa je javni ključ gostitelj na drugem strežniku - kot je to v primeru Linux Mint - to postane precej manj verjetno (ker bi morali namesto enega samo vdirati v dva strežnika). Če pa je javni ključ shranjen na istem strežniku kot ISO in kontrolna vsota, kot je to v primeru nekaterih distros, potem ne ponuja toliko varnosti.
Kljub temu, če želite preveriti podpis PGP na datoteki kontrolne vsote in nato preveriti vaš prenos s to kontrolno vsoto, je to vse, kar lahko razumno storite kot končni uporabnik, ki prenaša Linux ISO. Še vedno si veliko varnejši od ljudi, ki se ne trudijo.
Kako preveriti kontrolno vsoto na Linuxu
Za primer bomo uporabili Linux Mint, vendar boste morda morali poiskati spletno stran distribucije Linuxa in poiskati možnosti preverjanja, ki jih ponuja. Za Linux Mint, sta na voljo dve datoteki skupaj s prenosom ISO na svojih prenosnih ogledalih. Prenesite ISO in nato prenesite datoteke »sha256sum.txt« in »sha256sum.txt.gpg« v računalnik. Z desno tipko miške kliknite datoteke in izberite »Shrani povezavo kot«, da jih prenesete.
Na namizju Linux odprite okno terminala in prenesite ključ PGP. V tem primeru je ključ PGP ključa Mint Linuxa nameščen na strežniku ključev Ubuntuja, zato moramo zagnati naslednji ukaz, da ga dobimo..
gpg --keyserver hkp: //keyserver.ubuntu.com --recv-tipke 0FF405B2
Spletna stran vašega distrofa vas bo usmerila proti ključu, ki ga potrebujete.
Zdaj imamo vse, kar potrebujemo: ISO, datoteko kontrolne vsote, datoteko digitalnega podpisa kontrolne vsote in ključ PGP. Torej, naslednjič, spremenite v mapo, ki ste jo prenesli v…
cd ~ / Prenosi
… In zaženite naslednji ukaz, da preverite podpis datoteke preverjene vsote:
gpg --verify sha256sum.txt.gpg sha256sum.txt
Če vam ukaz GPG sporoči, da ima datoteka sha256sum.txt »dober podpis«, lahko nadaljujete. V četrti vrstici spodnjega posnetka zaslona GPG nas obvešča, da je to "dober podpis", ki trdi, da je povezan z Clementom Lefebvrejem, ustvarjalcem Linux Minta.
Ne skrbite, da ključ ni potrjen z »zaupnim podpisom«. To je zaradi načina delovanja šifriranja PGP - niste vzpostavili spleta zaupanja tako, da uvozite ključe od zaupanja vrednih ljudi. Ta napaka bo zelo pogosta.
Nazadnje, zdaj ko vemo, da je kontrolni znesek ustvaril vzdrževalci Mint Linux, zaženite naslednji ukaz za generiranje kontrolne vsote iz prenesene datoteke .iso in ga primerjajte s TXT datoteko, ki ste jo prenesli:
sha256sum - preverite sha256sum.txt
Videli boste veliko sporočil »brez take datoteke ali imenika«, če ste prenesli samo eno datoteko ISO, vendar bi morali videti sporočilo »OK« za datoteko, ki ste jo prenesli, če se ujema s kontrolno vsoto.
Ukaze nadzorne vsote lahko zaženete tudi neposredno v datoteki .iso. Preverila bo datoteko .iso in izpljunila nadzorno vsoto. Nato lahko samo preverite, ali se ujema z veljavno kontrolno vsoto, tako da pogledate obe z očmi.
Na primer, da bi dobili vsoto SHA-256 datoteke ISO:
sha256sum /path/to/file.iso
Ali, če imate vrednost md5sum in morate dobiti datoteko md5sum:
md5sum /path/to/file.iso
Primerjajte rezultat s TXT datoteko kontrolne vsote, da vidite, ali se ujemata.
Preverjanje kontrolne vsote v operacijskem sistemu Windows
Če prenesete Linux ISO iz računalnika z operacijskim sistemom Windows, lahko preverite tudi kontrolno vsoto, čeprav Windows nima vgrajene potrebne programske opreme. Tako boste morali prenesti in namestiti orodje odprte kode Gpg4win.
Poiščite datoteke s ključem za podpisovanje vašega distroma za Linux in datoteke kontrolne vsote. Tukaj bomo uporabili Fedoro. Na spletnem mestu Fedore so na voljo prenosi kontrolnih vsot in nam pove, da lahko prenesemo ključ za podpis Fedore iz https://getfedora.org/static/fedora.gpg.
Ko prenesete te datoteke, boste morali namestiti ključ za podpisovanje s programom Kleopatra, ki je vključen v Gpg4win. Zaženite Kleopatra in kliknite Datoteka> Uvozi potrdila. Izberite datoteko .gpg, ki ste jo prenesli.
Zdaj lahko preverite, ali je bila prenesena datoteka za nadzor podpisana z eno od ključnih datotek, ki ste jih uvozili. To naredite tako, da kliknete Datoteka> Dešifriraj / Preveri datoteke. Izberite preneseno datoteko kontrolne vsote. Odznačite možnost »Vhodna datoteka je ločen podpis« in kliknite »Dešifriraj / Preveri«.
Če to storite na ta način, boste zagotovo videli sporočilo o napaki, saj niste potrdili, da so potrdila Fedora dejansko zakonita. To je težja naloga. Tako je PGP zasnovan tako, da dela - srečate in izmenjujete ključe osebno, na primer, in združite mrežo zaupanja. Večina ljudi ga ne uporablja na ta način.
Lahko pa si ogledate več podrobnosti in potrdite, da je bila datoteka za nadzorno vsoto podpisana z enim od tipk, ki ste jih uvozili. To je veliko bolje kot samo zaupanje preneseni datoteki ISO brez preverjanja.
Zdaj lahko izberete File> Verify Checksum Files in potrdite, da se podatki v datoteki s kontrolno vsoto ujemajo s preneseno datoteko .iso. Vendar pa to za nas ni delovalo - morda je to le način, na katerega je določena datoteka Fedorove kontrolne vsote. Ko smo to poskusili z datoteko sha256sum.txt za Linux Mint, je delala.
Če to ne deluje za vašo izbiro Linux distribucije, je to rešitev. Najprej kliknite Nastavitve> Konfiguriraj Kleopatra. Izberite »Crypto Operations«, izberite »File Operations« in nastavite Kleopatra, da bo uporabila »sha256sum« kontrolni znesek, saj je s tem ustvarjen ta kontrolni znesek. Če imate kontrolno vsoto MD5, izberite »md5sum« na seznamu tukaj.
Sedaj kliknite Datoteka> Ustvari datoteke kontrolne vsote in izberite preneseno datoteko ISO. Kleopatra bo ustvarila kontrolno vsoto iz prenesene datoteke .iso in jo shranila v novo datoteko.
Odprete lahko obe datoteki - preneseno datoteko kontrolne vsote in tisto, ki ste jo pravkar ustvarili - v urejevalniku besedila, kot je beležnica. Potrdite, da je kontrolna vsota na obeh straneh identična. Če je identična, ste potrdili, da prenesena datoteka ISO ni bila spremenjena.
Te metode preverjanja prvotno niso bile namenjene zaščiti pred zlonamerno programsko opremo. Zasnovani so bili za potrditev, da je vaša datoteka ISO pravilno prenesena in ni bila poškodovana med prenosom, tako da jo lahko zapišete in uporabite brez skrbi. To ni popolnoma varna rešitev, saj morate zaupati PGP ključu, ki ga prenesete. Vendar pa to še vedno zagotavlja veliko več zanesljivosti kot samo uporabo datoteke ISO, ne da bi jo sploh pregledali.
Zasluge za sliko: Eduardo Quagliato na Flickru