Kernel/signature/git: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
= Получение GPG ключей =
= Проверка целостности исходного кода в git репозитории ядра =
 
== Получение GPG ключей ==


Актуальные GPG ключи ''ALT Linux Team'' находятся в пакете {{pkg|alt-gpgkeys}}. Чтоб получить ключ нужного разработчика нужно поставить этот пакет, экспортировать из него нужный ключ и импортировать его себе.
Актуальные GPG ключи ''ALT Linux Team'' находятся в пакете {{pkg|alt-gpgkeys}}. Чтоб получить ключ нужного разработчика нужно поставить этот пакет, экспортировать из него нужный ключ и импортировать его себе.


   # apt-get update
   # '''apt-get update'''
   # apt-get install -y gnupg alt-gpgkeys
   # '''apt-get install''' -y gnupg alt-gpgkeys


Просмотр ключа <code>kernelbot@altlinux.org</code>:
Просмотр ключа <code>kernelbot@altlinux.org</code>:
Строка 40: Строка 42:
Для импорта публичного ключа <code>kernelbot@altlinux.org</code>, под своим пользователем запустите:
Для импорта публичного ключа <code>kernelbot@altlinux.org</code>, под своим пользователем запустите:


   $ gpg --homedir /usr/lib/alt-gpgkeys --export -a kernelbot@altlinux.org | gpg --import
   $ '''gpg''' --homedir /usr/lib/alt-gpgkeys --export -a kernelbot@altlinux.org | '''gpg''' --import


= Проверка целостности исходного кода =
= Проверка целостности исходного кода =


На каждом git теге из которого собран пакет имеется gpg подпись того кто его послал на сборку. Просмотр тэга (находясь в git репозитории пакета):
На каждом git теге из которого собран пакет имеется gpg подпись того кто послал его на сборку. Так как более новые git объекты ссылаются на предыдущие достаточно проверить подпись на последнем (заглавном) из них.
 
* Просмотр заглавного (указывающего на HEAD) тэга. Находясь в git репозитории пакета:


   $ git tag --points-at HEAD
   linux$ '''git tag''' --points-at HEAD
   kernel-image-std-def-5.10.154-alt1
   kernel-image-std-def-5.10.154-alt1


* Проверка, что тэг указывающий на HEAD подписан членом ''ALT Linux Team'' (ключом из пакета {{pkg|alt-gpgkeys}}):
* Проверка, что заглавный тэг подписан одним из участников ''ALT Linux Team'' (ключом из пакета {{pkg|alt-gpgkeys}}):


   $ GNUPGHOME=/usr/lib/alt-gpgkeys git verify-tag `git tag --points-at HEAD`
   linux$ GNUPGHOME=/usr/lib/alt-gpgkeys '''git verify-tag''' `git tag --points-at HEAD`
   gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
   gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
   gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
   gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
Строка 59: Строка 63:
Обратите внимание на наличие строки "'''Good signature'''".
Обратите внимание на наличие строки "'''Good signature'''".


* Так как разработчиков много, то лучше проверить, что тег подписан конкретным из них, для ядер это зачастую (но не всегда) Kernel Bot. Импортируйте его публичный ключ как описано выше и затем:
* Так как разработчиков много, то лучше проверить, что тег подписан конкретным из них, для ядер это зачастую (но не всегда) ''Kernel Bot''. Импортируйте его публичный ключ себе, как описано выше, и затем:


   $ git verify-tag `git tag --points-at HEAD`
   linux$ '''git verify-tag''' `git tag --points-at HEAD`
   gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
   gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
   gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
   gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK

Версия от 14:28, 11 ноября 2022

Проверка целостности исходного кода в git репозитории ядра

Получение GPG ключей

Актуальные GPG ключи ALT Linux Team находятся в пакете alt-gpgkeys. Чтоб получить ключ нужного разработчика нужно поставить этот пакет, экспортировать из него нужный ключ и импортировать его себе.

 # apt-get update
 # apt-get install -y gnupg alt-gpgkeys

Просмотр ключа kernelbot@altlinux.org:

