памылка: праверка gpg не ўдалася - памылка: gpg не ўдалося падпісаць дадзеныя - памылка gpg

Памылка "Чаму?": праверка GPG у вашай зборцы не ўдалася (і як яе бяспечна выправіць)

Разуменне таго, чаму праверкі GPG не спрацоўваюць падчас зборкі

Калі ваш CI/CD pipeline брэйкі з памылка: праверка gpg не ўдалася, гэта не проста праблема са зборкай; гэта сігнал таго, што цэласнасці артэфактаў нельга давяраць. Распаўсюджаныя прычыны ўключаюць:

  • Тэрмін дзеяння ключоў GPG скончыўся або яны былі адкліканыя
  • Адсутнасць даверу да імпартаваных ключоў
  • Непадпісаныя або падробленыя артэфакты
  • Няправільна настроеныя брелокі ў эфемерных асяроддзях зборкі

Прыклады памылак, з якімі часта сутыкаюцца распрацоўшчыкі:

Гэтыя паведамленні пра памылкі GPG з'яўляюцца падчас усталёўкі пакетаў, зборкі Docker або CI/CD дазвол залежнасцей. Замест таго, каб абыходзіць іх, распрацоўшчыкам трэба ставіцца да іх як да трывожных сігналаў ланцужка паставак.

Рызыкі бяспекі, звязаныя з ігнараваннем памылак GPG у Pipelines

Узнікае спакуса прапусціць праверку подпісу, калі памылка: праверка gpg не ўдалася блакуе рэліз. Але ігнараванне паведамленняў пра памылкі GPG дазваляе непадпісаным або шкоднасным артэфактам трапляць у вашы зборкі.

Чаму гэта важна для ланцужка паставак:

  • Непадпісаныя залежнасціЗламыснікі могуць падсунуць заражаныя траянамі версіі ў публічныя рэпазіторыі.
  • Падробленыя пакетыАтака тыпу «чалавек пасярэдзіне» ўводзіць змененыя двайковыя файлы, пакуль ваш pipeline шчасліва ігнаруе GPG.
  • Адкаты і дрэйфБез падпісанай праверкі распрацоўшчыкі не могуць гарантаваць, што артэфакт у прадукцыйнай версіі адпавядае таму, што было пратэставана.

Ігнараванне гэтых памылак эквівалентна адключэнню TLS з-за таго, што ён «занадта шумны». У тэрміналогіі DevSecOps кожная памылка GPG — гэта абарончы механізм ланцужка паставак.

Дыягностыка і выпраўленне праблем з ключом і подпісам GPG

Большасць памылак: gpg не ўдалося падпісаць дадзеныя, або памылкі праверкі звязаныя з базавым кіраваннем ключамі. Азнаёмцеся з распаўсюджанымі выпраўленнямі.

Праверце існуючыя ключы

  1.  Пацвярджае, якія адкрытыя ключы імпартаваны ў ваша асяроддзе зборкі.

Імпартаваць адсутныя ключы

  1. Атрымлівае неабходны ключ адміністратара з сервера ключоў.

Абнавіць састарэлыя ключы

Забяспечце ўзровень даверу

Ключы павінны быць пазначаны як давераныя для pipeline каб належным чынам іх праверыць.

У эфемерным CI/CD У розных асяроддзях паведамленні пра памылкі GPG часта з'яўляюцца з-за таго, што ключы не захоўваліся паміж заданнямі. Заўсёды вызначайце этап імпарту ключоў, які можна прайграваць. pipeline.

Забеспячэнне бяспечнай праверкі подпісаў ва ўсіх зборках і залежнасцях

Ручнога выпраўлення памылак GPG недастаткова. Каб прадухіліць праслізгванне непадпісаных артэфактаў, увядзіце аўтаматычную праверку подпісаў ва ўсіх менеджарах залежнасцей.

Прыклады ў распаўсюджаных экасістэмах

Maven: праверка mvn -P gpg

  • НПМ: Прымусова ўсталёўваць падпісаны пакет з наладамі ўзроўню рэестра.
  • зярняткаПеравага аддаецца колам, падпісаным PGP, і праверцы па давераных ключах.

Міні-кантрольны спіс распрацоўшчыкаў для забеспячэння выканання GPG

  • Збойныя зборкі на любым памылка: праверка gpg не ўдалася
  • забяспечваць захаванне LDAPS:// або доступ да сервера ключоў HTTPS, ніколі не ў выглядзе адкрытага тэксту
  • Захоўвайце давераныя ключы ў абароненых сховішчах, а не ў рэпазіторыі
  • Рэгулярна ратаваць і абнаўляць ключы GPG
  • Патрабаваць падпісаныя артэфакты для павышэння ўзроўню паміж падрыхтоўчай і прадукцыйнай версіямі

