Hemsida » hur » Så här verifierar du en Linux ISO-kontrollsumma och bekräftar att den inte har blivit förknippad med

    Så här verifierar du 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 sattes för nedladdning som innehöll en bakdörr. Medan problemet fixades 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 checksum så att du kan bekräfta de filer du laddar ner är vad de hävdar vara, och de är ofta signerade så att du kan verifiera kontrollsummorna själva inte har manipulerats med. Detta ä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 BItTrent, där det är mycket lättare för människor att manipulera filer.

    Hur denna process fungerar

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

    1. Du hämtar Linux ISO-filen från Linux-distributions webbplats - eller nå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 den matchar kontrollsummen TXT-filen du laddade ner. 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. Hållaren 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 distros, erbjuder det inte så mycket säkerhet.

    Om du ändå 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.

    Hur man verifierar 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 de verifieringsalternativ 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 öppnar du ett terminalfönster och laddar 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 underskriften av checksumfilen:

    gpg - verifiera sha256sum.txt.gpg sha256sum.txt

    Om GPG-kommandot låter dig 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 Mint 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 konfigurerat en web av förtroende genom att importera nycklar från betrodda personer. Detta fel kommer att bli mycket vanligt.

    Slutligen, när 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 den kontrollsumma TXT-filen du hämtade:

    sha256sum - checka sha256sum.txt

    Du kommer att se många meddelanden "Ingen sådan fil eller katalog" om du bara hämtade en 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 dess 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ör resultatet med checksum TXT-filen för att se om de matchar.

    Så här verifierar du ett kontrollsumma i 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> 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> Dekryptera / verifiera filer. Välj den nedladdade kontrollsumfilen. Avmarkera "Inmatningsfilen ä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 haft problem med att bekräfta att Fedora-certifikat ä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 utbyter 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> Verifiera Checksum Files och bekräfta informationen i kontrollsumfilen matchar den nedladdade .iso-filen. Men det fungerade inte för oss - kanske är det precis som Fedoras checksumfil läggs ut. När vi försökte detta med Linux Mints sha256sum.txt-fil fungerade det.

    Om detta inte fungerar för din Linux-distribution, så är det här en lösning. Klicka först på Inställningar> 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 denna specifika checksum genererades med. Om du har en MD5 kontrollsumma, välj "md5sum" i listan här.

    Klicka nu på Arkiv> Skapa kontrollsumfiler 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 som 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 för 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