apt-get
Использует ли https или какой-либо другой тип шифрования? Есть ли способ настроить его на использование?
apt-get
Использует ли https или какой-либо другой тип шифрования? Есть ли способ настроить его на использование?
Ответы:
apt-get
(и другие команды манипулирования пакетами, которые являются интерфейсом к тем же библиотекам APT) могут использовать HTTP, HTTPS и FTP (и смонтированные файловые системы). Если вы укажете https://
URL-адреса в /etc/apt/sources.list
и /etc/apt/sources.list.d/*
, то APT будет использовать HTTPS.
APT проверяет подпись пакетов. Таким образом, вам не нужно иметь форму транспортировки, которая обеспечивает аутентификацию данных. Если злоумышленник изменяет загружаемые вами файлы, это будет замечено. Использование проверки подписи лучше, чем использование HTTPS-соединения, потому что оно обнаружит атаку на сервер, с которого вы скачиваете, а не только транзитную атаку.
Точнее говоря, (упрощенный) поток данных для пакета выглядит следующим образом:
HTTPS гарантирует, что шаг 4 происходит правильно. Подписи пакета гарантируют, что шаги 2-4 выполнены правильно.
На самом деле, для шага 4 HTTPS имеет одно небольшое преимущество: подписи пакета гарантируют только подлинность пакета. Злоумышленник на шаге 4 может выдать себя за законный сервер и обслуживать устаревшие версии пакета. Например, злоумышленник может помешать вам загрузить любые обновления безопасности в надежде использовать уязвимость на вашем компьютере, которую вы бы исправили, если бы не атака. Это не очень реалистичный сценарий, потому что он требует активного злоумышленника (так что это должен быть кто-то, кто контролирует ваше интернет-соединение), но это может произойти в принципе.
Другое преимущество HTTPS будет в том случае, если вы пытаетесь скрыть тот факт, что вы загружаете пакеты Ubuntu от кого-то, кто отслеживает ваше сетевое соединение. Даже тогда подслушиватель мог видеть, к какому хосту вы подключаетесь; если вы подключаетесь к зеркалу Ubuntu и загружаете сотни мегабайт, становится ясно, что вы загружаете пакеты Ubuntu. Подслушиватель может также определить, какие пакеты вы скачиваете, по размеру файлов. Поэтому HTTPS будет полезен, только если вы скачиваете с сервера, который также предлагает другие файлы аналогичного размера - я не вижу никакого смысла, кроме сторонних пакетов, и только в очень необычных обстоятельствах.
Повторим еще раз: обычное преимущество HTTPS, заключающееся в том, что вы знаете, что подключены к реальному серверу, бесполезно при загрузке пакетов Ubuntu. Проверка подписи на пакетах дает более надежную гарантию, чем то, что может обеспечить HTTPS.
apt-get update
сообщал об ошибке при попытке получить доступ к ссылкам. С ppas: то же самое. Кто-нибудь пробовал это?
archive.ubuntu.com
нет . Вы можете проверить в вашем браузере , если сервер поддерживает это предваряя https: // в URL и увидеть , если вы получите список каталогов и т.д.
С APT, как правило, важнее не то, что ваше соединение зашифровано, а то, что файлы, которые вы получаете, не были подделаны.
APT имеет встроенную проверку подписи, чтобы гарантировать это.
Шифрование будет препятствовать перехватчикам от того, чтобы видеть то, что вы скачиваете, но то, что вы на самом деле загрузки (и запрос) довольно бесспорное: это будет таким же, как и тысячи других пользователей Ubuntu скачивают и файлы не содержат ничего, что ISN» т свободно доступны на многих серверах. Тем не менее, если вам нужна конфиденциальность относительно того, какие пакеты, в частности, вы загружаете, можно использовать HTTPS (укажите это в вашем sources.list).
Проверка подписи, встроенная в APT, гарантирует, что полученные вами файлы не были подделаны. На самом деле не имеет значения, откуда берутся файлы, и даже можно иметь прокси или обратные прокси между вами и сервером, чтобы снизить нагрузку на сервер или ускорить работу. Проверка подписи по-прежнему гарантирует, что вы получаете неизмененный файл, сопоставляя подпись, которую можно криптографически создать только с исходным файлом и копией закрытого ключа Ubuntu.
Если вы переключитесь на HTTPS, вы больше не сможете использовать прокси-серверы для ускорения доступа или снижения нагрузки. И это не добавило бы больше уверенности в том, что APT не проверяет подпись. Однако это будет означать, что перехватчики (такие как ваш интернет-провайдер) не смогут увидеть, какие пакеты вы загружаете (что вряд ли будет конфиденциальным, и, как указал Жиль, они могут догадаться по размеру файла).
apt update
и кто-то посередине кормите фиктивных индексов, apt с радостью берет все, что дает вам человек в середине, и записывает это в / var / lib / apt / lists. Это не просто злой человек посередине, а, например, если вы находитесь в отеле WiFi и будете перенаправлены на страницу входа, если вы запустили apt update
до входа в систему, ваши / var / lib / apt / lists будут выброшены с домашней страницы отеля HTML. BOGUS! В любом случае базовая проверка сертификата TLS немедленно исключит это.
В последних версиях APT встроена поддержка TLS, поэтому вам просто нужно заменить зеркальные URL-адреса хранилища пакетов на https
префиксные. Для Debian это может выглядеть так:
deb https://deb.debian.org/debian/ stretch main
deb https://deb.debian.org/debian-security stretch/updates main
deb https://deb.debian.org/debian/ stretch-updates main
Это полезно, даже несмотря на то, что APT включает собственный протокол подписи, чтобы гарантировать, что пакеты не подделаны, потому что в APT могут быть ошибки (как это было: CVE-2016-1252 , CVE-2019-3462 ). Протоколы HTTP / TLS и их шифры подвергаются тщательному анализу, поэтому серьезная уязвимость нулевого дня гораздо менее вероятна, если вы добавите этот уровень безопасности.
Я думаю, что этот вопрос может использовать ответ с инструкциями для непрофессионала, так что ...
APT по-прежнему не использует HTTPS по умолчанию в ежедневных сборках Ubuntu 19.10 (Eoan) (который все еще находится в разработке). В этом можно убедиться, изучив файл /etc/apt/sources.list и отметив, что все исходные URL-адреса используют схему URL-адресов "http:".
Чтобы настроить его для использования HTTPS, можно выполнить следующие инструкции:
Во-первых , найдите заслуживающее доверия официальное архивное зеркало Ubuntu, поддерживающее HTTPS:
Например, я считаю фонд Викимедиа заслуживающим доверия, поэтому я посетил http://mirrors.wikimedia.org/ubuntu/ mirror URL и впоследствии изменил его на https://mirrors.wikimedia.org/ubuntu/ , который успешно разрешается.
Если вы используете Firefox (67.0.4) и у вас установлено расширение HTTPS Everywhere (2019.6.27) с включенной функцией «Зашифровать все сайты, подходящие» (через панель кнопок панели инструментов), шаги (4) и (5) можно пропустить потому что расширение будет автоматически изменять URL-адрес для использования HTTPS, что позволяет сразу же определить, будет ли разрешена версия URL-адреса «https:».
Два , обновить APT список источников:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
для резервного копирования списка источников обновлений.sudo sed --in-place --regexp-extended 's http://(us\.archive\.ubuntu\.com|security\.ubuntu\.com) https://mirrors.wikimedia.org g' /etc/apt/sources.list
на базовый URL-адрес зеркала предпочитаемого зеркала, а затем выполните команду.В-третьих , вы должны проверить содержимое каталога /etc/apt/sources.list.d/ для источников «http:», которые могут быть изменены на «https:» после установки программного обеспечения вне архива Ubuntu.
Например, пакет Microsoft Visual Studio Code добавляет в этот каталог файл vscode.list, в котором указан URL-адрес «http:». Простое изменение схемы URL-адреса с «http:» на «https:» позволяет выполнять обновления через HTTPS.
Подумайте о резервном копировании любых таких исходных файлов перед их изменением.
Наконец , выполните обновление, чтобы убедиться, что обновления будут работать правильно:
sudo apt-get update
команду.sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
команду.Также стоит отметить, что есть пакет apt-transport-https для добавления поддержки HTTPS в APT. Тем не менее, этот пакет, по-видимому, не нужен в соответствии с веб-страницей https://launchpad.net/ubuntu/eoan/+package/apt-transport-https и не требовался начиная с APT 1.5 в соответствии с информацией, показанной после выполнения команды apt-cache show apt-transport-https
.