VK Business Analytics logo
Помощь
Обновлена 3 сентября 2026 г. в 14:11

Проверка целостности

Эта статья описывает, как проверить целостность Docker-образов, Helm chart и RPM-пакетов VK Business Analytics перед их установкой или обновлением. Проверка целостности позволяет убедиться, что артефакты не были повреждены при скачивании и не были изменены (в том числе злоумышленником) между публикацией и получением артефакта.

Актуальные контрольные суммы (дайджесты) для всех образов и Helm chart каждого релиза опубликованы в разделе Список артефактов.

Проверка Docker-образов

Каждому Docker-образу, опубликованному в реестре registry-pm.taxmon.ru, соответствует уникальный дайджест SHA-256, вычисляемый на основе содержимого манифеста и слоёв образа. Дайджест указан в таблице Образы Docker раздела Список артефактов для каждой версии релиза.

Проверка при получении образа (транспортная целостность)

Docker самостоятельно вычисляет и проверяет контрольные суммы SHA-256 всех слоёв образа при выполнении команды docker pull, поэтому повреждение данных при передаче по сети обнаруживается автоматически, и команда завершится ошибкой, если данные повреждены.

Чтобы дополнительно убедиться, что скачанный образ соответствует ожидаемой версии, воспользуйтесь дайджестом образа. Получить дайджест локально скачанного образа можно следующей командой:

docker images --digests registry-pm.taxmon.ru/vkbi-admin:26.3.0# Ожидаемый вывод:REPOSITORY                             TAG      DIGEST                                                                   IMAGE ID       CREATED        SIZEregistry-pm.taxmon.ru/vkbi-admin       26.3.0   sha256:15af039f3782c01d18ed023537baf72dc4c90f550a097e2334b7c9b3d1bf4ff2   1a2b3c4d5e6f   2 weeks ago    412MB

Также можно использовать команду docker inspect:

docker inspect --format='{{index .RepoDigests 0}}' registry-pm.taxmon.ru/vkbi-admin:26.3.0# Ожидаемый вывод:registry-pm.taxmon.ru/vkbi-admin@sha256:15af039f3782c01d18ed023537baf72dc4c90f550a097e2334b7c9b3d1bf4ff2

Сравните полученный дайджест sha256:... с эталонным значением из раздела Список артефактов. Совпадение подтверждает, что вы получили именно тот образ, который был опубликован разработчиком, без подмены или искажения содержимого.

Пример успешной проверки — дайджест локального образа совпадает с эталонным:

  • Эталон: sha256:15af039f3782c01d18ed023537baf72dc4c90f550a097e2334b7c9b3d1bf4ff2
  • Локально: sha256:15af039f3782c01d18ed023537baf72dc4c90f550a097e2334b7c9b3d1bf4ff2
  • Результат: OK, дайджесты совпадают.

Пример неуспешной проверки — дайджесты не совпадают:

  • Эталон: sha256:15af039f3782c01d18ed023537baf72dc4c90f550a097e2334b7c9b3d1bf4ff2
  • Локально: sha256:9e4d2a7c1b0f83a5d6c9e0b1a2f3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5
  • Результат: MISMATCH, дайджесты не совпадают.

Проверка целостности файловой системы работающего контейнера

После загрузки и запуска образа Docker не отслеживает целостность файлов контейнера в реальном времени: если файлы контейнера были изменены (например, пользователем с правами root на хосте), Docker выполнит изменённый код без предупреждения. Чтобы убедиться, что файловая система работающего контейнера не была изменена по сравнению с исходным образом, используйте команду docker diff:

docker diff <имя_или_id_контейнера>

Вывод команды содержит список изменённых файлов с одним из следующих признаков:

Признак
Значение
A
Файл добавлен
D
Файл удалён
C
Файл изменён (может свидетельствовать об аномалии, если изменение не ожидалось)

Если команда docker diff для только что запущенного контейнера возвращает изменения, не связанные с ожидаемой инициализацией приложения (например, изменения конфигурационных файлов, бинарных файлов приложения и т. п.), это может свидетельствовать о вмешательстве в целостность образа.

