Начална » как да » Как да проверим контролната сума на Linux ISO и да потвърдим, че не е била засегната

    Как да проверим контролната сума на Linux ISO и да потвърдим, че не е била засегната

    Миналия месец сайтът на Mint на Linux беше хакнат, а модифициран ISO беше пуснат за изтегляне, който включваше задната врата. Въпреки че проблемът е бил фиксиран бързо, той демонстрира важността на проверката на Linux ISO файловете, които сте изтеглили, преди да ги стартирате и инсталирате. Ето как.

    Linux дистрибуциите публикуват контролни суми, така че можете да потвърдите, че файловете, които изтегляте, са това, за което те твърдят, че са, и те често са подписани, за да можете да проверите дали контролните суми не са били подправени. Това е особено полезно, ако изтеглите ISO от някъде, различно от основния сайт - като огледало на трета страна, или чрез BItTorrent, където е много по-лесно за хората да се намесват в файлове.

    Как работи този процес

    Процесът на проверка на ISO е малко сложен, така че преди да се заемем с точните стъпки, нека да обясним точно какво включва процесът:

    1. Ще изтеглите Linux ISO файла от сайта на Linux дистрибуцията - или някъде другаде - както обикновено.
    2. Ще изтеглите контролна сума и нейния електронен подпис от сайта на Linux дистрибуцията. Това могат да бъдат два отделни TXT файла или може да получите един TXT файл, съдържащ и двете части данни.
    3. Ще получите публичен PGP ключ, принадлежащ на Linux дистрибуцията. Можете да получите това от уебсайта на дистрибуцията на Linux или от отделен ключов сървър, управляван от същите хора, в зависимост от вашата дистрибуция на Linux.
    4. Ще използвате ключа PGP, за да проверите дали цифровият подпис на контролната сума е създаден от същия човек, който е направил ключа - в този случай, поддръжниците на тази дистрибуция на Linux. Това потвърждава, че самата контролна сума не е била подправена.
    5. Ще генерирате контролната сума на изтегления от вас ISO файл и ще потвърдите, че съответства на изтегления TXT файл с контролна сума. Това потвърждава, че ISO файлът не е бил подправен или повреден.

    Процесът може да се различава малко за различните ISO, но обикновено следва този общ модел. Например има няколко различни типа контролни суми. Традиционно най-популярни са сумите от MD5. Въпреки това сумите SHA-256 сега се използват по-често от съвременните дистрибуции на Linux, тъй като SHA-256 е по-устойчив на теоретични атаки. Тук ще обсъждаме главно SHA-256 суми, въпреки че подобен процес ще работи за суми от MD5. Някои дистрибуции на Linux също могат да предоставят суми SHA-1, въпреки че те са дори по-рядко срещани.

    По същия начин някои дистрибуции не подписват своите контролни суми с PGP. Ще трябва само да изпълните стъпки 1, 2 и 5, но процесът е много по-уязвим. В крайна сметка, ако нападателят може да замени ISO файла за изтегляне, те също могат да заменят контролната сума.

    Използването на PGP е много по-сигурно, но не и сигурно. Нападателят все още може да замени публичния ключ със свои собствени, те все още могат да ви подмамят, че ISO е легитимна. Обаче, ако публичният ключ се хоства на друг сървър, какъвто е случаят с Linux Mint, това става много по-малко вероятно (тъй като те ще трябва да хакнат два сървъра вместо само един). Но ако публичният ключ се съхранява на същия сървър като ISO и контролната сума, какъвто е случаят с някои дистрибуции, тогава той не предлага толкова сигурност.

    И все пак, ако се опитвате да проверите PGP подписите в даден контролен файл и след това да проверите вашето изтегляне с тази контролна сума, това е всичко, което можете разумно да направите като краен потребител, свалящ Linux ISO. Все още сте много по-сигурни от хората, които не се притесняват.

    Как да проверите контролна сума на Linux

    Ще използваме Linux Mint като пример тук, но може да се наложи да потърсите уебсайта на вашата дистрибуция на Linux, за да намерите опциите за проверка, които предлага. За Linux Mint са предоставени два файла заедно с ISO изтеглянето на неговите огледала за изтегляне. Изтеглете ISO и след това изтеглете файловете “sha256sum.txt” и “sha256sum.txt.gpg” на компютъра си. Щракнете с десния бутон върху файловете и изберете "Save Link As", за да ги изтеглите.

    Отворете терминален прозорец на вашия работен плот на Linux и изтеглете ключа PGP. В този случай ключът PGP на Linux Mint се хоства на сървъра за ключове на Ubuntu и трябва да изпълним следната команда, за да го получим..

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

    Вашият сайт на Linux дистрибуцията ще ви насочи към ключа, от който се нуждаете.

    Сега имаме всичко, от което се нуждаем: ISO, файла с контролната сума, файла с цифровия подпис на контролната сума и ключа PGP. Така че следващата промяна е в папката, в която са изтеглени…

    cd ~ / Изтегляния

    … И изпълнете следната команда, за да проверите подписването на файла с контролната сума:

    gpg --уверете sha256sum.txt.gpg sha256sum.txt

    Ако командата GPG ви позволи да знаете, че изтегленият sha256sum.txt файл има „добър подпис“, можете да продължите. В четвъртия ред на скрийншота по-долу, GPG ни информира, че това е "добър подпис", който твърди, че е свързан с Clement Lefebvre, създател на Linux Mint.

    Не се притеснявайте, че ключът не е сертифициран с “доверен подпис”. Това се дължи на начина, по който работи PGP криптирането - не сте създали мрежа от доверие, като импортирате ключове от доверени хора. Тази грешка ще бъде много често срещана.

    И накрая, сега, когато знаем, че контролната сума е създадена от поддръжниците на Linux Mint, изпълнете следната команда, за да генерирате контролна сума от изтегления .iso файл и го сравнете с изтегления TXT файл с контролна сума:

    sha256sum - проверете sha256sum.txt

    Ще видите много съобщения „няма такъв файл или директория“, ако сте изтеглили само един ISO файл, но ще видите съобщение „OK“ за изтегления от вас файл, ако той съвпада с контролната сума.

    Можете също да изпълнявате командите за проверка директно в .iso файл. Тя ще разгледа .iso файла и изплюе контролната си сума. След това можете просто да проверите дали съответства на валидната контролна сума, като гледате и двете с очите си.

    Например, за да получите сумата SHA-256 на ISO файл:

    sha256sum /path/to/file.iso

    Или, ако имате стойност md5sum и трябва да получите md5sum на файл:

    md5sum /path/to/file.iso

    Сравнете резултата с TXT файла на контролната сума, за да видите дали съвпадат.

    Как да проверите контролна сума на Windows

    Ако изтегляте Linux ISO от машина на Windows, можете да проверите и контролната сума, въпреки че Windows не разполага с необходимия вграден софтуер. Така че ще трябва да изтеглите и инсталирате инструмента с отворен код Gpg4win.

    Намерете файла с подписващия ключ и контролната сума на вашия дистрибутив на Linux. Ще използваме Fedora като пример тук. Уебсайтът на Fedora осигурява изтегляне на контролна сума и ни казва, че можем да изтеглим ключа за подписване на Fedora от https://getfedora.org/static/fedora.gpg.

    След като изтеглите тези файлове, ще трябва да инсталирате ключа за подписване, като използвате програмата Kleopatra, включена в Gpg4win. Стартирайте Kleopatra и кликнете върху Файл> Импортиране на сертификати. Изберете файла .gpg, който сте изтеглили.

    Вече можете да проверите дали изтегленият файл за проверка е подписан с един от ключовите файлове, които сте импортирали. За да направите това, щракнете върху Файл> Дешифриране / проверка на файлове. Изберете изтегления файл за проверка. Махнете отметката от опцията „Входен файл е откъснат подпис“ и кликнете върху „Дешифриране / удостоверяване“.

    Сигурни сте, че ще видите съобщение за грешка, ако го направите по този начин, тъй като не сте преминали през трудностите да потвърдите, че сертификатите на Fedora всъщност са законни. Това е по-трудна задача. Това е начинът, по който PGP е предназначен да работи - вие срещате и обменяте ключове лично, например, и сглобявате мрежа от доверие. Повечето хора не го използват по този начин.

    Можете обаче да видите повече подробности и да потвърдите, че контролният файл е подписан с един от ключовете, които сте импортирали. Това е много по-добре, отколкото просто да се доверите на изтегления ISO файл, без да проверявате.

    Сега трябва да можете да изберете File (Файл)> Verify Checksum Files (Проверка на файловете за проверка) и да потвърдите, че информацията в файла с контролната сума съответства на изтегления .iso файл. Въпреки това, това не работи за нас - може би това е начинът, по който е изложен файлът за проверка на Fedora. Когато се опитахме с файла sha256sum.txt на Linux Mint, той работи.

    Ако това не работи за вашата дистрибуция на Linux, ето заобиколно решение. Първо щракнете върху Настройки> Конфигуриране на Kleopatra. Изберете “Crypto Operations”, изберете “File Operations” и задайте Kleopatra да използва “sha256sum” контролната програма, тъй като с нея е генерирана тази конкретна контролна сума. Ако имате MD5 контролна сума, изберете “md5sum” в списъка тук.

    Сега щракнете върху Файл> Създаване на файлове за проверка и изберете изтегления ISO файл. Kleopatra ще генерира контролна сума от изтегления .iso файл и ще го запише в нов файл.

    Можете да отворите и двата файла - изтегления контролен файл и този, който току-що сте генерирали - в текстов редактор като Notepad. Потвърдете, че контролната сума е идентична и в двете си очи. Ако е идентичен, сте потвърдили, че изтегленият от вас ISO файл не е бил подправен.


    Тези методи за проверка първоначално не бяха предназначени за защита срещу зловреден софтуер. Те са предназначени да потвърдят, че вашият ISO файл е изтеглен правилно и не е повреден по време на изтеглянето, за да можете да го записвате и използвате, без да се притеснявате. Те не са напълно сигурно решение, тъй като трябва да се доверите на PGP ключа, който изтегляте. Въпреки това, това все още осигурява много по-голяма сигурност, отколкото просто да използвате ISO файл, без изобщо да го проверите.

    Снимка: Едуардо Куалято на Flickr