Как проверить целостность Linux ISO перед установкой

Зачем проверять ISO-файлы
Чаще всего ISO можно просто скачать и установить. Но файл на сервере или в торрентах может повредиться при передаче. В редких, но опасных случаях злоумышленник может подменить ISO поддельной сборкой, которая скомпрометирует систему после установки.
Разработчики дистрибутивов обычно публикуют контрольные суммы (checksums) и/или GPG-подписи рядом со ссылками на загрузку. Сравнив контрольную сумму скачанного ISO с официальной, вы убедитесь, что файл не изменён и не повреждён.
Основные форматы контрольных сумм
- MD5 — устаревший, не рекомендуется для защиты от злонамеренных подмен (подходит для проверки случайных повреждений).
- SHA-1 — слабее современных стандартов; лучше избегать для безопасности.
- SHA-256 — современный и широко используемый баланс скорости и безопасности.
Если разработчик предоставляет GPG/PGP-подпись (файл .sig или .asc), предпочтительнее проверить именно её — подпись связывает контрольную сумму с конкретным приватным ключом разработчика.
Как отобразить контрольную сумму файла
Для MD5 на Linux:
md5sum -b имя_файла.isoДля SHA-256:
sha256sum -b имя_файла.isoНа macOS можно использовать shasum:
shasum -a 256 имя_файла.isoНа Windows PowerShell (встроенная команда):
Get-FileHash -Algorithm SHA256 .\имя_файла.isoИли с помощью certutil (старый метод):
certutil -hashfile имя_файла.iso SHA256Сравните полученный хеш с тем, что опубликовали разработчики.
Сравнение контрольных сумм
После вычисления просто сверяйте две строки: вашу и официальную. Они должны совпасть посимвольно.
Если значения отличаются — не используйте этот ISO. Это означает повреждение файла или возможную подмену на сервере.
Важно: совпадающая контрольная сумма гарантирует, что файл не изменялся после вычисления этой суммы, но не гарантирует, что оригинальный файл был безопасен изначально (см. раздел про подделку контрольных сумм).
Проверка GPG/PGP-подписи (рекомендуется)
Когда разработчик публикует файл вида SHA256SUMS и файл подписи SHA256SUMS.sig, безопасный порядок действий таков:
- Скачайте ISO, файл SHA256SUMS и файл SHA256SUMS.sig
- Получите публичный ключ разработчика (обычно доступен на сайте проекта или в публичных серверах ключей).
- Импортируйте ключ в локальный GPG-хранилище:
gpg --import dev-public-key.asc- Проверьте подпись:
gpg --verify SHA256SUMS.sig SHA256SUMSЕсли подпись проверилась — файл SHA256SUMS действительно создан владельцем приватного ключа. После этого можно безопасно сравнить контрольную сумму ISO со значением в SHA256SUMS.
Примечание: проверка подписи над контрольными суммами обеспечивает привязку суммы к конкретному разработчику и защищает от ситуации, когда злоумышленник подменил и сам ISO, и список контрольных сумм.
Что делать, если подпись не проверяется
- Не используйте ISO.
- Попробуйте получить публичный ключ с другого доверенного источника (официальные зеркала, страницы разработчика, ключи на GitHub/GitLab при наличии).
- Свяжитесь с сообществом/поддержкой дистрибутива.
Альтернативные подходы и дополнительные меры
- Торренты: использование официальных torrent-файлов часто снижает риск повреждений при передаче (контроль целостности блоков встроен), но подпись torrent-файла или проверка контрольных сумм всё равно полезна.
- Зеркала: скачивайте с официальных списков зеркал. Сомнительные зеркала могут предоставлять изменённые файлы.
- HTTPS + HSTS: HTTPS помогает, но атакующий, контролирующий сертификаты или сеть, всё ещё может провести атаку. GPG-подпись сильнее, так как привязывает содержимое к ключу.
Когда проверка хешей может не помочь
- Если злоумышленник подменит одновременно ISO и страницу с контрольными суммами на том же сервере или зеркале, то простое сравнение чисел не выявит подмену. Именно поэтому проверка подписи GPG над списком сумм или проверка цифровых подписей релиза важна.
Пошаговая методология (минимум для безопасной проверки)
- Скачать ISO с официального сайта или официального зеркала.
- Сохранить файл SHA256SUMS и файл подписи (если есть).
- Вычислить локальную SHA-256 сумму.
- Импортировать публичный ключ разработчика и проверить подпись списка сумм.
- Убедиться, что ваша локальная сумма совпадает с подписанной суммой.
- Если всё в порядке — записать ISO на носитель или монтировать.
Быстрая инструкция для пользователей Windows (шаблон)
- Скачайте ISO и SHA256SUMS.
- В PowerShell выполните:
Get-FileHash -Algorithm SHA256 .\имя_файла.iso- Сравните строку с SHA256SUMS.
- При наличии подписи — используйте GPG4Win для проверки подписи.
Рольовые чек-листы
Для обычного пользователя:
- Скачать ISO с официального сайта
- Вычислить SHA-256
- Сравнить с официальной суммой
Для администратора/инженера релизов:
- Подписать файл со списком сумм приватным ключом
- Публиковать публичный ключ в нескольких доверенных местах
- Поддерживать зеркала и проверять целостность релизов
Критерии приёмки
- Локально вычисленный SHA-256 совпадает с официальным значением.
- Если есть подпись — она успешно проверена через GPG.
- Публичный ключ разработчика получен из доверенного источника.
Отладка и частые проблемы
- Разные форматы вывода: иногда хеш может быть в верхнем/нижнем регистре или с путём к файлу. Сравнивайте только последовательность символов хеша.
- Повреждение при скачивании: повторите загрузку через другой источник.
- Несовпадающий хеш: не используйте файл, сообщите разработчикам.
Decision flowchart
flowchart TD
A[Скачали ISO] --> B{Есть SHA256SUMS и подпись?}
B -- Да --> C[Скачать SHA256SUMS и SHA256SUMS.sig]
C --> D[Импортировать публичный ключ]
D --> E[gpg --verify SHA256SUMS.sig SHA256SUMS]
E -- Подпись ОК --> F[Сравнить локальный SHA256 с подписанным]
E -- Подпись НЕ ОК --> X[Не использовать ISO, опубликовать инцидент]
B -- Нет --> G[Сравнить локальный SHA256 с опубликованным значением]
G --> H{Совпадает?}
H -- Да --> I[Можно использовать ISO]
H -- Нет --> XКогда всё готово
После верификации ISO можно записать его на USB-накопитель (например, с помощью dd, balenaEtcher или Rufus) или смонтировать локально и извлечь файлы. Если вы сомневаетесь в подлинности или происхождении ключей — отложите установку и свяжитесь с сообществом дистрибутива.
Короткое резюме в конце
Проверка контрольных сумм и GPG-подписей — простая, но мощная практика безопасности. Она предотвращает случайные повреждения и защищает от подмен ISO-файлов. Всегда предпочитайте подписи GPG поверх простых хешей, загружайте с официальных источников и сохраняйте осторожность при сомнениях.
Important: если вы хотите максимальную безопасность, комбинируйте проверку SHA-256 и GPG, а также используйте официальные зеркала и доверенные ключи разработчиков.
Похожие материалы
Закрепить сайт в Dock на Mac — Chrome и Edge
Установка драйвера сканера Epson в Windows 10
Старый iPad как детский планшет: руководство
Snapins, модули и автозагрузка PowerShell
Как смотреть Hulu из‑за пределов США