Есть ли соответствующий механизм для обеспечения безопасности для FreeBSD?

Исходя из большего количества linux-фона, я просмотрел FreeBSD, и я прочитал большую часть справочника FreeBSD , что хорошо и дает много информации о безопасности (глава 13) . Несмотря на то, что была предоставлена ​​большая информация, связанная с безопасностью, я не могу найти / понять, как выполняется целостность источников для FreeBSD (а также для портов и системы двоичных пакетов).

Как уже указывалось ранее, я привык к некоторым дистрибутивам Linux, Debian, в частности, где механизм или инструмент под названием secure apt используется там, где исходный корневой доверитель – через открытый ключ («Debian Archive Automatic Signing Key»), который gpg подписывает каскад списков Hash, которые в конечном итоге охватывают все файлы в пакетах.

Когда вы имеете дело с тем, как приобретать FreeBSD, он упоминает опцию использования репозитория subversion FreeBSD, где он заявляет тогда

HTTPS является предпочтительным протоколом, обеспечивающим защиту от другого компьютера, претендующего на роль зеркала FreeBSD (обычно называемого «человеком в середине») или иным способом пытается отправить плохой контент конечному пользователю. (Источник: https://www.freebsd.org/doc/handbook/svn.html )

и, хотя я полностью согласен с полезностью TLS / SSL, мне было интересно, доступна ли вся защита? Является ли сообщество FreeBSD помимо «безопасного канала» HTTPS (некоторые ЦС кажутся государственными субъектами), используйте какую-то другую альтернативную альтернативу WOT для проверки целостности приобретенных источников?

Поэтому я спрашиваю, есть ли что-то похожее на безопасное приложение Debian?

Обновить:

Я проверил, что подписка на пакет с использованием подхода доверия к сети (WOT) из другого Linux Distro, Arch Linux еще в 2012 году (см. Https://pierre-schmitz.com/trust-the-master-keys/ ), в то время как для gentoo похоже, похоже, существует, но я не могу сказать, когда он был введен. https://wiki.gentoo.org/wiki/Integrity/Concepts

В любом случае, похоже, что в дистрибутивах Linux были предприняты попытки решить проблему целостности пакета / источника, поэтому я очень уверен, что что-то подобное существует в сфере секретности и упорядоченности BSD, так?

  • FreeBSD не может использовать WiFi с BCM4360 на MacBook Air
  • freebsd make install openjdk6
  • Привязка к дереву при установке freebsd 10.3
  • USB automount вызывает другой x-сеанс
  • Не удается смонтировать USB на FreeBSD: неверный аргумент
  • Как разрешить прямой доступ root через SSH в определенном диапазоне IP?
  • PKG замедляется на FreeBSD, установленном на VirtualBox
  • FreeBSD - основные и второстепенные обновления с использованием портов?
  • One Solution collect form web for “Есть ли соответствующий механизм для обеспечения безопасности для FreeBSD?”

    пакеты

    Я публикую подписанный пакетный репозиторий, и вот как он работает.

    Системный администратор настраивает репозитории, добавляя файл конфигурации, такой как /usr/local/etc/pkg/repos/JdeBP.conf . Как часть этого, xe сообщает менеджеру пакетов открытый ключ, который должен использоваться для проверки подписей в репозитории. Xe получает этот ключ от меня некоторым способом, которому доверяют, и сохраняет его в файле где-то вроде /usr/local/etc/pkg/keys/JdeBP.pub . Затем Xe называет это как файл открытого ключа в /usr/local/etc/pkg/repos/JdeBP.conf .

    Я подписываю репозиторий пакетов с помощью закрытого ключа, который только я использую команду pkg repo . /elsewhere/package_signing_key pkg repo . /elsewhere/package_signing_key . Это создает подписанную информацию о репозитории и пакетах в трех файлах meta.txz , digests.txz и packagesite.txz . Каждый из этих архивов имеет два файла, один из которых является signature файлом для другого. Архиваторы и архивы пакетов содержат хэши каждого из файлов архива пакета. Мета-архив просто содержит имена двух других и некоторое управление версией информации об инструменте pkg-ng.

    Так что это очень похоже на Secure APT. Есть некоторые отличия:

    • Вместо Release дающего контрольные суммы для Packages и Packages затем предоставление хэшей для фактических архивов пакетов, pkg-ng имеет только один уровень. packagesite.yaml напрямую передает хеши фактических архивов пакетов.
    • Вместо того, чтобы разделить на отдельно загружаемые файлы Release и Release.gpg , а затем дополнительные файлы Packages and Sources , файл packagesite.yaml (охватывающий весь репозиторий) и его signature загружаются как единое целое в одну операцию fetch (и один HTTP-файл / FTP) в качестве файла packagesite.txz .

    Но идея такая же. Системный администратор надеется, что файл packagesite.yaml пришел от меня, потому что его сопровождающая signature может быть проверена на локально сохраненную, доверенную копию моего открытого ключа. Системный администратор доверяет, что файл redo-1.3.txz пришел от меня, потому что его хэш сопоставляет хеши из (now) trusted packagesite.yaml .

    Порты

    Порты – совсем другой чайник. Защищенный APT Debian рассматривает исходные пакеты как больше пакетов. Порты FreeBSD / TrueOS не являются исходными пакетами в смысле Debian, а являются довольно автоматизированными способами получения и создания исходных пакетов, которые публикуются кем-то другим. Порт – это, по сути, make-файл с некоторыми инструкциями о том, откуда fetch исходный код. Он имеет список хэшей (-ов) того, что должно быть выбрано.

    Сам порт поступает из репозитория FreeBSD или TrueOS, используя либо Subversion (если FreeBSD), либо git (если TrueOS или FreeNAS). Таким образом, применяются стандартные идеи для доверия Subversion или git. Например, в TrueOS «удаленный» URL-адрес, используемый при извлечении портов (самими) с помощью git, является HTTPS-адресом для репозитория GitHub, который хранит iXsystems (в справочнике TrueOS), который принадлежит ему.

    Таким образом, системный администратор доверяет порту, потому что xe получил его, используя Subversion или git fetch, которым доверяет xe. Xe доверяет исходному архиву, извлеченному портом, потому что он соответствует хешу, указанному в (теперь) доверенном порту.

    Заметки

    Debian's Release.gz и Packages.gz в значительной степени представляют собой просто способы сжатия транспорта HTTP. Я замалчивал некоторые другие вещи, которые не связаны с безопасностью, такие как различия в том, как, как ожидается, придется обрабатывать несколько выпусков операционной системы.

    Debian перешел к тому, как работает FreeBSD на протяжении многих лет, и не работает, как эта страница wiki говорит больше. В настоящее время в файле InRelease есть хеши и подпись в одном, больше как репозиторий FreeBSD. Это предотвращает проблему «разрыва», когда происходит загрузка Release а затем Release.gpg и владелец хранилища обновил репозиторий между двумя загрузками, что привело к неправильной сопоставлению подписей.

    (Debian только делал это так изначально, потому что за эти годы он Release.gpg эти вещи, каждый из которых строился на предыдущих механизмах, не меняя их: сначала система Package , затем механизм Release поверх этого, затем механизм Release.gpg на наверху.)

    Кроме того: FreeBSD имеет другой, другой способ сделать это, который включает в себя «отпечатки пальцев» и подписанный файл digests (в архиве digests.txz ).

    Я также замалчиваю соображения безопасности для ключа подписи, так как это не имеет особого отношения к ответу, который обсуждает, как это похоже / в отличие от Secure APT. Требования безопасности секретного ключа являются общими для всего понятия о подписании вещей с помощью открытых / закрытых ключей и не зависят от структур репозитория.

    дальнейшее чтение

    • Джонатан де Бойн Поллард (2016). Хранилища пакетов . Softwares.
    • Колин Уотсон (2016-04-08). Больше нет ошибок «Ошибка хэш-суммы» .
    Interesting Posts

    Постфикс, временно запрещенный для слишком большого количества отправленных писем (бюллетень)

    Использование sed для замены строки специальными символами другой строкой со специальными символами

    gdb не запускает приложение

    Сетевой принтер Canon: невозможно открыть исходное устройство, выйти из системы

    Неполадка библиотеки OpenSUSE 12.3 – полностью оборвана, обновление прошло плохо

    Редактирование файла eps, созданного Tecplot

    Почему Red Hat Linux использует такое старое ядро?

    Как вы используете переменные со значениями, содержащими пробелы в команде сценария Z-shell (zsh)?

    Ошибка при установке Debian 7 на виртуальной машине (Ошибка при попытке запуска: chroot / target mount -t proc proc / proc)

    Интеллектуальное переключение между несколькими процессами BASH

    Как сообщить gzip о сохранении исходного файла?

    Написание usb на FreeBSD для доступа к окнам

    Есть ли способ проверить, был ли .so скомпилирован флаг -Bsymbolic-functions?

    Проблема с фоном рабочего стола

    systemd service: возможно ли получить имя пользователя, вызвавшего событие power?

    Linux и Unix - лучшая ОС в мире.