URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 118354
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Улучшение безопасности sources.list..."

Отправлено auto_tips , 03-Сен-19 14:42 
Опция "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. В инструкциях по подключению других репозиториев тоже почти никогда не встречаются указания её использовать.

Так как ручная идентификация ключей для каждого репозитория - дело трудоёмкое, был подготовлен [[https://gitlab.com/KOLANICH/AptSourcesHardener.py скрипт]], разбирающий sources.list, автоматически идентифицирующий fingerprint-ы и файлы ключей для каждого репозитория и выдающий модифицированный sources.list для сравнения с оригинальным.

В скрипте используется [[https://gitlab.com/KOLANICH/AptSourcesHardener.py собственная библиотека]] для парсинга и сериализации sources.list на основе грамматики для [[https://github.com/igordejanovic/parglare parglare]].


URL: https://gitlab.com/KOLANICH/AptSourcesHardener.py
Обсуждается: http://www.opennet.dev/tips/info/3117.shtml


Содержание

Сообщения в этом обсуждении
"Улучшение безопасности sources.list в дистрибутивах, использующих APT"
Отправлено Аноним , 03-Сен-19 14:42 
итого для вашей безопастносте следует срочно-срочно запустить скрипт от Коляна с использованием самодельной нескучной библиотечки.

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


"Улучшение безопасности sources.list в дистрибутивах, использ..."
Отправлено Аноним , 17-Сен-19 22:46 
Скрипт не такой большой, вместо нытья мог бы и прочитать исходники. Библиотека parglare больше, но опять же RTFSC.

"Улучшение безопасности sources.list в дистрибутивах, использующих APT"
Отправлено Аноним , 03-Сен-19 17:07 
Ох и наговнокодил ты, хотя бы предупреждал бы что модно измазаться если открыть.

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


"Улучшение безопасности sources.list в дистрибутивах, использ..."
Отправлено Аноним , 17-Сен-19 23:03 
То что там гoвнoкод было явно предупреждено, все претензии к цензуре на ресурсе.
Вылизывать архитектуру этого скрипта я не стал (ИМХО для этого скрипта не имеет смысла особого), просто допилил до минимально юзабельного состояния. Простор для улучшений огромен (напр. переписать грамматику на CoCo/R (работает на порядки быстрее, чем parglare, так как parglare генерит грамматику в json и потом интерпретирует её кодом на питоне, а CoCo/Py генерит сразу питоний код) и приделать экспорт сертификатов в файлы), репозиторий на GitLab, функция пулл-реквестов включена.

"Улучшение безопасности sources.list в дистрибутивах, использ..."
Отправлено Аноним , 03-Дек-19 18:23 
Чего ты от питониста ожидал? Это как проги под винды на VB, low entry barrier language жэ.

"Улучшение безопасности sources.list в дистрибутивах, использующих APT"
Отправлено Аноним , 03-Сен-19 19:17 
>допустим, что есть репозиторий, доступный по скомпрометированному каналу

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

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

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


"Улучшение безопасности sources.list в дистрибутивах, использ..."
Отправлено Онаним , 08-Сен-19 09:15 
Там толк от HTTPS нулевой. Пакеты все подписаны и проверяются при установке.

"Улучшение безопасности sources.list в дистрибутивах, использ..."
Отправлено Аноним , 08-Сен-19 21:25 
ну так тут описывается ситуация, что для нормального репозитория, который качают по скомпрометированному каналу, пакеты подменяются на нечто, подписанное ключом скомпрометированного репозитория. Переход на HTTPS, по идее, это не позволит сделать, хотя уровень компрометации тут не описывается.

"Улучшение безопасности sources.list в дистрибутивах, использ..."
Отправлено Аноним , 03-Дек-19 18:26 
> переключаемся на https?

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


"Улучшение безопасности sources.list в дистрибутивах, использ..."
Отправлено Аноним , 29-Дек-19 02:40 
> Полезная ссылкота
>> https://0ni0n.debian.org/
>> http://5nca3wxl33tzlzj5.0ni0n/
> Там же пример включения в sources.list .0ni0n реп для Debian Buster.

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


"Улучшение безопасности sources.list в дистрибутивах, использ..."
Отправлено Аноним , 11-Янв-20 09:12 
О, круто, Макс рассказывал что его интересуют всякие крипто и все такое. И тут на тебе, такой демарш. Левая рука не знает что делает правая.

"Улучшение безопасности sources.list в дистрибутивах, использующих APT"
Отправлено Аноним , 19-Сен-19 17:57 
Где взять нескомпроментированные публичные ключи для gpg и сертификаты для https?

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


"Улучшение безопасности sources.list в дистрибутивах, использующих APT"
Отправлено InuYasha , 01-Дек-19 12:52 
Хотел сделать это руками для двух репов, но пока облом: ключи приходят в текстовом формате, .gpg-файлы нужны бинарные, апт хранит trusted-ключи вообще в одном файле, хотя может и в папке. Причём есть как /etc/apt/trusted.gpg.d , так и /usr/share/keyrings. Не сказал бы что в этом просто разобраться за полчаса.