Понимание и управление надёжностью пакетов

Понимаем надёжности
Доверие дополнительным ключам

Способность apt получить доступ к многим источникам пакетов ведёт к потенциальным уязвимостям в безопасности. Допустим вы добавили архив пакетов, опубликованных каким-то хакером Джо, в ваш файл sources.list, чтобы установить пакет gargleblast. Возможно, тем не менее, что — без вашего ведома — архив Джо содержит также его собственные «переделанные» версии таких пакетов как libc6 и ssh... версии, которые крадут вашу личную информацию или открывают бэкдоры на вашей системе! Если эти пакеты имеют более высокий номер версии, чем настоящие пакеты дистрибутива Debian, apt с радостью установит их на вашу систему во время следующего обновления, позволяя Джо без шума сделать свою грязную работу. Этот Джо также мог бы вломиться на ваше зеркало архивов Debian и заменить настоящее программное обеспечение его поддельной версией.

К счастью, новые версии apt и aptitude, такие как версия, описываемая в настоящем руководстве, имеют встроенную защиту, чтобы помочь победить такой тип атаки. apt использует сильные механизмы безопасности, основанные на популярной программе для шифрования GPG, для проверки того, что пакеты, поставляемые с официального зеркала Debian, являются теми же пакетами, что и те, что были загружены на сервер разработчиками Debian. aptitude предупредит вас, если вы попытаетесь установить пакет из источника, отличного от Debian, или если вы попытаетесь обновить пакет, которые был установлен из официального источника до той версии, которая получена не из официального источника.

[Предупреждение]Предупреждение

Механизмы безопасности в apt обеспечивают почти безупречную гарантию того, что содержание вашего зеркала архива идентично содержанию главного архива Debian. Тем не менее, они не являются панацеей: например, существует множество способов того, как подделанный пакет мог бы теоретически попасть в главный архив Debian.

Удостоверение того, что вы устанавливаете программное обеспечение только из надёжного источника, даст вам важный уровень защиты от злонамеренных пакетов, но не может исключить все риски присущие установке программ.

Понимаем надёжности

apt позволяет администратору архива предоставлять подпись индекса архива. Эта подпись, которая (для всех практических целей) не может быть фальшивой, означает, что файлы пакетов, указанные в индексе, являются теми же самыми файлами, которые администратор был намерен поместить в архив: то есть, что содержание архива не было подделано с тех пор как оно было создано.[9] Подпись может быть подтверждена проверкой на её соответствие публичному ключу администратора. Публичный ключ архива Debian поставляется вместе с apt, обычно на компакт-диске Debian.

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

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

[предупреждение о недоверенных пакетах/версиях]

Доверие дополнительным ключам

Вам может показаться удобным позволить apt доверять дополнительным архивам помимо основного архива Debian. Для каждого архива, которому вы желаете доверять, вы должны будете получить публичный ключ, который используется для подписи индекса архива пакетов. Это обычно текстовый файл, имя которого заканчивается .asc; он может быть передан вам администратором сайта или загружен с публичного сервера ключей. Дополнительную информацию о том, что такое публичные ключи и как их получить, см. веб страницу GPG.

Список ключей, которым доверяет apt, хранится в файле-брелоке /etc/apt/trusted.gpg. Как только у вас появился ключ GPG, вы можете добавить его к этому файлу, выполнив команду gpg --no-default-keyring --keyring /etc/apt/trusted.gpg --import newkey.asc. aptitude после этого будет доверять любому архиву, подписанному ключом, содержащимся в newkey.asc.

[Предупреждение]Предупреждение

Как только ключ архива добавлен к брелоку APT, этот архив будет рассматриваться как такой же надёжный как основные зеркала Debian! Вам следует делать это только в том случае, когда вы совершенно уверены в том, что ключ, добавляемый вами, верен, и что тот человек, который владеет этим ключом, заслуживает доверия и достаточно компетентен.



[9] Как было отмечено выше, это не означает, что пакеты в архиве являются безопасными или даже незлонамеренными; это лишь означает, что они являются неподдельными.