6.5. Проверка подлинности пакета
Безопасность очень важна для администраторов Falcot Corp. Соответственно, они должны быть уверены, что только они устанавливают пакеты, которые гарантировано приходят от Debian без искажения по пути. Компьютерный взломщик может попытаться добавить вредоносный коды тем или иным способом в легальный пакет. Такой пакет, если он установлен, может делать что угодно, что придумал взломщик, включая - для примера - раскрытие паролей или конфиденциальной информации. Чтобы обойти этот риск, Debian поддерживает помехоустойчивые подписи для гарантии — что в момент установки — этот пакет действительно пришел от его официального разработчика и не был модифицирован третьей стороной (то есть посторонними).
Печать работает в паре с изменяемыми криптографическими хэшами и подписями. Подписанный файл Release
предоставляется зеркалами Debian. А файл Packages
содержит перечень пакетов (включая их сжатые в архивы формы - файлы Packages.gz
и Packages.xz
, и инкрементные версии), вместе с их MD5, SHA1 and SHA256 хэша-значениями, которые гарантируют что файлы не были искажены. Те файлы Packages
содержат перечень пакетов Debian, доступных на зеркалах, вместе с их хэшами. Эти хэши, в свою очередь, гарантируют что в содержимое самих пакетов не вносились какие-либо изменения.
APT needs a set of trusted GnuPG public keys to verify signatures in the Release.gpg
files available on the mirrors. It gets them from files in /etc/apt/trusted.gpg.d/
and from the /etc/apt/trusted.gpg
keyring (managed by the apt-key
command). The official Debian keys are provided and kept up-to-date by the debian-archive-keyring package which puts them in /etc/apt/trusted.gpg.d/
. Note however that the first installation of this particular package requires caution: even if the package is signed like any other, the signature cannot be verified externally. Cautious administrators should therefore check the fingerprints of imported keys before trusting them to install new packages:
# apt-key fingerprint
/etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg
----------------------------------------------------------
pub rsa4096 2014-11-21 [SC] [expires: 2022-11-19]
126C 0D24 BD8A 2942 CC7D F8AC 7638 D044 2B90 D010
uid [ unknown] Debian Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg
-------------------------------------------------------------------
pub rsa4096 2014-11-21 [SC] [expires: 2022-11-19]
D211 6914 1CEC D440 F2EB 8DDA 9D6D 8F6B C857 C906
uid [ unknown] Debian Security Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg
-------------------------------------------------------
pub rsa4096 2013-08-17 [SC] [expires: 2021-08-15]
75DD C3C4 A499 F1A1 8CB5 F3C8 CBF8 D6FD 518E 17E1
uid [ unknown] Jessie Stable Release Key <debian-release@lists.debian.org>
/etc/apt/trusted.gpg.d/debian-archive-stretch-automatic.gpg
-----------------------------------------------------------
pub rsa4096 2017-05-22 [SC] [expires: 2025-05-20]
E1CF 20DD FFE4 B89E 8026 58F1 E0B1 1894 F66A EC98
uid [ unknown] Debian Archive Automatic Signing Key (9/stretch) <ftpmaster@debian.org>
sub rsa4096 2017-05-22 [S] [expires: 2025-05-20]
/etc/apt/trusted.gpg.d/debian-archive-stretch-security-automatic.gpg
--------------------------------------------------------------------
pub rsa4096 2017-05-22 [SC] [expires: 2025-05-20]
6ED6 F5CB 5FA6 FB2F 460A E88E EDA0 D238 8AE2 2BA9
uid [ unknown] Debian Security Archive Automatic Signing Key (9/stretch) <ftpmaster@debian.org>
sub rsa4096 2017-05-22 [S] [expires: 2025-05-20]
/etc/apt/trusted.gpg.d/debian-archive-stretch-stable.gpg
--------------------------------------------------------
pub rsa4096 2017-05-20 [SC] [expires: 2025-05-18]
067E 3C45 6BAE 240A CEE8 8F6F EF0F 382A 1A7B 6500
uid [ unknown] Debian Stable Release Key (9/stretch) <debian-release@lists.debian.org>
/etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg
----------------------------------------------------------
pub rsa4096 2012-04-27 [SC] [expires: 2020-04-25]
A1BD 8E9D 78F7 FE5C 3E65 D8AF 8B48 AD62 4692 5553
uid [ unknown] Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg
-------------------------------------------------------
pub rsa4096 2012-05-08 [SC] [expires: 2019-05-07]
ED6D 6527 1AAC F0FF 15D1 2303 6FB2 A1C2 65FF B764
uid [ unknown] Wheezy Stable Release Key <debian-release@lists.debian.org>
Как только подходящий ключ будет найден на связке ключей, APT будет проверять подписи до проведения любой рисковой операции. Таким же образом и графические и псевдо-графические оболочки будут отображать предупреждения в случае, если не может быть выполнена идентификация запрашиваемого к устанавке пакета.