Prošlog je mjeseca srušena web stranica Linux Minta, a za preuzimanje je stavljen modificirani ISO koji je uključivao backdoor. Dok je problem brzo riješen, to pokazuje važnost provjere Linux ISO datoteka koje ste preuzeli prije pokretanja i instaliranja. Evo kako.
Distribucije Linuxa objavljuju kontrolne zbroke kako biste mogli potvrditi da datoteke koje preuzimate su ono što tvrde da su, a to su često potpisane kako biste mogli provjeriti da se čekovi ne mijenjaju. To je naročito korisno ako ISO preuzete s nekog drugog mjesta osim glavnog web sučelja - poput zrcala treće strane ili putem BItTorrenta, gdje je ljudima mnogo lakše manipulirati datotekama.
Proces provjere ISO-a malo je složen, pa prije nego što ulazimo u točne korake, objasnimo upravo ono što proces uključuje:
Postupak se može razlikovati malo za različite ISO, ali obično slijedi taj opći uzorak. Na primjer, postoji nekoliko različitih vrsta čekova. Tradicionalno, MD5 sume bile su najpopularnije. Međutim, SHA-256 sume sada se češće koriste modernim Linux distribucijama, jer je SHA-256 otporniji na teorijske napade. Ovdje ćemo primarno raspravljati o iznosima SHA-256, iako će sličan proces raditi za iznose MD5. Neki Linux distros također mogu osigurati SHA-1 sumove, iako su to još manje uobičajene.
Slično tome, neki distributeri ne potpišu svoje provjere s PGP-om. Morat ćete samo poduzeti korake 1, 2 i 5, ali postupak je mnogo ranjiviji. Uostalom, ako napadač može zamijeniti ISO datoteku za preuzimanje, također može zamijeniti ček.
Korištenje PGP-a puno je sigurnije, ali ne i besprijekorno. Napadač je mogao i dalje zamijeniti taj javni ključ svojim vlastitim, mogli bi vas i dalje uvjeriti da je ISO legitiman. Međutim, ako je javni ključnik smješten na drugom poslužitelju - kao što je slučaj s Linux Mint - to postaje mnogo manje vjerojatno (budući da bi morali srušiti dva poslužitelja umjesto samo jedan). Ali ako je javni ključ pohranjen na istom poslužitelju kao i ISO i checksum, kao što je slučaj s nekim distributerima, onda ne nudi toliko sigurnosti.
Ipak, ako pokušavate potvrditi PGP potpis na datoteci checksuma i potvrditi preuzimanje pomoću tog kontrolnog zbroja, to je sve što možete razumno učiniti kao krajnji korisnik koji preuzima Linux ISO. Još ste mnogo sigurniji od ljudi koji se ne smetaju.
Koristit ćemo Linux Mint kao primjer ovdje, ali možda ćete morati pretražiti web stranicu Linux distribucije kako biste pronašli opcije potvrde koje nudi. Za Linux Mint, dvije datoteke se isporučuju zajedno s ISO preuzimanjem na svojim preuzimanjima. Preuzmite ISO i preuzmite datoteke "sha256sum.txt" i "sha256sum.txt.gpg" na svoje računalo. Desnom tipkom miša kliknite datoteke i odaberite "Spremi vezu kao" da biste ih preuzeli.
Na Linux radnoj površini otvorite prozor terminala i preuzmite PGP ključ. U ovom slučaju, Linux Mint's PGP ključ je smješten na Ubuntu ključnom poslužitelju i moramo pokrenuti sljedeću naredbu kako bismo ga dobili.
gpg --keyserver hkp: //keyserver.ubuntu.com --recv-keys 0FF405B2
Vaša Linux destro web stranica će vas uputiti prema ključu koji vam treba.
Sada imamo sve što nam je potrebno: ISO, datoteku checksuma, datoteku digitalnog potpisa checksumova i PGP ključ. Dakle, sljedeće, promijenite u mapu u koju su preuzeli ...
cd ~ / Preuzimanja
... i pokrenite sljedeću naredbu za provjeru potpisnice datoteke provjere:
gpg - potvrdite sha256sum.txt.gpg sha256sum.txt
Ako vam naredba GPG obavijesti da preuzeta datoteka sha256sum.txt ima "dobar potpis", možete nastaviti. U četvrtom retku snimke zaslona u nastavku, GPG nas obavještava da je to "dobar potpis" koji tvrdi da je povezan s Clementom Lefebvreom, dizajnerom Linux Mint.
Nemojte brinuti da ključ nije certificiran s "pouzdanim potpisom". To je zbog načina funkcioniranja PGP šifriranja - niste postavili mrežu povjerenja uvozom ključeva od pouzdanih korisnika. Ova će pogreška biti vrlo česta.
Na kraju, sada kada znamo da je checksum stvoren od održavatelja Linux Mint, pokrenite sljedeću naredbu da biste generirali kontrolni zbroj iz preuzete .iso datoteke i usporedite je s TXT datotekom za provjeru koju ste preuzeli:
sha256sum - provjerite sha256sum.txt
Vidjet ćete puno "nema takvih datoteka ili direktorija" ako ste preuzeli samo jednu ISO datoteku, ali trebali biste vidjeti poruku "OK" za datoteku koju ste preuzeli ako se podudara s checksumom.
Također možete pokrenuti naredbe checksum izravno na .iso datoteku. Pregledat će .iso datoteku i ispljunuti ček.Zatim možete provjeriti da odgovara važećem kontrolnom zbroju gledanjem oba s vašim očima.
Na primjer, da biste dobili SHA-256 zbroj ISO datoteke:
sha256sum /path/to/file.iso
Ili, ako imate vrijednost md5sum i trebate dobiti md5sum datoteke:
md5sum /path/to/file.iso
Usporedite rezultat s datotekom TXT provjere kako biste provjerili odgovaraju li se.
Ako preuzimate Linux ISO iz stroja za Windows, možete provjeriti i postoje li ček čekova - iako Windows ne sadrži potrebni softver. Dakle, morat ćete preuzeti i instalirati alat otvorenog izvornog Gpg4wina.
Pronađite datoteku ključeva za potpisivanje Linux datoteke i checksum datoteke. Ovdje ćemo koristiti Fedora kao primjer. Fedora web stranica pruža preuzimanje preuzimanja i govori nam da možemo preuzeti ključ za potpisivanje Fedora iz https://getfedora.org/static/fedora.gpg.
Nakon što preuzmete te datoteke, morat ćete instalirati ključ za potpisivanje pomoću programa Kleopatra koji je uključen u Gpg4win. Pokrenite Kleopatra i kliknite Datoteka> Uvoz certifikata. Odaberite .gpg datoteku koju ste preuzeli.
Sada možete provjeriti je li preuzeta datoteka za provjeru potpisao s jednim od ključnih datoteka koje ste uvezli. Da biste to učinili, kliknite Datoteka> Dešifriranje / Potvrdi datoteke. Odaberite preuzetu datoteku za provjeru. Poništite odabir opcije "Datoteka za unos je odvojeni potpis" i kliknite "Dekriptiraj / potvrdite".
Sigurno ćete vidjeti poruku o pogrešci ako to učinite na ovaj način, jer niste prošli kroz nevolje potvrde onih Fedora certifikata su zapravo legitimne. To je težak zadatak. To je način na koji je PGP dizajniran za rad - na primjer, osobno se susreće i razmjenjuje ključeve i sastavlja mrežu povjerenja. Većina ljudi to ne upotrebljava.
Međutim, možete vidjeti više pojedinosti i potvrditi da je datoteka s provjerom potpisao potpisan jednim od ključeva koje ste uvezli. To je mnogo bolje nego pouzdanje u preuzetu ISO datoteku bez provjere u svakom slučaju.
Sada biste trebali moći odabrati File> Verify Checksum Files i potvrditi da se informacije u datoteci checksuma podudaraju s preuzetom .iso datotekom. Međutim, to nije funkcioniralo za nas - možda je to samo način na koji je Fedora provjera datoteka. Kada smo to pokušali s datotekom sha256sum.txt Linux Mint-a, to je uspjelo.
Ako to ne funkcionira za Linux distribuciju po izboru, ovdje je zaobilazno rješenje. Najprije kliknite Postavke> Konfiguriraj Kleopatra. Odaberite "Kripto operacije", odaberite "Operacije datoteka" i postavite Kleopatra da upotrijebite program "checksum" sha256sum, jer je generiran taj kontrolni zbroj. Ako imate MD5 kontrolni zbroj, na popisu odaberite ovdje "md5sum".
Sada kliknite File> Create Checksum Files i odaberite preuzetu ISO datoteku. Kleopatra će generirati kontrolni zbroj iz preuzete .iso datoteke i spremiti je u novu datoteku.
Možete otvoriti obje ove datoteke - preuzetu datoteku za provjeru i onu koju ste upravo generirali - u uređivaču teksta kao što je Notepad. Potvrdite da je provjera istovjetna i kod vlastitih očiju. Ako je to identično, potvrdili ste da preuzeta ISO datoteka nije izmijenjena.
Te metode provjere izvorno nisu bile namijenjene zaštiti od zlonamjernog softvera. Izrađene su tako da potvrde da je vaša ISO datoteka ispravno preuzeta i nije bila oštećena tijekom preuzimanja, tako da je možete izgorjeti i koristiti bez brige. Nisu potpuno besprijekoran, jer morate vjerovati PGP ključu koji preuzimate. Međutim, to ipak pruža mnogo veću sigurnost od korištenja ISO datoteke bez provjere uopće.
Slika kredita: Eduardo Quagliato na Flickr