Проверьте самостоятельно разме... Заметка
Сообщество RSS DEV

Проверьте самостоятельно размещенный установщик перед запуском от имени root

Выполнение установщика напрямую от имени root объединяет выбор артефактов, проверку целостности и одобрение выполнения в один рискованный шаг. Разделение этих решений на отдельные этапы повышает возможность проверки, воспроизводимости и восстановления. Четкая граница между источником и проверкой включает проверку архитектуры и выполнение базовых системных проверок перед загрузкой. Однако рассмотренный шаблон отключает проверку сертификатов с помощью curl -k и загружает файл без версионирования, без явных проверок на наличие закрепленных версий, хешей или подписей. Для улучшения этого следует отдельно публиковать манифест, содержащий неизменяемые метаданные, такие как версия, архитектура, имя файла, хеш SHA-256 и информацию о откате. Этот манифест, защищенный безопасным процессом выпуска, может быть проверен с использованием TLS или цифровых подписей.Проверка должна происходить как этап постановки без привилегий. Сопутствующий скрипт может проверять имя файла, точный размер, хеш, версию, архитектуру и метаданные отката по манифесту. Этот процесс проверки никогда не должен выполнять загруженный файл. Производственный поток требует загрузки артефакта, его проверки по манифесту, а затем, после явного решения об обслуживании, его выполнения с повышенными привилегиями. Ошибки сертификатов следует устранять путем исправления хранилища доверия или проблем развертывания, а не путем обхода проверки с помощью -k.Откат должен представлять собой четко определенный исполняемый план, включающий сведения о предыдущем артефакте, его манифесте, совместимости, командах обслуживания, проверках работоспособности, обратимых миграциях и процедурах очистки. Перед производственным развертыванием откат должен быть отрепетирован в канареечном окружении, включая симуляцию сбоев. Привилегированное выполнение должно быть разрешено только при успешной проверке TLS, указании неизменяемой версии, соответствии доверенного манифеста загруженному файлу, прохождении проверки подписи (если применимо), хороших результатах канареечных проверок работоспособности и проверенных процедурах отката. Этот структурированный подход превращает слепую операцию "из сети в root" в инспектируемый и автоматизируемый процесс.