Как настроить доверие с источником
Как добавить ключ репозитория
- Получите публичный ключ. Как правило, ключ содержится в текстовом файле, например,
key.gpg. - Сохраните ключ в хранилище:
/usr/share/keyrings/. - Настройте доверие с источником с помощью поля
Signed-Byвsources.list.
В SELECTOS ключи хранятся только в /usr/share/keyrings/.
Разъяснение
При сохранении ключей в /etc/apt/trusted.gpg.d/ apt не имеет соответствия между ключами и репозиториями. Если один из ключей в хранилище соответствует подписи пакета, apt считает пакет подлинным.
Таким образом, если хранилище содержит ключ от злоумышленника, он может распространить свой вариант чужого репозитория, подписанный этим ключом.
Рекомендуется:
- помещать файлы
*.gpgв/usr/share/keyrings/; - использовать поле
Signed-Byвsources.listдля всех сторонних репозиториев, как показано в примере ниже.
Пример
Есть собственный публичный репозиторий компании по адресу apt.example.com. Компания подписывает репозиторий и размещает публичный ключ для загрузки в файле company-keyring.gpg. Чтобы ключ действовал только для репозитория компании, нужно выполнить следующие действия.
- Получить публичный ключ и сохранить его в директории
/usr/share/keyrings/.
sudo wget -O /usr/share/keyrings/company-keyring.gpg https://apt.example.com/company-keyring.gpg"
- Настроить доверие с источником, добавив следующую запись в
sources.list:
deb [ signed-by=/usr/share/keyrings/company-keyring.gpg ] https://apt.example.com/ SELECTOS main
Как настроить доверие без подписи
Для работы apt с неподписанным репозиторием, перед URL репозитория нужно указать параметр trusted=yes в sources.list.
Пример записи в sources.list:
deb [ trusted=yes ] https://apt.example.com updates/
deb [ trusted=yes ] https://apt.example.com internal/
Неподписанные репозитории стоит использовать, только если вы доверяете источнику. Пакетный менеджер не будет проверять источник с указанной настройкой.