Kada preuzimamo GNU/Linux distribuciju, uobičajena stvar je preuzimanje Napravite ISO sliku i započnite kreiranje bootabilnog USB diska. Bez mnogo razmišljanja o tome šta se moglo dogoditi usput. Istina je da, iako često ništa ne krene po zlu, slijepo vjerujemo da je ISO datoteka legitimna. Da je niko nije dirao i da preuzimanje nije oštećeno.
Ako govorimo o kompletnom operativnom sistemu, stvari se mijenjaju. To su velike datoteke, potrebno je mnogo vremena za njihovo preuzimanje i, iznad svega, Kvar ili manipulacija u ISO-u može ugroziti cijeli tim.Zato je u Linux svijetu toliko uobičajeno (i preporučljivo) provjeravati integritet i autentičnost ISO datoteka pomoću kontrolnih suma i GPG potpisa prije nego što ih snimite na DVD ili USB disk.
Šta znači verificirati ISO: integritet i autentičnost
Kada provjeravate ISO standard, ne vršite jednu provjeru, već dvije različite provjere koje se ne smiju miješati: integritet datoteke i autentičnost njenog porijeklaIntegritet vam govori da li je ISO koji imate na disku identičan onome koji je bio na serveru, bit po bit. Autentičnost vam govori da li taj ISO i njegovi kontrolni zbirovi zaista potiču iz projekta za koji tvrde da predstavljaju.
Integritet se provjerava putem hash funkcija (kontrolna suma) izračunata na cijeloj datoteciAko rezultat koji dobijete na računaru odgovara onome koji je objavila distribucija, to znači da ISO datoteka nije izmijenjena tokom preuzimanja ili oštećena tokom skladištenja.
Autentičnost se potvrđuje kroz GPG digitalni potpisi povezano s javnim ključevima programeraU praksi, distribucija potpisuje datoteku koja sadrži kontrolne sume (na primjer, SHA256SUMS) i vi provjeravate da li ovaj potpis odgovara službenom ključu projekta i da nije modificiran.
Iako mnogi ljudi provjeravaju samo MD5 ili SHA kontrolnu sumu i smatraju je validnom, ako je neko kompromitovao server za preuzimanje, mogao bi i... Zamijenite ISO i objavite lažni kontrolni zbir.Stoga, dobra praksa uključuje i validaciju GPG potpisa datoteke suma.

