Домашня » як » Як перевірити контрольну суму Linux ISO і підтвердити, що вона не була пошкоджена

    Як перевірити контрольну суму Linux ISO і підтвердити, що вона не була пошкоджена

    Минулого місяця веб-сайт Linux Mint був зламаний, і було виправлено модифікований ISO, який містив бекдор. Хоча проблема була вирішена швидко, вона демонструє важливість перевірки файлів ISO, які ви завантажували перед запуском та встановленням. Ось як.

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

    Перевірка контрольної суми на 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 --перевірити 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

    Якщо ви завантажуєте ISO із системи 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. Виберіть "Crypto Operations", виберіть "File Operations" і встановіть Kleopatra, щоб використовувати програму контрольної суми "sha256sum", оскільки саме з нею сформувалася ця контрольна сума. Якщо у вас є контрольна сума MD5, у списку виберіть "md5sum".

    Тепер натисніть Файл> Створити файли контрольної суми та виберіть завантажений файл ISO. Kleopatra створить контрольну суму з завантаженого файлу .iso і збереже його у новому файлі.

    Ви можете відкрити обидва ці файли - завантажений файл контрольної суми і той, який ви тільки що створили, - у текстовому редакторі, як, наприклад, "Блокнот". Підтвердьте, що контрольна сума ідентична в обох власними очима. Якщо він ідентичний, ви підтвердили, що завантажений файл ISO не підроблений.


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

    Зображення: Едуардо Квагліато на Flickr