24Aug

Hur man verifierar en Linux ISO-kontrollsumma och bekräftar att den inte har blivit förknippad med

Förra månaden har Linux Mints hemsida hackats, och en modifierad ISO lades upp för nedladdning som innehöll en bakdörr. Medan problemet blev löst snabbt visar det vikten av att kontrollera Linux ISO-filer som du laddar ner innan du kör och installerar dem. Här är hur.

Linux-distributioner publicerar checksums så att du kan bekräfta de filer du laddar ner är vad de hävdar är, och de är ofta signerade så att du kan verifiera kontrollsummorna själva har inte blivit manipulerade med. Det här är särskilt användbart om du laddar ner en ISO från någon annanstans än den huvudsakliga webbplatsen - som en spegel från tredje part, eller genom BItTorrent, där det är mycket lättare för människor att manipulera med filer.

Hur denna process fungerar

Processen med att kontrollera en ISO är lite komplex, så innan vi går in i exakta steg, låt oss förklara exakt vad processen innebär:

  1. Du laddar ner Linux ISO-filen från Linux-distributions webbplatsen ellernågon annanstans - som vanligt.
  2. Du laddar ner ett kontrollsumma och dess digitala signatur från Linux distributions webbplats. Dessa kan vara två separata TXT-filer, eller du kan få en enda TXT-fil som innehåller båda bitarna av data.
  3. Du får en offentlig PGP-nyckel som tillhör Linux-distributionen. Du kan få det från Linux-distributions webbplats eller en separat nyckelserver som hanteras av samma personer, beroende på din Linux-distribution.
  4. Du använder PGP-nyckeln för att verifiera att kontrollsummans digitala signatur skapades av samma person som gjorde nyckeln - i det här fallet, underhållarna av den Linux-distributionen. Detta bekräftar att kontrollsumman själv inte har manipulerats med.
  5. Du genererar kontrollsumman för din nedladdade ISO-fil och verifierar att den överensstämmer med kontrollsumma-TXT-filen som du hämtade. Detta bekräftar att ISO-filen inte har manipulerats eller skadats.

Processen kan skilja sig en bit för olika ISO, men det brukar följa det allmänna mönstret. Till exempel finns det flera olika typer av checksummor. Traditionellt har MD5-summan varit mest populära. SHA-256-summan används nu oftare av moderna Linux-distributioner, eftersom SHA-256 är mer motståndskraftig mot teoretiska attacker. Vi diskuterar främst SHA-256 summor här, även om en liknande process kommer att fungera för MD5 summor. Vissa Linux distros kan också ge SHA-1 summor, även om dessa är ännu mindre vanliga.

På samma sätt skriver några distros inte sina kontrollsummor med PGP.Du behöver bara utföra steg 1, 2 och 5, men processen är mycket mer sårbar. Om angriparen kan ersätta ISO-filen för nedladdning kan de trots allt ersätta kontrollsumman.

Att använda PGP är mycket säkrare, men inte idiotsäker. Attackeren kan fortfarande ersätta den offentliga nyckeln med sina egna, de kan fortfarande lura dig att tro att ISO är legit. Men om den offentliga nyckeln är värd på en annan server - som det är fallet med Linux Mint - blir det mycket mindre sannolikt( eftersom de skulle hacka två servrar istället för bara en).Men om den offentliga nyckeln lagras på samma server som ISO och kontrollsumma, som det är fallet med vissa distroer, erbjuder det inte lika mycket säkerhet.

Om du försöker verifiera PGP-signaturen i en kontrollsummafil och sedan validera din nedladdning med kontrollsumman, är det allt du än rimligen kan göra som slutanvändare nedladdning av en Linux-ISO.Du är fortfarande mycket säkrare än de människor som inte stör.

Så här verifierar du ett kontrollsumma på Linux

Vi använder Linux Mint som ett exempel här, men du kan behöva söka på din Linux-distributions webbplats för att hitta verifieringsalternativen som erbjuds. För Linux Mint tillhandahålls två filer tillsammans med ISO-hämtningen på dess nedladdningsspeglar. Ladda ner ISO, och hämta sedan "sha256sum.txt" och "sha256sum.txt.gpg" -filerna till din dator. Högerklicka på filerna och välj "Spara länk som" för att ladda ner dem.

På ditt Linux-skrivbord, öppna ett terminalfönster och ladda ner PGP-nyckeln. I detta fall är Linux Mints PGP-nyckel värdad på Ubuntus nyckelserver, och vi måste köra följande kommando för att få det.

gpg - keyserver hkp: //keyserver.ubuntu.com --recv-nycklar 0FF405B2

Din Linux distros webbplats kommer att rikta dig mot den nyckel du behöver.

Vi har nu allt vi behöver: ISO, kontrollsumfilen, kontrollsummans digitala signaturfil och PGP-tangenten. Så, byt till mappen de hämtades till. ..

cd ~ / Nedladdningar

. .. och kör följande kommando för att kontrollera underskrift av checksumfilen:

gpg - verifiera sha256sum.txt.gpg sha256sum.txt