$ gpg --homedir /usr/lib/alt-gpgkeys --export -a kernelbot@altlinux.org
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBGIeFoIBEADmQd7S8XOmycX09w2KQGQhv3YLPUxvHbt6EKxnSHWwMnJc/m4D
09v/Qqxc//Tfo0jtdbQ4xWR1xss+rv/Nro0qbl6GAN2Own6F+YUVPAgjtdd0Z6VF
4o0GzrcOoi/j8JB0zcnlKWCkfqHdKwiL84dCYe3jvxKQOegjJbyM6HfZUeDOzvfa
azQYnQwh/BLFXbdO0V+M1tGarH0p5A0xttxU8/iBmSvUTO42J2WGfixXHuitxFjw
8T0gDpPFsTClQBHdUVCbZeOIsIuKKKgApZfANj8+G01ohV1DmrYwTlRKwkGmVm+I
PwQcAxXpod/EWFFkz9UgPg5jza2idys9S9Q95UhmxpZIwyR5JY2BGu4FNlP4JUFj
EN0TZCkgyVQFdyd9ZTUXgLJfwwLA4mEXQaKGIU8aJZqC/JWeyvdcYIiNcgDw5k57
Hi8nSuCWHUvdzBsVjjQD3dqjWMJk1hnG4QF1ReaCJhBdknQ8swqCbole1JWOWBc9
h7iLrVGIZlz83o4EtT2xCYXANtvwNS2+wgngpcbSVP+Ih8c7yQNgMyNqvY9L2IpG
MqE4F+MlcPF/7YEvQ6PAj5fA/jjXQRxibUI2/57Fi7ra0QX51m91U7dHCFwMf7Tq
BH9WrXB+7+7BJ3uxId0kfrBOwF+MQvE64HvnXUwsxiWXGONCt13ZCKxafwARAQAB
tCNLZXJuZWwgQm90IDxrZXJuZWxib3RAYWx0bGludXgub3JnPokCPgQTAQgAKAUC
Yh4WggIbAwUJEswDAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ0D4P+DvT
EoMVHg/6AmbcnSpC1iWnNP9CsZ06BwRhFjDNuCvL/lwn22lt3/x036PHE7C4RGGl
VrNROsULql9EUswZu3/O5x5AljV89lpDJtnleFS3RNWyJdsG01DEeDYN6g1dDP3n
ZpWstGkmys7reXt65myLHE+US4Q+3PwY7hAmvnIlmLJcNdbiffy8C/ofu15BK0gw
7P/Z6AVj4+02PiLtSpTT0ySmEas6WxRZL+TKYB8rUX65r4YJ3KG9+Fb2mRJHweJw
N0X04gMek12bwUpe51oyKPBtG2vVYjiaWg3ijaaawqawuiZMQie95Nw4wORV7cMs
xcxWOAnvvNfhSwCK42t74jRTnBb0Q4gIbUN8rRrUaiH7659JdapDYjW6eGYhhwDE
LwLTpQ0HgVVKRKrhXWIFH5/F75KzcINxUio+QSDi86sRVLBZ1X8c+mGFvBhQa4/E
mlKZM3xJn3I+Bq8rBIB3/Mr9e9z5KdiNqnki7v3IRGHUJxInUxn8Ao9ZSJAipfQV
gcycSih+03xLtU/QFor4CP9EtjVmJf3ki3mm3gWWc6+d7aNDWLH7emPeTqveQZdZ
Z4QOfUvNurnTExkF/gaWb6qJXUZCIznaUYJDJXtHq0+SlETHhGJ/MNLT4E0Jv/F5
j0zGgjXc6y6PDJo3cE7fsMGmiuHNXqvxLhOYeKeD3dfbBsVH5Ak=
=/Hjj
-----END PGP PUBLIC KEY BLOCK-----

Для импорта публичного ключа kernelbot@altlinux.org, под своим пользователем запустите:

 $ gpg --homedir /usr/lib/alt-gpgkeys --export -a kernelbot@altlinux.org | gpg --import

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

На каждом git теге из которого собран пакет имеется gpg подпись того кто послал его на сборку. Так как более новые git объекты ссылаются на предыдущие достаточно проверить подпись на последнем (заглавном) из них.

  • Просмотр заглавного (указывающего на HEAD) тэга. Находясь в git репозитории пакета:
 linux$ git tag --points-at HEAD
 kernel-image-std-def-5.10.154-alt1
  • Проверка, что заглавный тэг подписан одним из участников ALT Linux Team (ключом из пакета alt-gpgkeys):
 linux$ GNUPGHOME=/usr/lib/alt-gpgkeys git verify-tag `git tag --points-at HEAD`
 gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
 gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
 gpg:                using RSA key D03E0FF83BD31283
 gpg: Good signature from "Kernel Bot <kernelbot@altlinux.org>" [unknown]

Обратите внимание на наличие строки "Good signature".

  • Так как разработчиков много, то лучше проверить, что тег подписан конкретным из них, для ядер это зачастую (но не всегда) Kernel Bot. Импортируйте его публичный ключ себе, как описано выше, и затем:
 linux$ git verify-tag `git tag --points-at HEAD`
 gpg: WARNING: unsafe ownership on homedir '/usr/lib/alt-gpgkeys'
 gpg: Signature made Fri 11 Nov 2022 12:24:11 AM MSK
 gpg:                using RSA key D03E0FF83BD31283
 gpg: Good signature from "Kernel Bot <kernelbot@altlinux.org>" [unknown]

Убедитесь в наличии строки "Good signature".