Мне кажется, почему механизм установки пакетов Debian не поддерживает HTTPS для его транспортировки, не говоря уже о его использовании по умолчанию.
Я знаю, что пакеты debian имеют своего рода проверку подписи с использованием GPG, но все же я не думаю, что использование транспорта HTTPS вместо HTTP было бы слишком сложно, учитывая, насколько это важно с точки зрения безопасности.
Редактировать: я в основном хочу защитить себя от MitM-атак (включая только анализ трафика), а не администраторов зеркал Debian. HTTP-репозитории помещают все настройки системы на стол, если кто-нибудь подсматривает за моим трафиком, идущим на зеркала Debian.
Ответы:
Есть. Вам необходимо установить пакет
apt-transport-https
. Тогда вы можете использовать такие строки, какв вашем
sources.list
файле. Но, как правило, в этом нет необходимости, поскольку все содержимое в любом случае является общедоступным, и это добавляет накладные расходы на шифрование и задержку. Поскольку вы не доверяете открытому ключу злоумышленника, даже http-трафик защищен от атак MitM.apt
предупредит вас и не сможет установить пакеты, когда злоумышленник внедряет манипулируемые пакеты.РЕДАКТИРОВАТЬ: Как уже упоминалось в комментариях, действительно более безопасно использовать TLS- репозиторий. Исследования показывают, что использование apt в незашифрованных репозиториях действительно может представлять угрозу безопасности, поскольку транспорт HTTP уязвим для атак воспроизведения.
источник
Ваше предположение неверно: вы можете использовать HTTPS-загрузки. Вам просто нужно найти зеркало, которое поддерживает его, и поместить его URL в список источников. Вам нужно будет установить
apt-transport-https
пакет.Debian не облегчает загрузку HTTPS, потому что это дает очень мало преимуществ. В дистрибутив Debian уже включен механизм проверки пакетов: все пакеты подписаны с помощью Gpg . Если активный посредник перенаправит ваш трафик на сервер с поврежденными пакетами, повреждение будет обнаружено, поскольку подписи GPG не будут действительными. Преимущество использования GPG вместо HTTPS заключается в том, что он защищает от большего количества угроз: не только от активного посредника в соединении конечного пользователя, но также от мошеннического или зараженного зеркала или других проблем в любом месте цепочки распространения пакетов. ,
HTTPS обеспечивает небольшое преимущество конфиденциальности в том, что скрывает загруженные вами пакеты. Однако пассивный наблюдатель все еще может обнаружить трафик между вашим компьютером и сервером пакетов, поэтому он будет знать, что вы загружаете пакеты Debian. Они также могут получить хорошее представление о том, какие пакеты вы загружаете из файлов разного размера.
Единственное место, где HTTPS мог бы помочь, - для начальной загрузки доверия, чтобы получить известный действительный установочный образ. Похоже, что Debian этого не обеспечивает: есть контрольные суммы установочных носителей , но только через HTTP.
источник
Совсем недавно я решил проблему с подходящим хранилищем моей компании. Проблема заключалась в том, что если мы используем стандартный транспорт http, любой другой может легко получить пакет. Поскольку компания упаковывает свое собственное проприетарное программное обеспечение и не хочет делиться им со всеми, http-транспорт становится проблемой. Не трагедия, а проблема. Есть несколько способов ограничить доступ к пакету - межсетевой экран, ограничение доступа на уровне веб-сервера, использование ssh в качестве транспорта. Довольно простое чтение по этой теме можно найти здесь: ограничить доступ к вашему личному репозиторию Debian
В нашем случае мы решили использовать протокол проверки подлинности с использованием протокола https + сертификат клиента. Вкратце, все, что нужно, это:
Сконфигурируйте веб-сервер, который выходит из репозитория и принимает только https; В случае nginx это может выглядеть так:
Поместите сертификат клиента, ключ клиента и сертификат CA в / etc / apt / ssl и, в случае с Ubuntu, добавьте файл 00https в /etc/apt/apt.conf.d:
Debug::Acquire::https "true"; Acquire::https::example.com { Verify-Peer "true"; Verify-Host "false"; CaInfo "/etc/apt/ssl/ca.crt"; SslCert "/etc/apt/ssl/client.crt"; SslKey "/etc/apt/ssl/client.key"; };
Имейте в виду, что если вы используете самозаверяющий сертификат, важно отключить проверку хоста:
Verify-Host "false";
если вы этого не сделаете, вы увидите ошибку:SSL: certificate subject name (blah-blah-blah) does not match target host name 'example.com'
И вот мы здесь, больше нет несанкционированного доступа к хранилищу. Так что это довольно полезная и мощная вещь.
источник
Обратите внимание, что из-за таких уязвимостей, как
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1647467
... которая обходит подпись InRelease, вероятно, в любом случае, неплохо бы настроить HTTPS.
источник
Для варианта использования «анонимность» есть также,
apt-transport-tor
который затем позволяет вам помещать URI, какtor+http://
в файлах sources.list. Это намного лучшая защита от анонимности, чем простое шифрование соединения с вашим зеркалом.Например, местный наблюдатель по-прежнему будет знать, что вы обновляете или устанавливаете программное обеспечение даже с HTTPS, и, вероятно, может подсказать, какие из них вы делаете (и, возможно, даже какие пакеты в зависимости от размера).
Debian предоставляет APT-репозитории через Tor «Onion services», чтобы вы могли получить сквозное шифрование (аналогично TLS) без необходимости доверять системе доменных имен. Смотрите onion.debian.org для всех сервисов Debian, доступных таким образом. Основной FTP-репозиторий Debian находится по адресу
vwakviie2ienjx6t.onion
источник