Безопасны ли списки хранилищ? Есть ли версия HTTPS?

17

Безопасны ли обновления хранилища?

Как медведь небольшого мозга со стороны разработчика, я не понимаю, почему список репозитория http://security.ubuntu.com и другие http (необеспеченные) сайты, перечисленные в /etc/apt/sources.list . Без соответствия цепочки сертификатов это выглядит как «спросить любого ответчика для списка пакетов для обновления», а не «спросить сайт ubuntu.com ...»

Может ли какая-либо сеть выбрать подделку сайтов обновлений, и является ли распространенной практикой предоставление локально кэшированной и проверенной копии?

    
задан Charles Merriam 03.10.2013 в 01:04
источник

1 ответ

26

Короче говоря, да, они безопасны из-за криптографии с открытым ключом, используемой для подписи файлов.

Все файлы, загруженные APT, имеют подпись, которая позволяет проверять загруженный файл в отношении открытых ключей, хранящихся на вашем компьютере, как подписанных Ubuntu и только Ubuntu. Это подтверждает, что полученный вами файл был разрешен Ubuntu на каком-то этапе и с тех пор не был изменен или изменен.

Техническое объяснение того, как это работает, доступно из Ubuntu из Debian , который использует ту же систему).

Из-за использования HTTP вместо HTTPS, да, подслушивающие устройства могли видеть, какие файлы вы загружаете, но конфиденциальность вряд ли будет вашей проблемой в этом случае. Попытка модификации пакетов для инъекции вредоносного кода по-прежнему будет терпеть неудачу, так как она нарушит механизм подписания.

Один из возможных способов получения этого механизма подписания заключается в том, что он не гарантирует, что вы получаете самую последнюю версию пакета (действительно, иногда зеркала не обновляются). Чтобы облегчить эту проблему, подписанный файл релиза включает в себя дату «Valid-Until», после которой все файлы, на которые он ссылается, считаются устаревшими. Было бы правдоподобно, если бы человек-в-середине заменил архив немодифицированной более ранней версией архива в течение этой даты «Допустимый до» и заставил бы ваш APT полагать, что обновлений нет. Но они не могут совершать какие-либо произвольные изменения в пакетах и ​​не могут вернуться назад через определенное время.

Механизмы подписывания обеспечивают гораздо лучшую безопасность, чем HTTPS в такой распределенной среде, где файлы зеркалируются на многих серверах, не контролируемых Ubuntu. В сущности, вам нужно только доверять Ubuntu, а не зеркалу, поэтому вам нужно доказать, что файлы изначально были получены из Ubuntu и не были изменены с тех пор - нет необходимости проверять идентичность зеркала.

Обратите внимание, что когда вы добавляете неофициальный репозиторий в список источников, например PPA, вы будете получать файлы, которые не подписаны Ubuntu. APT должен предупредить вас об этом, потому что они не были подписаны сертификатом, соответствующим любому из открытых ключей, установленных на вашем компьютере, как это разрешено Ubuntu.

    
ответ дан thomasrutter 03.10.2013 в 02:46