Использование подписанных пакетов Debian для внутреннего репозитория
Мы используем внутренний репозиторий Debian для бэкпортов и внутреннего программного обеспечения.
Для управления репозиторием мы выбрали prespro и подписываем пакеты с исходным кодом (с помощью debsign), чтобы репозиторий принимал наши ключи gpg как доверенные.
Мы создали внутреннюю связку ключей, похожую на пакет ключей Debian или Ubuntu, которую мы устанавливаем прежде, чем можно будет выполнить "apt-get update" без получения ошибки ключа gpg.
Последний пункт проблематичен, так как мы часто сталкиваемся с проблемами безопасности, хотя мы находимся в полностью частной сети, что исключает небезопасную загрузку пакетов извне.
Вопрос: Каковы преимущества и недостатки использования подписанных пакетов во внутреннем хранилище?
1 ответ
Подписывание репозитория помогает пользователям знать "да, я доверяю репозиторию, из которого я загружаю пакеты". Если вы скажете им игнорировать эту проверку, вам придется беспокоиться о:
- Отравление DNS (когда они заходят на yourserver.com, получают ли они правильный адрес?)
- MITM (когда они пытаются попасть в хранилище на ip 1.2.3.4, получают ли они сервер, который должны получить)
- мошеннические записи в sources.list (каким-то образом мне удается поместить deb http://evilserver.xxx/ foo/"в ваш sources.list, и теперь вы устанавливаете пакеты из evilserver.xxx, которым вы не должны доверять)
Если любой из первых двух может быть проблемой (что маловероятно в контролируемой среде), тогда у вас все еще будет проблема повторных атак даже с подписанным хранилищем. (вы запускаете обновление для системы безопасности, чтобы исправить уязвимость, я заставляю пользователя смотреть на мой репозиторий, а не на ваш, чтобы пользователь никогда не получал исправление, я использую уязвимость).
В контролируемой сети я бы не особо беспокоился об этом. При этом, если у вас уже есть инфраструктура для подписанных репозиториев, запуск debsign не кажется слишком сложным.