Šta je kontrolna suma i zašto se koristi u ISO datotekama?
Kontrolna suma je rezultat primjene kontrolne sume na datoteku. kriptografska hash funkcija koja generira jedinstveni niz znakova za taj sadržaj. Taj niz je obično predstavljen heksadecimalno (znakovi 0-9 i af) i ima fiksnu dužinu, bez obzira na veličinu originalne datoteke.
U kontekstu GNU/Linux distribucija, kontrolne sume se koriste za provjerite da se podaci nisu promijenili otkako je projekat objavio slikuAko dvije datoteke daju isti heš koristeći isti algoritam, one se (u praksi) smatraju identičnima. Ako se heš ne podudara, dovoljan je jedan drugačiji bit da potpuno promijeni vrijednost i omogući nam da otkrijemo problem.
Postoji mnogo algoritama za heširanje, ali oni koje ćete najčešće vidjeti povezani s ISO datotekama su: MD5, SHA-1 i porodica SHA-2 (SHA-256, SHA-384, SHA-512…)Na stranicama za preuzimanje Debiana, Ubuntua, Fedore ili drugih distribucija, često se uz ISO datoteke nude i datoteke s nazivima poput MD5SUMS, SHA1SUMS ili SHA256SUMS.
Postupak je jednostavan: preuzmete ISO i njegovu hash datoteku, izračunate ISO hash na svom računaru i Provjeravate da li se rezultat podudara s vrijednošću objavljenom u datoteci kontrolne sume.Ako se podudara, možete biti razumno sigurni da slika nije oštećena ili skraćena.
MD5 se danas smatra algoritmom zastarjelo za teške sigurnosne svrhejer su pronađene praktične kolizije. Uprkos tome, ostaje koristan za osnovnu provjeru integriteta. Za velika preuzimanja, posebno ISO-ove, bolje je koristiti... SHA-256, koji je trenutno preporučeni standard. u većini distribucija.
Vrste datoteka koje ćete pronaći prilikom preuzimanja ISO datoteke
Prilikom preuzimanja distribucije sa njenog službenog servera, uobičajeno je da se, pored same slike, pronađe i niz dodatnih datoteka. Svaka od njih ima svoju svrhu i važno je znati koje su to datoteke. Koju funkciju ima svaka vrsta datoteke i kako je povezana s verifikacijom? što ćeš uraditi.
Obično ćete naći nešto ovako (nazivi se mogu neznatno razlikovati između distribucija):
- naziv-distribucije-verzija-arhitektura.isoSama slika, odnosno ono što ćete snimiti na USB disk ili DVD. Na primjer, ubuntu-20.04-desktop-amd64.iso, koja označava distribuciju, verziju, izdanje (desktop/server) i arhitekturu.
- MD5SUMS: Tekstualna datoteka koja sadrži listu MD5 hashova za slike dostupne u tom direktoriju. Svaki red povezuje hash s nazivom datoteke.
- MD5SUMS.gpgGPG potpis MD5SUMS datoteke, generiran ključem programera. Služi za provjeru da li MD5 hash datoteka zaista dolazi iz projekta i da nije izmijenjena.
- SHA256SUMS: ekvivalentno MD5SUMS-u, ali koristi SHA-256 algoritam. Ovo je datoteka kojoj biste trebali dati prioritet ako je dostupna.
- SHA256SUMS.gpgSHA256SUMS GPG digitalni potpis, koji se koristi za garantovanje njegove autentičnosti.
U nekim distribucijama ćete također vidjeti SHA1SUMS, SHA512SUMS ili slične datoteke. Sve one slijede isti princip: lista suma i, opcionalno, pridruženi GPG potpis kako biste mogli provjeriti da lista nije mijenjana.
Ako umjesto preuzimanja ISO-a putem HTTP/HTTPS-a to uradite koristeći BitTorrent, većina klijenata već ima integrisan sistem verifikacije Interna obrada se zasniva na dijelovima i djelomičnim hešovima, tako da su šanse da završite sa oštećenim ISO-om znatno smanjene. Uprkos tome, ako želite biti apsolutno sigurni u njegovu autentičnost, i dalje ima smisla provjeriti GPG potpis heš datoteke.
Kako funkcionišu hash funkcije (MD5, SHA-1, SHA-256…)
Na praktičnom nivou, ne morate razumjeti matematiku koja stoji iza hešova, ali je korisno shvatiti nekoliko osnovnih koncepata kako biste imali jasno razumijevanje. Zašto su toliko korisni za provjeru ISO-ova?Kriptografska heš funkcija uzima datoteku bilo koje veličine i vraća string fiksne dužine; promjena jednog bita datoteke rezultira potpuno drugačijim hešem.
Zahtjevi za dobru heš funkciju uključuju da ju je u jednom smislu lako izračunati, ali praktično nemoguće investiratida je vrlo teško pronaći dvije različite datoteke s istim hashom (kolizija) i da je otporan na pokušaje generiranja zlonamjernog sadržaja koji odgovara određenom hashu.
MD5 je godinama bio de facto standard za ovu vrstu verifikacije, ali napredak u kriptografiji je pokazao da Moguće je izgraditi različite datoteke s istim MD5 hešemStoga, iako je to i dalje uobičajena praksa u nekim projektima, iz sigurnosnih razloga preporučuje se korištenje robusnijih algoritama.
SHA-1 je poboljšao neke od slabosti MD5, ali su također identificirani problemi s kolizijama te se smatra... Nije pogodno za nove implementacije koje zahtijevaju visoku sigurnostSHA-2 porodica šifri (posebno SHA-256) trenutno je najuravnoteženija opcija između sigurnosti i performansi za ISO verifikaciju.
U praksi, ako distribucija nudi nekoliko sum datoteka, najbolja opcija je odabrati jednu. SHA-256 ili SHA-512 kao prva opcijaOstavite SHA-1 samo za slučajeve kada nema druge opcije, a MD5 prepustite osnovnoj provjeri integriteta kada nemate alternativu.
Linux alati za izračunavanje i provjeru kontrolnih suma
Dobra vijest je da ne morate instalirati ništa neobično: većina modernih GNU/Linux distribucija ih već uključuje. Uslužni programi komandne linije za izračunavanje i provjeru heševaOvi alati su obično dio coreutils-a ili drugih osnovnih paketa.
Najčešće komande na koje ćete naići su:
- Ja sam md5: izračunava i provjerava MD5 sume.
- sha1sum: izračunava i provjerava SHA-1 sume.
- sha256sum: izračunava i provjerava SHA-256 sume.
- sha512sum: izračunava i provjerava SHA-512 sume.
Njihovo korištenje je vrlo jednostavno. Ako želite izračunati hash određene datoteke, jednostavno pokrenite sljedeću naredbu u terminalu, iz direktorija u kojem se nalazi ISO datoteka:
cd Descargas
sha256sum nombre-de-tu-imagen.iso
Naredba će ispisati liniju sa hashom i nazivom datoteke, koje možete uporediti sa vrijednošću objavljenom na web stranici. Ako preferirate MD5 ili SHA-1, Format komande je identičan, mijenja se uslužni program (md5sum, sha1sum, sha512sum…).
Pored izračunavanja pojedinačnih heševa, isti ovi alati vam omogućavaju da istovremeno verifikujete više datoteka koristeći provjerite način rada s opcijom -cTu na scenu stupa MD5SUMS ili SHA256SUMS datoteka koju ste preuzeli zajedno s ISO datotekama.
Provjera integriteta ISO datoteke pomoću sum datoteka
U tipičnom scenariju, preuzimate i ISO sliku i njenu SHA256SUMS datoteku (i, ako je dostupna, MD5SUMS ili SHA1SUMS) sa službene web stranice distribucije. Struktura ove datoteke je vrlo jednostavna: svaki red sadrži hash, razmak, opcionalno zvjezdicu ili dodatni razmak i naziv datoteke.
Da biste provjerili ISO datoteku sa sum datotekom, samo trebate otići u mapu u kojoj imate i sliku i SHA256SUMS datoteku i pokrenite:
sha256sum -c SHA256SUMS
Uslužni program iterira kroz sve SHA256SUMS linije i upoređuje hash koji lokalno izračuna za svaku navedenu datoteku sa onim u dokumentu. Ako je sve u redu, prikazaće nešto poput:
nombre-distro.iso: OK
U slučaju neslaganja, bilo zbog toga što je ISO datoteka oštećena ili zato što Datoteka se ne podudara sa listom sumaVidjet ćete poruke poput ove:
nombre-distro.iso: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
Isti postupak se primjenjuje na MD5 i SHA-1 zamjenom odgovarajućeg alata i datoteke, na primjer:
md5sum -c MD5SUMS
sha1sum -c SHA1SUMS
Ovaj pristup je posebno praktičan prilikom preuzimanja više ISO datoteka ili više datoteka odjednom, jer Sve datoteke provjeravate odjednom jednom naredbom. i sistem vam govori koji su prošli test, a koji nisu.
GPG potpisi: provjera autentičnosti iznosa
Do sada smo govorili samo o integritetu, ali druga komponenta nedostaje: provjerite da li datoteka sa sumama zaista dolazi iz projekta a ne od nekoga ko je kompromitovao server. Tu nastupa GnuPG (gpg), standardni alat za rukovanje kriptografijom javnog ključa u GNU/Linuxu.
Većina glavnih distribucija potpisuje svoje hashsum datoteke (npr. SHA256SUMS.gpg) privatnim ključem povezanim s programerima. Vi, kao korisnik, preuzimate taj potpis i koristite ga. javni ključ projekta za provjeru da SHA256SUMS datoteka nije izmijenjena.
Tipičan tijek rada s distribucijom poput Ubuntua bio bi sljedeći, nakon što instalirate gpg i nalazite se u direktoriju za preuzimanje:
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
Ako vaš računar već ima ispravno uvezen i pouzdan javni ključ Ubuntua, gpg će prikazati poruku koja ukazuje na važeći potpis i identifikator ključaAli vrlo je uobičajeno da vam prvi put kada ga pokrenete, kaže da ne zna taj javni ključ.
U tom slučaju, sljedeći korak bi bio uvoz javnog ključa sa pouzdanog servera ključeva. Na primjer, sa Ubuntuom biste mogli uraditi nešto ovako:
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xD94AA3F0EFE21092
Ovim se preuzima ključ sa navedenim identifikatorom sa službenog servera ključeva. Nakon uvoza, ponovo pokrećete naredbu za provjeru potpisa koristeći SHA256SUMS i sada biste trebali dobiti potvrda da je potpis ispravan i povezan je s ključem „Ubuntu CD Image Automatic Signing Key (2012)“ "ili neki drugi sličan, ovisno o distribuciji."
GPG može prikazati upozorenja poput "Nema naznaka da potpis pripada vlasniku", što u osnovi znači da Nisi označio/la taj ključ kao apsolutno pouzdan.Nije fatalna greška: sve dok ste na druge načine (službena web stranica, dokumentacija itd.) provjerili da je ključni otisak prsta onaj koji je deklarirao projekt, možete nastaviti.
Praktičan primjer: provjera nedavnog Ubuntu ISO-a
Da biste ovo jasno razumjeli, zamislite da preuzimate Ubuntu ISO (na primjer, noviju LTS verziju) sa službene web stranice. Na toj stranici ćete pronaći linkove do ISO-a, SHA256SUMS datoteke i njenog SHA256SUMS.gpg potpisa, sve u istom ili obližnjem direktoriju.
Koraci koje biste slijedili bi u suštini bili sljedeći:
Prvo, Preuzmite odgovarajući ISO za vašu arhitekturu (na primjer, 64-bitna AMD64 slika radne površine), pored datoteka SHA256SUMS i SHA256SUMS.gpg koje odgovaraju toj verziji.
Zatim, sa instaliranim gpg-om na vašem sistemu, trebali biste provjeriti potpis sums datoteke sa:
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
Ako vam gpg kaže da ne može pronaći ključ, možete ga dobiti sa servera ključeva povezanog s projektom pokretanjem naredbe slične ovoj:
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xD94AA3F0EFE21092
Nakon što je ključ uvezen i potpis SHA256SUMS datoteke potvrđen, možete provjeriti ISO datoteku u odnosu na tu listu koristeći:
sha256sum -c SHA256SUMS
Naredba će provjeriti sve unose i prikazati poruku za svaku navedenu datoteku. Za novo preuzeti ISO, trebali biste vidjeti nešto poput ovoga: „ubuntu-XX.XX-desktop-amd64.iso: Zbir podudaranja“ ili „U redu“, potvrđujući da lokalna slika tačno odgovara onoj koju su objavili programeri.
Ručno provjerite jednu kontrolnu sumu
Ponekad nemate kompletnu datoteku sa sumama ili ste dobili samo jedan heš na stranici za preuzimanje. U tom slučaju, možete izvršiti i "staromodnu" verifikaciju. izračunavanje lokalne kontrolne sume i njeno ručno poređenje sa objavljenom vrijednošću.
Zamislite da ste preuzeli Red Hat ISO i web stranica prikazuje samo SHA-1 hash te slike. U vašem radnom direktoriju pokrenite:
sha1sum redhat7-x64.iso
Komanda će vratiti nešto poput:
2ac2f3368e6c9fe4d7201d85ad85528698aeaf08 redhat7-x64.iso
Odatle, samo trebaš uporedite vizuelno ili kopiranjem/lijepljenjem tog heša Uporedite naziv datoteke s onim prikazanim na web stranici ili u maloj tekstualnoj datoteci koju ste preuzeli. Ako se podudaraju znak po znak, integritet datoteke je zagarantovan; ako se razlikuju, morat ćete je ponovo preuzeti.
Verifikujte više ISO datoteka odjednom
Postoje situacije u kojima ćete preuzeti nekoliko slika odjednom (na primjer, različite verzije ili arhitekture) i ne želite ih provjeravati jednu po jednu. Srećom, MD5SUMS, SHA1SUMS ili SHA256SUMS datoteke ih obično grupiraju zajedno. svi iznosi direktorija u jednom dokumentu, samo da biste mogli izvršiti grupnu verifikaciju u jednom koraku.
Pretpostavimo da imate šest različitih ISO datoteka u mapi i da ste preuzeli datoteke MD5SUM, SHA1SUM i SHA256SUM. Za MD5 provjere, trebali biste uraditi nešto ovako:
md5sum -c MD5SUM
Izlaz će navesti svaki ISO zajedno sa "OK" ili "FAILED" ovisno o tome da li se zbir podudara ili ne. Isto vrijedi i za SHA-1 i SHA-256, mijenjajući samo alat i datoteku:
sha1sum -c SHA1SUM
sha256sum -c SHA256SUM
Ako ikada namjerno modificirate ISO datoteku ili ako se ona ošteti zbog kvara diska, vidjet ćete da Samo taj određeni unos označava NEUSPJEH Dok sve ostalo ostaje u redu, programi će vas upozoriti porukom poput "UPOZORENJE: 1 izračunata kontrolna suma se NIJE podudarala", tako da znate da je nešto pošlo po zlu.
Kako generirati vlastite datoteke kontrolne sume
Pored provjere onoga što drugi objavljuju, možete kreirati i vlastite datoteke kontrolnih zbirova ako planirate dijeliti ISO-ove ili bilo koju drugu vrstu datoteke s više ljudi. Jednostavno je kao korištenje istih alata, ali preusmjeravanje standardnog izlaza u datoteku koje zatim možete prenijeti zajedno s preuzetim datotekama.
Na primjer, ako ste pripremili nekoliko ISO slika u direktoriju i želite generirati MD5SUM datoteku sa svima njima, možete učiniti sljedeće:
md5sum *.iso > MD5SUM
Naredba će skenirati sve ISO datoteke u mapi i sačuvati listu hashova i naziva u MD5SUM datoteku. Slično tome, možete kreirati dokumente koristeći SHA-1 ili SHA-256:
sha1sum *.iso > SHA1SUM
sha256sum *.iso > SHA256SUM
Objavljivanjem ovih datoteka za verifikaciju zajedno s vašim datotekama, svako će moći pokrenuti md5sum -c, sha1sum -co sha256sum -c na njima i provjerite da li su preuzimanja prošla dobro i da ih niko nije mijenjao tokom transporta.
Ako želite ići korak dalje i ponuditi garancije autentičnosti, mogli biste čak digitalno potpišite te sum datoteke Korištenje vlastitog GPG ključa, slično kao što to rade veliki projekti. Na ovaj način, svako ko primi materijal može potvrditi ne samo da su podaci potpuni, već i da zaista dolaze od vas.
Usvajanje navike provjere kontrolnih suma i GPG potpisa prije instaliranja Linux distribucije traje vrlo kratko, a zauzvrat pruža važan sloj sigurnosti, sprječavajući instalacije s oštećenim ili manipuliranim ISO datotekama i pomažući vam da otkrijete probleme prije nego što utječu na vaš računar.