Om GPG-kommandot kan du veta att den nedladdade filen sha256sum.txt har en "bra signatur", kan du fortsätta. I den fjärde raden av skärmdumpen nedan informerar GPG oss om att detta är en "bra signatur" som hävdar att den är associerad med Clement Lefebvre, Linux Mints skapare.

Oroa dig inte för att nyckeln inte är certifierad med en "betrodd signatur". Det här beror på hur PGP-kryptering fungerar - du har inte skapat en web av förtroende genom att importera nycklar från betrodda personer. Detta fel kommer att bli mycket vanligt.

Slutligen, nu vi vet att kontrollsumman skapades av Linux Mint-underhållare, kör följande kommando för att generera en kontrollsumma från den nedladdade. iso-filen och jämföra den med checksum TXT-filen du hämtade:

sha256sum - check sha256sum.txt

Du får se många "inga sådana filer eller katalog" -meddelanden om du bara hämtade en enda ISO-fil, men du bör se ett "OK" -meddelande för filen du hämtade om den matchar kontrollsumman.

Du kan också köra kontrollsumma-kommandona direkt på en. iso-fil. Det kommer att undersöka. iso-filen och plocka ut sin kontrollsumma. Du kan då bara kontrollera att den matchar det giltiga kontrollsumman genom att titta på båda med dina ögon.

Till exempel, för att få SHA-256 summan av en ISO-fil:

sha256sum /path/to/ file.iso

Eller om du har ett md5sum-värde och behöver hämta md5sum av en fil:

md5sum /path/to/ file.iso

JämförResultatet med checksum TXT-filen är att se om de matchar.

Så här verifierar du ett kontrollsumma på Windows

Om du hämtar en Linux ISO från en Windows-maskin kan du också verifiera kontrollsumma där, men Windows har inte den nödvändiga programvaran inbyggd. Så måste du hämta och installera Gpg4win-verktyget med öppen källkod.

Leta reda på din Linux distros signeringsnyckelfil och checksumfiler. Vi använder Fedora som ett exempel här. Fedoras webbplats ger kontrollsummahämtningar och berättar att vi kan ladda ner Fedora-signeringsnyckeln från https: //getfedora.org/static/ fedora.gpg.

När du har laddat ner dessa filer måste du installera signeringsnyckeln med Kleopatra-programmet som ingår i Gpg4win. Starta Kleopatra och klicka på Arkiv & gt;Importera certifikat. Välj den. gpg-fil du hämtade.

Du kan nu kontrollera om den nedladdade kontrollsumfilen har skrivits med en av de nyckelfiler du importerade. För att göra det, klicka på Arkiv & gt;Dekryptera / verifiera filer. Välj den nedladdade kontrollsumfilen. Avmarkera alternativet "Input-fil är en fristående signatur" och klicka på "Dekryptera / verifiera".

Du är säker på att se ett felmeddelande om du gör det på det här sättet, eftersom du inte har gått i besväret med att bekräfta dessa Fedoracertifikat är faktiskt legitima. Det är en svårare uppgift. Det här är sättet som PGP är utformat för att fungera - du möter och byter ut nycklar personligen, till exempel, och sammanfogar en web av förtroende. De flesta använder inte det på så sätt.

Du kan dock visa mer information och bekräfta att kontrollsumfilen har skrivits med en av de nycklar du importerade. Det här är mycket bättre än att bara lita på en nedladdad ISO-fil utan att kontrollera, hur som helst.

Du ska nu kunna välja Arkiv & gt;Verifiera Checksum-filer och bekräfta informationen i kontrollsumfilen matchar den nedladdade. iso-filen. Men det fungerade inte för oss - kanske är det bara sättet som Fedoras checksumfil läggs ut. När vi försökte detta med Linux Mints sha256sum.txt-fil fungerade det.

Om det inte fungerar för din Linuxdistribution, så är det här en lösning. Klicka först på Inställningar & gt;Konfigurera Kleopatra. Välj "Crypto Operations", välj "File Operations," och ställ in Kleopatra för att använda "sha256sum" checksumprogrammet, eftersom det är vad detta specifika checksum genererades med. Om du har en MD5 kontrollsumma, välj "md5sum" i listan här.

Klicka nu på Arkiv & gt;Skapa Checksum-filer och välj din nedladdade ISO-fil. Kleopatra genererar en kontrollsumma från den nedladdade. iso-filen och sparar den till en ny fil.

Du kan öppna båda dessa filer - den nedladdade kontrollsumfilen och den du just skapat - i en textredigerare som Anteckningsblock. Bekräfta att kontrollsumman är identisk både med dina egna ögon. Om det är identiskt har du bekräftat att din nedladdade ISO-fil inte har manipulerats.

Dessa verifieringsmetoder var inte ursprungligen avsedda att skydda mot skadlig kod. De utformades för att bekräfta att din ISO-fil hämtades korrekt och inte skadades under nedladdningen, så du kan bränna och använda den utan att oroa dig. De är inte en helt idiotsäker lösning, eftersom du måste lita på PGP-nyckeln du laddar ner. Men det ger fortfarande mycket mer säkerhet än att bara använda en ISO-fil utan att kontrollera det alls.

Bildkrediter: Eduardo Quagliato på Flickr