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

    Как проверить контрольную сумму 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 ~ / Загрузки

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

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

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

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

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

    sha256sum - проверить 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