Вопрос или проблема
На Ubuntu 14.04 я не могу заставить это работать.
Наш аудитор PCI сказал нам, что у нас не должно быть прямого исходящего доступа к репозиториям Ubuntu, поэтому я зеркалю их с помощью reprepro. Аналогично, у нас нет исходящего доступа к keyserver.ubuntu.com.
Я попытался добавить каждую из следующих строк в /etc/apt/apt.conf.d/99local
:
APT::Get::AllowUnauthenticated "true";
APT{Ignore {"gpg-pubkey"; }};
APT { Get { AllowUnauthenticated "1"; }; };
И команда “apt-get update” все равно возвращает, после чтения пакетов:
W: GPG ошибка: hkp://sa1.dal.some-company.com trusty InRelease: Подписи не могут быть проверены, поскольку открытый ключ недоступен: NO_PUBKEY 082BCA0181FE8E68
W: GPG ошибка: hkp://sa1.dal.some-company.com trusty-backports InRelease: Подписи не могут быть проверены, поскольку открытый ключ недоступен: NO_PUBKEY 082BCA0181FE8E68
W: GPG ошибка: hkp://sa1.dal.some-company.com trusty-security InRelease: Подписи не могут быть проверены, поскольку открытый ключ недоступен: NO_PUBKEY 082BCA0181FE8E68
W: GPG ошибка: hkp://sa1.dal.some-company.com trusty-updates InRelease: Подписи не могут быть проверены, поскольку открытый ключ недоступен: NO_PUBKEY 082BCA0181FE8E68
Как я могу заставить это работать? Ничто из того, что я нашел в документации о том, как отключить проверку ключей, не работает.
Отключение проверки подписи только потому, что вы установили локальный репозиторий, похоже на то, как если бы вы сняли замки с дверей, потому что оградили свой сад. Не делайте этого, особенно в средах, требующих повышенной безопасности!
Вам не нужен доступ к серверу ключей для установки открытого ключа, используемого для подписи пакетов в reprepro. Просто скопируйте файл ключа на соответствующий компьютер и импортируйте его с помощью команды
sudo apt-key add [publickey]
где [publickey]
– это файл, содержащий ключ с ID 082BCA0181FE8E68
. Вы можете сгенерировать такой файл на компьютере, на котором был сгенерирован ключ, с помощью
gpg --armor --export 082BCA0181FE8E68 >082BCA0181FE8E68.asc
Открытый ключ может быть распространен произвольно, так как его можно использовать только для проверки подписей, выданных с использованием закрытого ключа. Добавление ключа необходимо выполнить только один раз на каждую машину, использующую репозиторий.
Ответ или решение
Деактивация проверки ключей APT для частных репозиториев в Ubuntu 14.04 может быть необходима в условиях ограниченного доступа к внешним ресурсам, что и является вашей задачей. Однако, учитывая требования безопасности, такие как рекомендации аудиторов PCI, важно рассмотреть разные подходы и их последствия.
1. Понимание проблемы
Система APT (Advanced Package Tool) использует GPG (GNU Privacy Guard) для проверки целостности пакетов, что помогает предотвратить установку поддельного или измененного ПО. Если вы используете собственный зеркальный репозиторий, управляемый через reprepro
, и не имеете доступа к внешним серверам для загрузки ключей, вам вполне может понадобиться отключить проверку подписей. Однако следует помнить, что это может создать уязвимости в системе, если вы не будете осторожны.
2. Как отключить проверку ключей APT
Для того чтобы отключить проверку подписи пакетов, вы можете использовать следующие подходы.
2.1 Настройка конфигурации APT
Добавьте следующие строки в файл конфигурации APT, который вы упомянули (/etc/apt/apt.conf.d/99local
):
APT::Get::AllowUnauthenticated "true";
APT::Ignore {"gpg-pubkey";};
APT::Get::AllowUnauthenticated "1";
Однако, даже с этой конфигурацией, вы можете столкнуться с предупреждениями о пропавших ключах, если APT обнаружит, что пакеты все еще требуют подписи для установки. Поэтому данный подход может не полностью решить вашу проблему.
2.2 Установка открытых ключей
Наиболее безопасный и рекомендованный способ — добавить открытый ключ для вашего репозитория напрямую. Если у вас есть доступ к компьютеру, на котором был создан репозиторий и ключ, вы можете экспортировать открытый ключ следующим образом:
gpg --armor --export 082BCA0181FE8E68 > 082BCA0181FE8E68.asc
После этого перенесите файл с ключом на целевую машину и выполните команду:
sudo apt-key add 082BCA0181FE8E68.asc
Таким образом, вы добавите открытый ключ напрямую в APT, что позволит избежать ошибок проверки и повысить уровень безопасности системы.
3. Заключение
Отключение всех мер проверки подлинности может серьезно угрожать безопасности вашей системы, особенно в контексте предъявленных требований PCI. Рассмотрите возможность установки открытых ключей в вашу систему как более безопасное решение проблемы.
Не забывайте, что безопасная настройка ваших репозиториев и управление ключами — это важные аспекты, которые помогут защитить ваши системы от несанкционированного доступа и уязвимостей, связанных с вредоносным ПО. Поэтому всегда лучше иметь корректно настроенные репозитории с валидируемыми ключами для повышения безопасности.
Полезная информация по безопасности и управлению пакетами доступна на официальном сайте Ubuntu.