Я согласовываю со всем другие, и я должен сказать, что APUE Stevens (у меня есть второй выпуск), классик. Я также хотел бы добавить что Eric Raymond Искусство UNIX, Программируя право разрядов там с Stevens в моем списке.
Это не прямой ответ на Ваш вопрос, но существует несколько вещей, которые можно сделать для смягчения против этого риска. Самый простой должен проверить Ваши загруженные пакеты по контрольным суммам от другого зеркала, чем Вы загрузили с.
Когда мой диспетчер пакетов (poldek
) загружает пакет, у меня есть он набор для хранения копии загруженного об/мин в папке кэша. Это автоматически проверяет контрольную сумму загрузки против хранилища пакетов и предупреждает/прерывает о несоответствии, но если бы Вы волновались по поводу man-in-the-middle, на который нападают против Вашего репозитория дистрибутива, то было бы легко записать вторичный сценарий, который просмотрел все Ваши загруженные пакеты, и проверьте их против контрольных сумм, которые Вы загружаете с другого зеркала. Можно даже выполнить первую установку как пробный прогон так, чтобы пакеты были загружены, но не установили, затем запустили скрипт проверки, затем сделайте фактическую установку.
Это не мешает поставленному под угрозу пакету войти в репозиторий дистрибутива, но большинство дистрибутивов имеет другие способы смягчить это, и даже подписанные пакеты не гарантировали бы, что это никогда не было проблемой. То, что это действительно делает, душат целенаправленный вектор атаки "человек посередине". При помощи отдельного источника и загружающий на отдельном канале, Вы уничтожаете простоту, с которой поставленный под угрозу пакет мог быть брошен в коснувшуюся строку.
Пакеты Debian проверены суммированием, и контрольные суммы подписываются ключом в брелоке для ключей Debian. apt
диспетчер пакетов гарантирует, что загруженный пакет имеет корректную контрольную сумму и что файл контрольной суммы был подписан правильно.
Все пакеты Linux Дуги используют md5 или сумму sha1, чтобы проверить, что все биты существуют. Это до специалиста по обслуживанию пакета для выбора алгоритма хеширования. Пакеты, установленные из АУРА (часто просто небольшой текстовый файл PKGBUILD), как предполагается, проверяются installee прежде чем быть установленным. Репозитории, содержащие официальные двоичные пакеты, контролируются доверяемыми пользователями (TUs).
Обновление: Дуга теперь начала пакет, подписывающийся с pacman 4
OpenBSD и далеко. Весь проект выделен вокруг безопасности, команды даже поднимают 5000 + патч строки к исходным апачам, потому что они не чувствовали, что это было достаточно безопасно, чтобы использоваться. Это через pkg_add, но у меня никогда не было проблем с ним.
Кто сказал, что Slackware не имеет никакого подписания пакета?
Пакеты Slackware подписываются с открытым ключом Slackware. Таким образом, каждый пакет имеет свою подпись с расширением .asc
. Не только пакеты, но и другие файлы также подписываются, как CHECKSUMS.MD5
. Это содержит список контрольных сумм пакетов.
Дистрибутиву назвали официальный инструмент slackpkg
для загрузки/установки пакетов от зеркала. После обновления локальной repo базы данных с slackpkg update
инструмент проверяет законность подписи нового файла MD5 и журнала изменений и т.д...
После загрузки пакета (но прежде, чем установить) проверяются подпись и MD5 пакета.
Можно получить открытый ключ с slackpkg update gpg
или просто импортируя его из установки CD с gpg --import GPG-KEY
Существует другой неофициальный инструмент slapt-get
для Slackware. Это поддерживает GPG-проверки также! Похожим способом как slackpkg
.
paccheck
это делает это, сравнивает пакеты с различными зеркалами перед установкой и предупреждает о любых несоответствиях. – Wolf 08.07.2011, 15:00