Провера ISO датотека у Линуксу: контролне суме, GPG и најбоље праксе

  • Верификација ISO датотеке подразумева проверу њеног интегритета помоћу контролних збирки и њене аутентичности помоћу GPG потписа.
  • Услужни програми md5sum, sha1sum и sha256sum вам омогућавају да лако израчунате и проверите хешеве из терминала.
  • Датотеке SHA256SUMS и SHA256SUMS.gpg су кључне за потврду да ли се преузимања подударају са званичним сликама.
  • Генерисање и објављивање сопствених датотека контролних збирова олакшава другим корисницима брзу и безбедну проверу преузимања.

Проверите ИСО датотеке у Линуксу користећи контролне суме и ГПГ

Када преузимамо ГНУ/Линукс дистрибуцију, уобичајено је да преузмемо Направите ИСО слику и почните са креирањем УСБ диска за покретање система. Без много размишљања о томе шта се могло догодити успут. Истина је да, иако често ништа не крене по злу, слепо верујемо да је ISO датотека легитимна. Да је нико није дирао и да преузета датотека није оштећена.

Ако говоримо о комплетном оперативном систему, ствари се мењају. То су велике датотеке, потребно је много времена за њихово преузимање и, пре свега, Квар или манипулација у ISO-у може угрозити цео тимЗато је у свету Линукса толико уобичајено (и толико препоручљиво) провера интегритета и аутентичности ISO датотека коришћењем контролних збира и GPG потписа пре него што се нарежу на DVD или запишу на USB диск.

Шта значи верификовати ИСО: интегритет и аутентичност

Када верификујете ISO стандард, не вршите једну проверу, већ две различите провере које не треба мешати: интегритет датотеке и аутентичност њеног пореклаИнтегритет вам говори да ли је ISO који имате на диску идентичан оном који је био на серверу, бит по бит. Аутентичност вам говори да ли тај ISO и његови контролни збирови заиста потичу из пројекта за који тврде да представљају.

Интегритет се проверава кроз хеш функција (контролна сума) израчуната на целој датотециАко резултат који добијете на рачунару одговара оним који је објавила дистрибуција, то значи да ISO датотека није измењена током преузимања или оштећена током складиштења.

Аутентичност се потврђује кроз GPG дигитални потписи повезано са јавним кључевима програмераУ пракси, дистрибуција потписује датотеку која садржи контролне суме (на пример, SHA256SUMS) и ви проверавате да ли овај потпис одговара званичном кључу пројекта и да није модификован.

Иако многи људи проверавају само MD5 или SHA контролну суму и сматрају је валидном, ако је неко угрозио сервер за преузимање, могао би и... Замените ИСО и објавите лажни контролни збир.Стога, добра пракса укључује и валидацију GPG потписа датотеке са сумама.

ISO контролни збир за Линукc

Шта је контролна сума и зашто се користи у ISO датотекама?

Контролна сума је резултат примене контролне суме на датотеку. криптографска хеш функција која генерише јединствени стринг за тај садржај. Тај стринг је обично представљен хексадецимално (карактери 0-9 и af) и има фиксну дужину, без обзира на величину оригиналне датотеке.

У контексту ГНУ/Линукс дистрибуција, контролне суме се користе за проверите да ли се подаци нису променили откако је пројекат објавио сликуАко две датотеке производе исти хеш користећи исти алгоритам, сматрају се (у пракси) идентичним. Ако се хеш не подудара, довољан је један различити бит да потпуно промени вредност и омогући нам да откријемо проблем.

Постоји много хеш алгоритама, али они које ћете најчешће видети повезане са ISO датотекама су: MD5, SHA-1 и породица SHA-2 (SHA-256, SHA-384, SHA-512…)На страницама за преузимање за Debian, Ubuntu, Fedora или друге дистрибуције, често се поред ISO датотека налазе и датотеке са именима попут MD5SUMS, SHA1SUMS или SHA256SUMS.

Поступак је једноставан: преузмете ISO и његову хеш датотеку, израчунате ISO хеш на својој машини и Проверавате да ли се резултат подудара са вредношћу објављеном у датотеци контролне сумеАко се подудара, можете бити прилично сигурни да слика није оштећена или скраћена.

MD5 се данас сматра алгоритмом застарело за тешке безбедносне сврхејер су пронађене практичне колизије. Упркос томе, остаје користан за основну проверу интегритета. За велика преузимања, посебно ISO датотеке, боље је користити... SHA-256, који је тренутно препоручени стандард. у већини дистрибуција.

Врсте датотека које ћете пронаћи приликом преузимања ИСО датотеке

