Назад | Перейти на главную страницу

Ubuntu: установите только подписанный проверенный пакет deb

Какова конечная цель: надежно установить данный пакет для ряда серверов.

У нас есть серверы, работающие в разных облачных центрах обработки данных. Мы устанавливаем на них наше приложение как deb файл. В настоящее время мы загружаем обновления как deb файлы через доступный скрипт. Это медленно, так как "главному" узлу необходимо обновить все машины.

Мы думаем, что было бы лучше, если бы мы могли просто выпустить sudo apt update <package> для каждого узла.

А как насчет безопасности? Сервер репо должен быть в Интернете.

Таким образом, нам нужно будет убедиться, что пакет устанавливается безопасно. deb файлы можно подписывать, но афаик dpkg-verify только проверяет правильность подписи. Таким образом, вредоносный, но правильно подписанный пакет пройдет проверку verify.

Так могли бы мы

Другой подход приемлем до тех пор, пока безопасность не будет поставлена ​​под угрозу.

Если вы используете apt install или анзибль apt модуля для установки пакетов, то метаданные репо должны быть подписаны ключом, известным вашей системе, например, ключами подписи дистрибутива Ubuntu или любыми ключами, которые вы явно добавляете с помощью apt_key доступный модуль. Все, что подписано неизвестным ключом или не подписано, будет отклонено.

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