Верификация загрузок
Проверка достоверности
Этот метод проверяет цифровую подпись файла SHA256SUMS
контрольных сумм. Убедившись,
что цифровая подпись принадлежит Ubuntu, вы можете
с уверенностью использовать эти контрольные суммы чтобы удостовериться, что загруженные файлы не были подделаны
или повреждены.
Preparations
Windows
Мы рекомендуем использовать Windows Subsystem for Linux (WSL), которая позволяет запустить Ubuntu внутри Windows. Таким образом вы получите доступ к среде GNU/Linux для запуска команд для GPG и контрольных сумм.
Для настройки такой среды, пожалуйста, посмотрите:
После установки перейдите к разделу шаги.
macOS
Вам потребуется установить GnuPG (утилиту для проверки цифровой подписи) и
sha256sum
(для проверки контрольной суммы). Мы рекомендуем выполнить их установку через
терминальный пакетный менеджер для macOS Homebrew.
- Установите: https://brew.sh/
-
Запустите:
brew install gnupg brew install coreutils
После установки перейдите к разделу шаги.
GNU/Linux
Большинство, если не все, дистрибутивов (включая Ubuntu MATE), имеют предустановленными пакеты
с программами gnupg
и sha256sum
. Если они у вас еще не установлены, то вы можете их установить
с помощью менеджера управления пакетами вашего дистрибутива.
В Ubuntu, sha256sum
содержится в пакете coreutils
.
Шаги
1. Загрузка контрольных сумм и цифровой подписи
Для загрузок, предоставляемых Canonical:
- http://cdimages.ubuntu.com/ubuntu-mate/releases/
- Загрузите файлы
SHA256SUM
иSHA256SUM.gpg
.
Сервер загрузок Canonical использует HTTP! Разве это безопасно?
Такой вопрос задается достаточно часто. Мы используем инфраструктуру Canonical будучи официальной редакцией Ubuntu. Много зеркал с архивами не используют SSL для уменьшения накладных расходов, вызываемых HTTPS.
Цифровая подпись GPG проверяется с помощью сервера ключей Ubuntu. Поэтому, независимо от места получения вами файла, вы можете ему доверять при совпадении цифровой подписи.
Или для предоставляемых нами портов для устройств:
- https://releases.ubuntu-mate.org
- Загрузите файлы
.sha256
и.sha256.sign
.
Вначале нужно проверить наличие ключа подписи:
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
Или:
gpg --keyid-format long --verify *.sha256.sign *.sha256
Если вы видите:
gpg: Подпись сделана Четверг, 17 Октябрь 2019 PM03:13:47 BST
gpg: ключом DSA с идентификатором 46181433FBB75451
gpg: Не могу проверить подпись: Нет открытого ключа
gpg: Подпись сделана Четверг, 17 Октябрь 2019 PM03:13:47 BST
gpg: ключом RSA с идентификатором D94AA3F0EFE21092
gpg: Не могу проверить подпись: Нет открытого ключа
Если у вас нет открытого ключа, то используйте шаг 2, а в противном случае можете его пропустить и перейти к шагу 3.
2. Получение ключа (если необходимо)
Ниже представлен способ загрузки ключа подписи с сервера ключей. Это однократная операция с тем исключением, что ключи могли быть обновлены.
В этом конкретном случае нам нужны два ключа - 46181433FBB75451
и D94AA3F0EFE21092
.
Используйте команду ниже с добавлением 0x
в начало каждого из этих ключей, т.е.:
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092
Вы получите вывод похожий на:
gpg: ключ D94AA3F0EFE21092: импортирован открытый ключ “Ubuntu CD Image Automatic Signing Key (2012) [email protected]”
gpg: ключ 46181433FBB75451: 110 подписей не проверено за отсутствием ключа
gpg: ключ 46181433FBB75451: импортирован открытый ключ “Ubuntu CD Image Automatic Signing Key [email protected]”
gpg: абсолютно доверенных ключей не найдено
gpg: Всего обработано: 2
gpg: импортировано: 2
Или:
gpg: ключ 7454357CFFEE1E5C: импортирован открытый ключ “Martin Wimpress [email protected]” gpg: Всего обработано: 1 gpg: импортировано: 1
Подозрения должны возникнуть в случаях если открытый ключ принадлежит случайному проходимцу или выглядит поддельно.
3. Есть совпадение?
Выполните команду:
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
Посмотрите ее вывод:
gpg: Подпись сделана Четверг, 17 Октября 2019 PM03:13:47 BST
gpg: ключом DSA с идентификатором 46181433FBB75451
gpg: Действительная подпись пользователя “Ubuntu CD Image Automatic Signing Key [email protected]” [неизвестно]
gpg: Внимание: Данный ключ не заверен доверенной подписью!
gpg: Нет указаний на то, что подпись принадлежит владельцу.
Отпечаток первичного ключа: C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451
gpg: Подпись сделана Четверг, 17 Октября 2019 PM03:13:47 BST
gpg: ключом RSA с идентификатором D94AA3F0EFE21092
gpg: Действительная подпись пользователя “Ubuntu CD Image Automatic Signing Key (2012) [email protected]” [неизвестно]
gpg: Внимание: Данный ключ не заверен доверенной подписью!
gpg: Нет указаний на то, что подпись принадлежит владельцу.
Отпечаток первичного ключа: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
Обратите внимание на полужирные строки, которые подтверждают подпись файлов командой в Ubuntu. Если это не так, то результатом является НЕПРАВИЛЬНАЯ подпись.
The “key is not certified” message is simply because you haven’t explicitly told GnuPG to trust this key. This is optional. You can learn more about GnuPG on the wiki page.
4. Верификация файлов ISO
Теперь мы знаем, что файл контрольной суммы не был подделан, поэтому мы можем проверять целостность как обычно.
sha256sum -c SHA256SUMS 2>&1 | grep -E 'OK|ЦЕЛ'
Вы должны увидеть сообщение “ЦЕЛ” (или “OK”) в результате:
ubuntu-mate-20.04-desktop-amd64.iso: ЦЕЛ
Пустая строка будет означать, что файл поврежден и вам следует загрузить его повторно.
Существуют другие способы проверки целостности, которые не требуют использования терминала, посмотрите страницу Проверка целостности для подробностей.
Эта страница является адаптацией руководства верификации Ubuntu.