Для дополнительной защиты от вмешательства во время работы контейнера рекомендуется запускать production-контейнеры с файловой системой в режиме "только чтение":

docker run --read-only <имя_образа>

Проверка Helm chart

Файл Helm chart (.tgz) распространяется вместе с контрольной суммой SHA-256, указанной в таблице Helm Chart соответствующей версии релиза.

Для проверки целостности скачанного файла на управляющем узле с ОС Linux выполните команду sha256sum, указав путь к файлу chart'а:

sha256sum vkba-26.3.0.tgz

Сравните полученное значение с эталонным значением из раздела Список артефактов для соответствующей версии.

Пример успешной проверки. Если вычисленная сумма совпадает с эталонной, вывод команды будет содержать точное совпадение хеша:

$ sha256sum vkba-26.3.0.tgz03c78a3de4107c513d71a2fc400729608395eb68cd19af00568c4a20b8d56917  vkba-26.3.0.tgz

Для автоматизации сравнения можно использовать флаг проверки по эталонному файлу, содержащему ожидаемую сумму:

echo "03c78a3de4107c513d71a2fc400729608395eb68cd19af00568c4a20b8d56917  vkba-26.3.0.tgz" > vkba-26.3.0.tgz.sha256sha256sum -c vkba-26.3.0.tgz.sha256# Ожидаемый вывод:vkba-26.3.0.tgz: OK

Пример неуспешной проверки. Если файл был повреждён или изменён при передаче, вычисленное значение хеша не совпадёт с эталонным:

$ sha256sum vkba-26.3.0.tgza1b2c3d4e5f60718293a4b5c6d7e8f90112233445566778899aabbccddeeff0  vkba-26.3.0.tgz

При использовании режима проверки по файлу с эталонной суммой несовпадение отображается явно:

$ sha256sum -c vkba-26.3.0.tgz.sha256vkba-26.3.0.tgz: FAILEDsha256sum: WARNING: 1 computed checksum did NOT match

Проверка RPM-пакетов

Если установка VK Business Analytics выполняется с использованием RPM-пакетов, то каждый пакет поставляется в комплекте с файлом контрольной суммы .sha256, содержащим эталонное значение хеша SHA-256 для данного пакета.

Для проверки целостности RPM-пакета выполните команду sha256sum -c, указав соответствующий файл контрольной суммы:

sha256sum -c vkbi-admin-26.3.0.x86_64.rpm.sha256# Ожидаемый вывод:vkbi-admin-26.3.0.x86_64.rpm: OK

Если пакет был повреждён или изменён при передаче, команда сообщит о несовпадении:

$ sha256sum -c vkbi-admin-26.3.0.x86_64.rpm.sha256vkbi-admin-26.3.0.x86_64.rpm: FAILEDsha256sum: WARNING: 1 computed checksum did NOT match

Действия при обнаружении несовпадения контрольной суммы

Если вычисленная контрольная сумма (SHA-256) файла Helm chart, RPM-пакета или дайджест Docker-образа не совпадает с эталонным значением:

  1. Не устанавливайте и не запускайте проверяемый артефакт — его целостность не подтверждена, а происхождение и содержимое считаются недоверенными.
  2. Убедитесь, что для сравнения используется эталонное значение, соответствующее правильной версии релиза.
  3. Удалите скачанный файл, образ или пакет и повторите его получение (загрузку/docker pull) из доверенного источника, после чего повторите проверку.
  4. Если контрольная сумма не совпадает после повторного скачивания, обратитесь в службу поддержки VK Business Analytics, приложив к обращению:
    • версию релиза и наименование артефакта (образ, Helm chart или RPM-пакет);
    • эталонное значение контрольной суммы;
    • фактическое значение контрольной суммы, полученное при проверке;
    • способ и источник получения артефакта.

Для направления обращения используйте один из следующих каналов связи:

Служба поддержки поможет установить причину несовпадения и предоставит доверенную копию артефакта при необходимости.

Была ли статья полезна?