Приликом преузимања дистрибуције са њеног званичног сервера, уобичајено је да се, поред саме слике, пронађе низ додатних датотека. Свака од њих има своју намену и важно је знати које су. Коју функцију обавља свака врста датотеке и како је то повезано са верификацијом? што ћеш урадити.

Обично ћете наћи нешто овако (називи се могу мало разликовати између дистрибуција):

  • назив-дистрибуције-верзија-архитектура.isoСама слика, коју ћете снимити на УСБ диск или ДВД. На пример, ubuntu-20.04-desktop-amd64.iso, што означава дистрибуцију, верзију, издање (десктоп/сервер) и архитектуру.
  • МД5СУМСТекстуална датотека која садржи листу MD5 хешева за слике доступне у том директоријуму. Сваки ред повезује хеш са именом датотеке.
  • МД5СУМС.гпгGPG потпис MD5SUMS датотеке, генерисан помоћу програмерског кључа. Служи за проверу да ли MD5 хеш датотека заиста долази из пројекта и да није измењена.
  • СХА256СУМС: еквивалентно MD5SUMS-у, али користи SHA-256 алгоритам. Ово је датотека којој би требало да дате приоритет ако је доступна.
  • СХА256СУМС.гпгSHA256SUMS GPG дигитални потпис, који се користи за гаранцију његове аутентичности.

У неким дистрибуцијама ћете видети и SHA1SUMS, SHA512SUMS или сличне датотеке. Све оне прате исти принцип: листа сума и, опционо, придружени GPG потпис како бисте могли да проверите да листа није измењена.

Ако уместо преузимања ИСО датотеке путем HTTP/HTTPS-а то урадите користећи БитТоррент, већина клијената већ интегрише систем верификације Интерна обрада се заснива на деловима и делимичним хешовима, тако да су шансе да се добије оштећени ISO знатно смањене. Чак и тако, ако желите да будете апсолутно сигурни у његову аутентичност, и даље има смисла проверити GPG потпис датотеке sum.

Хеш функције у Линуксу

Како хеш функције функционишу (MD5, SHA-1, SHA-256…)

На практичном нивоу, не морате да разумете математику која стоји иза хешева, али је корисно схватити неколико основних концепата да бисте имали јасно разумевање. Зашто су толико корисни за проверу ИСО-а?Криптографска хеш функција узима датотеку било које величине и враћа стринг фиксне дужине; промена једног бита датотеке резултира потпуно другачијим хешем.

Захтеви за добру хеш функцију укључују да је једноставна за израчунавање у једном смислу, али практично немогуће инвестиратида је веома тешко пронаћи две различите датотеке са истим хешем (колизија) и да је отпоран на покушаје генерисања злонамерног садржаја који одговара одређеном хешу.

MD5 је годинама био де факто стандард за ову врсту верификације, али је напредак у криптографији показао да Могуће је направити различите датотеке са истим MD5 хешемСтога, иако је то и даље уобичајена пракса у неким пројектима, из безбедносних разлога се препоручује коришћење робуснијих алгоритама.

SHA-1 је побољшао неке од слабости MD5, али су такође идентификовани проблеми са колизијом и сматра се да је Није погодно за нове имплементације које захтевају високу безбедностSHA-2 породица (посебно SHA-256) је тренутно најизбалансиранија опција између безбедности и перформанси за ISO верификацију.

У пракси, ако дистрибуција нуди неколико датотека за сабирање, најбоља опција је да изаберете једну. SHA-256 или SHA-512 као прва опцијаОставите SHA-1 само за случајеве када нема друге опције и препустите MD5 основној провери интегритета када немате алтернативу.

Линукс алати за израчунавање и проверу контролних сума

Добра вест је да не морате да инсталирате ништа необично: већина модерних ГНУ/Линукс дистрибуција их већ укључује. Услужни програми командне линије за израчунавање и проверу хешеваОви алати су обично део coreutils-а или других основних пакета.

Најчешће команде на које ћете наићи су:

  • мдКСНУМКСсум: израчунава и проверава MD5 суме.
  • сха1сум: израчунава и проверава SHA-1 суме.
  • сха256сум: израчунава и проверава SHA-256 суме.
  • сха512сум: израчунава и проверава SHA-512 суме.

Њихово коришћење је веома једноставно. Ако желите да израчунате хеш одређене датотеке, једноставно покрените следећу команду у терминалу, из директоријума у ​​коме се налази ISO датотека:

cd Descargas
sha256sum nombre-de-tu-imagen.iso

