The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Улучшение безопасности sources.list в дистрибутивах, использующих APT
Опция "signed-by" привязывает доверенный публичный ключ к репозиторию, что
блокирует установку ПО в случае, если InRelease подписан другим ключом. Опция
может быть установлена как в fingerprint ключа, так и в форме пути к файлу.

Это позволяет защититься от некоторых атак в следующей модели угроз:

1. допустим, что есть репозиторий, доступный по скомпрометированному каналу,
чей приватный ключ не может быть скомпрометирован;

2. допустим, что есть репозиторий, доступный по безопасному каналу, чей
приватный ключ был скомпромитирован;

3. оба репозитория прописаны в sources.list и оба ключа добавлены в доверенные.

Тогда, если нет привязки, злоумышленник может использовать скомпрометированный
ключ второго репозитория для подписи поддельного InRelease для первого
репозитория, получая RCE.

Поэтому в https://wiki.debian.org/DebianRepository/UseThirdParty рекомендуется
прописывать всем сторонним репозиториям "signed-by", при этом указано
использовать путь к ключу вместо fingerprint-а.

По моему мнению, имеет смысл прописывать signed-by вообще всем репозиториям.

В дистрибутивах, использующих APT, почему-то по умолчанию не используется опция
signed-by. В инструкциях по подключению других репозиториев тоже почти никогда
не встречаются указания её использовать.

Так как ручная идентификация ключей для каждого репозитория - дело трудоёмкое,
был подготовлен скрипт, разбирающий sources.list, автоматически
идентифицирующий fingerprint-ы и файлы ключей для каждого репозитория и
выдающий модифицированный sources.list для сравнения с оригинальным.

В скрипте используется собственная библиотека для парсинга и сериализации
sources.list на основе грамматики для parglare.
 
01.09.2019 , Автор: KOLANICH , Источник: https://gitlab.com/KOLANICH/AptSour...
Ключи: sign, package, apt, debian
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним (1), 14:42, 03/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    итого для вашей безопастносте следует срочно-срочно запустить скрипт от Коляна с использованием самодельной нескучной библиотечки.

    а то ж текущие системные конфиги - небезопастны,небезопастны!

     
     
  • 2.7, Аноним (7), 22:46, 17/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Скрипт не такой большой, вместо нытья мог бы и прочитать исходники. Библиотека parglare больше, но опять же RTFSC.
     

  • 1.2, Аноним (2), 17:07, 03/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ох и наговнокодил ты, хотя бы предупреждал бы что модно измазаться если открыть.

    Глупая статься и ещё более глупый код, фу таким быть...

     
     
  • 2.8, Аноним (7), 23:03, 17/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    То что там гoвнoкод было явно предупреждено, все претензии к цензуре на ресурсе.
    Вылизывать архитектуру этого скрипта я не стал (ИМХО для этого скрипта не имеет смысла особого), просто допилил до минимально юзабельного состояния. Простор для улучшений огромен (напр. переписать грамматику на CoCo/R (работает на порядки быстрее, чем parglare, так как parglare генерит грамматику в json и потом интерпретирует её кодом на питоне, а CoCo/Py генерит сразу питоний код) и приделать экспорт сертификатов в файлы), репозиторий на GitLab, функция пулл-реквестов включена.
     
  • 2.11, Аноним (-), 18:23, 03/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Чего ты от питониста ожидал? Это как проги под винды на VB, low entry barrier language жэ.
     

  • 1.3, Аноним (3), 19:17, 03/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >допустим, что есть репозиторий, доступный по скомпрометированному каналу

    переключаемся на https?

    >чей приватный ключ был скомпромитирован;

    а где третий репозиторий? который скомпрометирован полностью?

     
     
  • 2.4, Онаним (?), 09:15, 08/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Там толк от HTTPS нулевой. Пакеты все подписаны и проверяются при установке.
     
     
  • 3.6, Аноним (6), 21:25, 08/09/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ну так тут описывается ситуация, что для нормального репозитория, который качают по скомпрометированному каналу, пакеты подменяются на нечто, подписанное ключом скомпрометированного репозитория. Переход на HTTPS, по идее, это не позволит сделать, хотя уровень компрометации тут не описывается.
     
  • 2.12, Аноним (-), 18:26, 03/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > переключаемся на https?

    У дебиана onion есть. Там мало того что end to end шифрование, так атакующему еще и довольно трудно канал атаковать. И не видно какие пакеты каких версий качали, что полезно от прицельных атак на конкретные версии софта.

     
     
  • 3.14, Аноним (14), 02:40, 29/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Полезная ссылкота
    >> https://0ni0n.debian.org/
    >> http://5nca3wxl33tzlzj5.0ni0n/
    > Там же пример включения в sources.list .0ni0n реп для Debian Buster.

    ЗЫЖ ссылки поправить ручками; за дополнительный удобства благодарим прид^W альтернативно одаренного коммитера матфильтра, за каким-то органом включившего туда 0ni0n (англ. луковица).

     
     
  • 4.15, Аноним (-), 09:12, 11/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    О, круто, Макс рассказывал что его интересуют всякие крипто и все такое. И тут на тебе, такой демарш. Левая рука не знает что делает правая.
     

  • 1.9, Аноним (9), 17:57, 19/09/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Где взять нескомпроментированные публичные ключи для gpg и сертификаты для https?

    2 идеи о проверке исходников и системе повторяемых сборок: https://www.linux.org.ru/forum/admin/15194240?cid=15199687

     
  • 1.10, InuYasha (?), 12:52, 01/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хотел сделать это руками для двух репов, но пока облом: ключи приходят в текстовом формате, .gpg-файлы нужны бинарные, апт хранит trusted-ключи вообще в одном файле, хотя может и в папке. Причём есть как /etc/apt/trusted.gpg.d , так и /usr/share/keyrings. Не сказал бы что в этом просто разобраться за полчаса.
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру