Как проверить контрольную сумму ISO-образа Linux и подтвердить, что она не была подделана

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

Дистрибутивы Linux публикуют контрольные суммы, чтобы вы могли подтвердить, что загружаемые вами файлы соответствуют их требованиям, и они часто подписаны, поэтому вы можете проверить, что сами контрольные суммы не были изменены Это особенно полезно, если вы загружаете ISO-файл не с основного сайта, например со стороннего зеркала, или с помощью BItTorrent, где людям гораздо проще подделать файлы.

Как этот процесс работает

Процесс проверки ISO является немного сложным, поэтому, прежде чем мы перейдем к точным шагам, давайте объясним точно, что влечет за собой этот процесс:

  1. Вы загрузите ISO-файл Linux с веб-сайта дистрибутива 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 в файле контрольной суммы, а затем проверяете свою загрузку с этой контрольной суммой, это все, что вы можете сделать, когда конечный пользователь загружает ISO-образ Linux. Вы все еще в гораздо большей безопасности, чем люди, которые не беспокоятся.

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

Мы будем использовать Linux Mint в качестве примера, но вам может потребоваться поискать на веб-сайте вашего дистрибутива Linux, чтобы найти варианты проверки, которые он предлагает. Для Linux Mint предоставляются два файла вместе с загрузкой ISO на зеркалах загрузки. Загрузите ISO, а затем загрузите файлы «sha256sum.txt» и «sha256sum.txt.gpg» на свой компьютер. Щелкните правой кнопкой мыши файлы и выберите «Сохранить ссылку как», чтобы загрузить их.

На рабочем столе Linux откройте окно терминала и загрузите ключ PGP. В этом случае ключ PGP Linux Mint размещается на сервере ключей Ubuntu, и для его получения необходимо выполнить следующую команду.

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

Сайт вашего дистрибутива Linux укажет вам ключ, который вам нужен.

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

 cd ~/Downloads 

… И выполните следующую команду, чтобы проверить подпись файла контрольной суммы:

 gpg --verify sha256sum.txt.gpg sha256sum.txt 

Если команда GPG сообщает, что загруженный файл sha256sum.txt имеет «хорошую подпись», вы можете продолжить.В четвертой строке скриншота ниже, GPG сообщает нам, что это «хорошая подпись», которая утверждает, что связана с Клементом Лефевром, создателем Linux Mint.

Не беспокойтесь, что ключ не сертифицирован «доверенной подписью». Это связано с тем, как работает шифрование PGP – вы не настроили сеть доверия, импортируя ключи от доверенных лиц. Эта ошибка будет очень распространенной.

Наконец, теперь, когда мы знаем, что контрольная сумма была создана сопровождающими Linux Mint, выполните следующую команду, чтобы сгенерировать контрольную сумму из загруженного файла .iso и сравнить ее с загруженным файлом TXT контрольной суммы:

 sha256sum --check sha256sum.txt 

Вы увидите много сообщений «нет такого файла или каталога», если вы загрузили только один файл ISO, но вы должны увидеть сообщение «ОК» для загруженного файла, если он соответствует контрольной сумме.

Вы также можете запускать команды контрольной суммы непосредственно в файле .iso. Он изучит файл .iso и выложит контрольную сумму. Затем вы можете просто проверить, соответствует ли она действительной контрольной сумме, взглянув на оба глазами.

Например, чтобы получить сумму SHA-256 файла ISO:

 sha256sum /path/to/file.iso 

Или, если у вас есть значение md5sum и вам нужно получить md5sum файла:

 md5sum /path/to/file.iso 

Сравните результат с файлом контрольной суммы TXT, чтобы увидеть, совпадают ли они.

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

Если вы загружаете ISO-образ Linux с компьютера с Windows, вы также можете проверить контрольную сумму там, хотя в Windows нет необходимого встроенного программного обеспечения. Итак, вам нужно скачать и установить инструмент Gpg4win с открытым исходным кодом.

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

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

Теперь вы можете проверить, был ли загруженный файл контрольной суммы подписан одним из импортированных вами ключей. Для этого нажмите «Файл»> «Расшифровать/проверить файлы». Выберите загруженный файл контрольной суммы. Снимите флажок «Входной файл является отдельной подписью» и нажмите «Расшифровать/проверить».

Вы обязательно увидите сообщение об ошибке, если сделаете это таким образом, поскольку у вас не было проблем с подтверждением того, что эти сертификаты Fedora действительно являются законными. Это более сложная задача. Именно так PGP и работает, например, вы встречаетесь и обмениваетесь ключами лично, а также собираете паутину доверия. Большинство людей не используют это таким образом.

Однако вы можете просмотреть дополнительные сведения и подтвердить, что файл контрольной суммы был подписан одним из импортированных вами ключей. В любом случае, это гораздо лучше, чем просто доверять загруженному ISO-файлу без проверки.

Теперь вы сможете выбрать «Файл»> «Проверить файлы контрольной суммы» и подтвердить, что информация в файле контрольной суммы соответствует загруженному файлу .iso. Тем не менее, это не сработало для нас – возможно, именно так выложен файл контрольной суммы Fedora. Когда мы попробовали это с файлом sha256sum.txt в Linux Mint, это сработало.

Если это не работает для вашего дистрибутива Linux, вот обходной путь. Сначала нажмите Настройки> Настроить Клеопатру. Выберите «Операции шифрования», выберите «Операции с файлами» и настройте Kleopatra на использование программы контрольной суммы «sha256sum», поскольку именно с этой конкретной контрольной суммой был сгенерирован. Если у вас есть контрольная сумма MD5, выберите «md5sum» в списке здесь.

Теперь нажмите «Файл»> «Создать файлы контрольной суммы» и выберите загруженный файл ISO. Kleopatra сгенерирует контрольную сумму из загруженного файла .iso и сохранит ее в новом файле.

Вы можете открыть оба этих файла – загруженный файл контрольной суммы и только что созданный файл – в текстовом редакторе, таком как Блокнот. Убедитесь, что контрольная сумма идентична в обоих ваших глазах. Если он идентичен, вы подтвердили, что загруженный ISO-файл не был подделан.

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

Изображение предоставлено: Эдуардо Квальято на Flickr

Оцените статью
TutoryBird.Ru
Добавить комментарий