Команда ће исписати ред са хешом и именом датотеке, које можете упоредити са вредношћу објављеном на веб локацији. Ако више волите MD5 или SHA-1, Формат команде је идентичан, мења се услужни програм (мд5сум, сха1сум, сха512сум…).

Поред израчунавања појединачних хешева, исти ови алати вам омогућавају да истовремено верификујете више датотека користећи провери режим са опцијом -cТу долази до изражаја датотека MD5SUMS или SHA256SUMS коју сте преузели заједно са ISO датотекама.

Провера интегритета ISO датотеке помоћу sum датотека

У типичном сценарију, преузимате и ISO слику и њену SHA256SUMS датотеку (и, ако је доступна, MD5SUMS или SHA1SUMS) са званичне веб странице дистрибуције. Структура ове датотеке је веома једноставна: сваки ред садржи хеш, размак, опционо звездицу или додатни размак и име датотеке.

Да бисте проверили ИСО са датотеком sum, само треба да одете у фасциклу у којој имате и слику и SHA256SUMS датотеку и покрените:

sha256sum -c SHA256SUMS

Услужни програм итеративно пролази кроз све SHA256SUMS линије и упоређује хеш који локално израчунава за сваку наведену датотеку са оним у документу. Ако је све у реду, приказаће нешто попут:

nombre-distro.iso: OK

У случају неслагања, било зато што је ISO оштећен или зато што Датотека се не подудара са листом сумаВидећете поруке попут ове:

nombre-distro.iso: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match

Исти поступак се примењује и на MD5 и SHA-1 заменом одговарајућег алата и датотеке, на пример:

md5sum -c MD5SUMS
sha1sum -c SHA1SUMS

Овај приступ је посебно погодан приликом преузимања више ISO датотека или више датотека одједном, јер Све датотеке проверавате одједном једном командом. и систем вам говори који су прошли тест, а који нису.

GPG потписи: провера аутентичности износа

До сада смо говорили само о интегритету, али недостаје друга компонента: уверите се да датотека са сумама заиста долази из пројекта а не од некога ко је компромитовао сервер. Ту долази до изражаја GnuPG (gpg), стандардни алат за руковање криптографијом јавног кључа у GNU/Linux-у.

Већина главних дистрибуција потписује своје hashsum датотеке (нпр. SHA256SUMS.gpg) приватним кључем повезаним са програмерима. Ви, као корисник, преузимате тај потпис и користите га. јавни кључ пројекта за верификацију да SHA256SUMS датотека није измењена.

Типичан ток рада са дистрибуцијом попут Убунтуа би био следећи, када инсталирате gpg и налазите се у директоријуму за преузимања:

gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

Ако ваш рачунар већ има исправно импортован и поуздан јавни кључ Ubuntu-а, gpg ће приказати поруку која указује на важећи потпис и идентификатор кључаАли је веома често да вам први пут када га покренете, каже да не зна тај јавни кључ.

У том случају, следећи корак би био увоз јавног кључа са поузданог сервера кључева. На пример, са Убунтуом бисте могли да урадите нешто овако:

gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xD94AA3F0EFE21092

Овим се преузима кључ са наведеним идентификатором са званичног сервера кључева. Након импортовања, поново покрећете команду за верификацију потписа користећи SHA256SUMS и сада би требало да добијете потврда да је потпис исправан и повезан је са кључем „Ubuntu CD Image Automatic Signing Key (2012)“ „или неки други сличан у зависности од дистрибуције.“

GPG може приказивати упозорења као што је „Нема назнака да потпис припада власнику“, што у суштини значи да Ниси означио тај кључ као апсолутно поуздан.Није фатална грешка: све док сте потврдили путем других средстава (званична веб страница, документација итд.) да је кључни отисак прста онај који је пројекат декларисао, можете наставити.

Практични пример: верификација недавног Ubuntu ISO-а

Да бисте ово јасно разумели, замислите да преузимате Ubuntu ISO (на пример, новију LTS верзију) са званичне веб странице. На тој страници ћете пронаћи везе до ISO-а, SHA256SUMS датотеке и њеног SHA256SUMS.gpg потписа, све у истом или оближњем директоријуму.

Кораци које бисте пратили би у суштини били следећи:

Прво, Преузмите одговарајући ISO за вашу архитектуру (на пример, 64-битна AMD64 слика радне површине), поред датотека SHA256SUMS и SHA256SUMS.gpg које одговарају тој верзији.

Затим, са инсталираним gpg-ом на вашем систему, требало би да проверите потпис датотеке sums помоћу:

gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS

Ако вам gpg каже да не може да пронађе кључ, можете га добити са сервера кључева повезаног са пројектом покретањем команде сличне оваквој:

gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0xD94AA3F0EFE21092

Када је кључ увезен и потпис SHA256SUMS датотеке потврђен, можете проверити ISO у односу на ту листу користећи:

sha256sum -c SHA256SUMS

Команда ће проверити све уносе и приказати поруку за сваку наведену датотеку. За новопреузети ISO, требало би да видите нешто попут овога: „ubuntu-XX.XX-desktop-amd64.iso: Збир подударања“ или „ОК“, потврђујући да локална слика тачно одговара оном који су објавили програмери.

Ручно проверите једну контролну суму

Понекад немате комплетну датотеку са збиром или вам је на страници за преузимање дат само један хеш. У том случају, можете извршити и „старомодну“ верификацију. израчунавање локалне контролне суме и њено ручно упоређивање са објављеном вредношћу.

Замислите да сте преузели Red Hat ISO датотеку и да веб локација приказује само SHA-1 хеш те слике. У вашем радном директоријуму покрећете:

sha1sum redhat7-x64.iso

Команда ће вратити нешто попут:

2ac2f3368e6c9fe4d7201d85ad85528698aeaf08 redhat7-x64.iso

Одатле, само треба да упоредите визуелно или копирањем/лепљењем тог хеша Упоредите име датотеке са оним приказаним на веб локацији или у малој текстуалној датотеци коју сте преузели. Ако се подударају знак по знак, интегритет датотеке је загарантован; ако се разликују, мораћете поново да је преузмете.

Проверите више ISO датотека одједном

Постоје ситуације када ћете преузети неколико слика одједном (на пример, различите верзије или архитектуре) и не желите да их проверавате једну по једну. Срећом, датотеке MD5SUMS, SHA1SUMS или SHA256SUMS их обично групишу заједно. сви збирови директоријума у ​​једном документу, само да бисте могли да извршите групну верификацију у једном кораку.

Претпоставимо да имате шест различитих ISO датотека у фасцикли и да сте преузели датотеке MD5SUM, SHA1SUM и SHA256SUM. За MD5 провере, урадили бисте нешто овако:

md5sum -c MD5SUM

Излаз ће навести сваки ISO заједно са „OK“ или „FAILED“ у зависности од тога да ли се збир подудара или не. Исто важи и за SHA-1 и SHA-256, само што се мења алат и датотека:

sha1sum -c SHA1SUM
sha256sum -c SHA256SUM

Ако икада намерно измените ИСО датотеку или ако се она оштети због квара диска, видећете да Само тај одређени унос означава НЕУСПЕХ Иако је све остало у реду, програми ће вас упозорити поруком као што је „УПОЗОРЕЊЕ: 1 израчуната контролна сума се НИЈЕ подударала“, тако да знате да је нешто пошло по злу.

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

Поред провере онога што други објављују, можете креирати и сопствене датотеке контролних збирова ако планирате да делите ИСО датотеке или било коју другу врсту датотеке са више људи. Једноставно је као коришћење истих алата, али преусмеравање стандардног излаза у датотеку које затим можете отпремити заједно са преузимањима.

На пример, ако сте припремили неколико ISO слика у директоријуму и желите да генеришете MD5SUM датотеку са свима њима, можете урадити следеће:

md5sum *.iso > MD5SUM

Команда ће скенирати све ISO датотеке у фолдеру и сачувати листу хешева и имена у MD5SUM датотеку. Слично томе, можете креирати документе користећи SHA-1 или SHA-256:

sha1sum *.iso > SHA1SUM
sha256sum *.iso > SHA256SUM

Објављивањем ових верификационих датотека заједно са вашим датотекама, свако ће моћи да покрене мд5сум -ц, сха1сум -цо сха256сум -ц на њима и проверите да ли су преузимања прошла добро и да их нико није изменио током транспорта.

Ако желите да идете корак даље и понудите гаранције аутентичности, могли бисте чак и дигитално потпишите те датотеке са збирним подацима Коришћење сопственог GPG кључа, слично као што то раде велики пројекти. На овај начин, свако ко прими материјал може да потврди не само да су подаци комплетни, већ и да заиста долазе од вас.

Усвајање навике провере контролних сума и ГПГ потписа пре инсталирања Линук дистрибуције траје врло мало времена, а заузврат пружа важан слој безбедности, спречавајући инсталације са оштећеним или манипулисаним ИСО датотекама и помажући вам да откријете проблеме пре него што утичу на ваш рачунар.

Лако креирајте УСБ диск са вишеструким покретањем помоћу Вентоија
Повезани чланак:
Како лако креирати мултибут УСБ диск помоћу Вентои-а