cat /usr/src/linux*/certs/signing_key.pem
fish: No matches for wildcard “/usr/src/linux*/certs/signing_key.pem”. See `help expand`.
cat /usr/src/linux*/certs/signing_key.pem
У меня она много лет крутится, по идее реализация и тестирование просты, руки не доходят. Это очень сильно поможет всем дистрам, обнаружет затрояненые исходники. Вспоминается vsftpd, троян пошол в Дебиан, редхед, ... и случайно emerge -f скачал исходники не с реп, а с официального сайта обнаружил подмену, весь энтерпрайз около недели поверить не мог.
2. Возможность пересборки для верификации бинарников.
не целевой системе не очень реально, что соберется с тем-же хэшем в итоге, если речь об этом
Да речь об идентичных хешах packages, условия получения идентичной сборки. Реализация, проста - по сверкам хешей с стандартной dbpkg. А вот из за сложностей с тестированием, необходимостью сборки двух систем для сверки - откладываю сию затею.
А что ещё может влиять на результат сборки?
Используемый для загрузки LiveCD/DVD? Почему? Мы в chroot сделали source /etc/profile и env_update.
Разное железо? А где оно при сборки автоматом определяется? Все должно выставлялся в /etc/portage
Вспоминается vsftpd, троян пошол в Дебиан, редхед, ... и случайно emerge -f скачал исходники не с реп, а с официального сайта обнаружил подмену, весь энтерпрайз около недели поверить не мог.
для этого, имеет смысл по возможности ставить на сразу а после «отстоя» т.е. выдержав паузу, если возможно
Да речь об идентичных хешах packages,
хеш packages это как-то двусмысленно - есть ebuild, есть набор выходных скомпиленных файлов, есть один, не во всех случаях целевой бинарник-экзешник, но мозила например и хромиум запускается еще и скриптом. Так-что логичнее строить полный хэш выходных файлов. Но и в этом случае, набор файлов может быть очень специфичен. Хотя, простейшие минимальные меры несложно принять. Как-то ведь подмену обнаружили и довольно быстро.
А что ещё может влиять на результат сборки?
полагаю, это как минимум профили, use-flags наборы пользовательские
для этого, имеет смысл по возможности ставить на сразу а после «отстоя» т.е. выдержав паузу, если возможно.
В случае ожидания закладок и багов, лучше ставить после отстоя.
В случае ожидания подмены, как было с vsftpd - НЕТ! Кто успел скачать исходники до подмены на заражённые вирусом, у тех система осталась чистой!!! Скачать исходник не значит устанавливать пакет в систему. Исходник и пару лет в distfiles может лежать и отстаиватся без движения.
В нашем случае, мы ищем именно подмену. Чем быстрее после релиза пакет попадёт в порты тем лучше.
Тестировать можно по томуже принципу, как была обнаружена подмена vsftpd. Скрипт простенький, могу прямо здесь написать. Проблема в том, что он долго будет работать, чуть жрать проц и память, очень сильно жрать инет и диски, надо возможность скачать на локальный жёсткий диск с инетов пару сот гигов. У кого есть такая возможность отзовитесь. Лучше бы его запускал Яндекс, это поможет найти возможные подмены на mirror.yandex.ru /gentoo-distfiles/ или на соответственных официальных сайтах.
И выход в инет лучше без всяких чебурнетов.
хеш packages это как-то двусмысленно - есть ebuild, есть набор выходных скомпиленных файлов....
Речь о результате компиляции. Хочу систему повторяемых сборок. Сверяются хеши собранных пакетов с packages и если есть расхождения то просматриваются различия по файлам (CONTENTS).
Вопрос необходимых и достаточных условий повторяемости сборки.
1. stage-*
2. portage-*
3. Все настройки в /etc/portage (профиль, make.conf, USE, ...)
4. Идентичный список выполняемых команд - скрипт установки.
5. Конфиг ядра.
Собранные пакеты в двух системах в которых идентичны все 5 выше упомянутых условия должны быть одинаковы, бит в бит - повторяемость сборки.
Не должно зависить от:
1. Оборудования.
2. LiveCD/DVD или базовой системы с которой выполнялся chroot в распакованый stage.
Сами системы будут почти идентичны за исключением ключей, подписей, некоторых атрибутов файлов. Сами все файлы, которые не содержат ключи и подписи будут идентичны.
Инстяляционные скрипты (список вводимых комманд) и настройки /etc/portage у меня есть.
Повторяемость сборок это технология которая поможет обнаружить вирусы, руткиты, трояны, ... которые цепляются к системе еще на этапе установки и против которых технологии IDS, IMA/EVM трудно применимы.
Десять лет на линуксе, а ни одного рабочего руткита не видел. Даже запустить эксплоит уже много рукодвижений от мыши до клавы.
От кого защищать? Винду нужно было защищать от всяких червей, когда-то давно была веселуха, а на десяточке дебильный дефендер орет на экзешники репакнутых игр. Развлекаться проще под линем.