Аўтаматызацыя прымянення GPG гарантуе, што распрацоўшчыкі не будуць рабіць выключэнні, якія парушаюць ланцужок паставак.

Умацаванне цэласнасці артэфактаў з дапамогай практык DevSecOps

Праверка GPG павінна быць часткай больш шырокай стратэгіі цэласнасці артэфактаў. Подпісы пацвярджаюць асобу выдаўца, але іх варта спалучаць з:

  • Кантрольныя сумы каб праверыць цэласнасць бінарнага файла.
  • SBOMs (Спіс матэрыялаў праграмнага забеспячэння) для адлюстравання залежнасцей.
  • Статычны аналіз выяўляць небяспечныя ўзоры ў пасылках.

Інструменты, як Ксігені дапаўняльная праверка GPG шляхам сканавання pipelineдля непадпісаных артэфактаў, выяўленне падробленых залежнасцей і забеспячэнне паслядоўнай праверкі подпісаў. Гэта зніжае верагоднасць таго, што адна памылка GPG будзе абыдзена і ператворыцца ў інцыдэнт у ланцужку паставак.

Табліца хуткага пошуку і ліквідацыі непаладак: выпраўленне распаўсюджаных памылак GPG у зборках

Паведамленне пра памылку Асноўная прычына Бяспечнае выпраўленне
памылка: праверка gpg не ўдалася Адсутнічае адкрыты ключ, непадпісаны артэфакт або праблема з даверам Імпартуйце правільны адкрыты ключ з дапамогай gpg --recv-keys <KEY_ID> і пераканайцеся, што артэфакт падпісаны.
памылка: gpg не ўдалося падпісаць дадзеныя GPG няправільна настроены ў CI/CD асяроддзе (няма адсутных ключоў або парольных фраз па змаўчанні) Канфігураваць gpg --list-secret-keys і ўсталюйце правільны ключ для падпісання; пераканайцеся, што пароль даступны надзейна (агент, сховішча).
gpg: атрыманне сервера ключоў не атрымалася: сервер ключоў недаступны Праблема з сеткай або заблакаваны сервер ключоў у асяроддзі зборкі Выкарыстоўвайце надзейны сервер ключоў (hkps://keys.openpgp.org) або адлюстраваць у вашай інфрачырвонай прасторы.
gpg: ДРЭННЫ подпіс ад "Maintainer " Артэфакт быў зменены або імпартаваны няправільны ключ Неадкладна спыніць зборку; праверыць правільны адбітак ключа; адхіліць артэфакт.
gpg: не знойдзены сапраўдныя дадзеныя OpenPGP Спампаваны ключ пашкоджаны або несапраўдны Паўторна атрымаць з дапамогай gpg --recv-keys з давераным серверам ключоў і праверыць адбітак пальца ўручную.
Зборка працягваецца, нягледзячы на ​​непадпісаныя пакеты Pipeline ігнаруе праверку, або канфігурацыя абыходзіць Прымусовае праверванне подпісу ў Maven (mvn verify -P gpg), падпісаныя npm пакеты або pip з праверкамі PGP.

Памылка: Праверка GPG не ўдалася: бяспечныя зборкі пачынаюцца з даверу

Няўдалая праверка GPG — гэта ніколі не проста шум. Кожны памылка: праверка gpg не ўдалася, памылка: gpg не ўдалося падпісаць дадзеныя, або агульная памылка gpg сведчыць аб разрыве вашага ланцужка даверу. Калі вы праігнаруеце яе, вы даяце зламыснікам адкрыты шлях для ўкаранення шкоднасных артэфактаў у ваш CI/CD pipelines.

Ключавыя вынасы:

  • Заўсёды даследуйце паведамленні пра памылкі GPG; гэта сігналы бяспекі
  • Выкарыстоўвайце аднаўляльныя практыкі кіравання ключамі ў зборках
  • Прымусовае праверванне подпісу ва ўсіх менеджарах залежнасцей
  • Аб'яднайце GPG з кантрольнымі сумамі, SBOMі сканаванне ўразлівасцяў
  • Выкарыстоўвайце такія інструменты, як Xygeni, для аўтаматызацыі праверак і забеспячэння выканання палітык подпісаў у рэжыме рэальнага часу

In DevSecOps, давер навязваецца, а не меркаваны. Кожны раз, калі вы бачыце памылка: праверка gpg не ўдалася, ставіцеся да гэтага як да магчымасці загартаваць свае pipeline, не перашкода, якую трэба прапусціць.

інструменты-для-аналізу-складання-праграмнага ...
Прыярытэзуйце, ліквідуйце і абараняйце свае праграмныя рызыкі
Атрымайце свой бясплатны рахунак.
Не патрабуецца крэдытная карта.

Забяспечце распрацоўку і пастаўку праграмнага забеспячэння

з пакетам прадуктаў Xygeni