Безопасно ли добавлять PPA в мою систему и на что следует обращать внимание при «красных флажках»?

301

Я вижу много интересных программ, которые можно получить, только добавив «PPA» в систему, но, если я правильно понимаю, мы должны остаться в официальных «репозиториях» для добавления программного обеспечения в нашу систему.

Есть ли способ для новичка узнать, безопасен ли «PPA» или его следует избегать? Какие советы должен знать пользователь при работе с PPA?

обкрадывать
источник
2
Смотрите также: askubuntu.com/questions/7662/…
Механическая улитка
Вы можете проверить, есть ли в наличии snappyпакет тоже. Они, как правило, ограничены правилами безопасности. Вы должны явно предоставить определенные разрешения для некоторых снимков, хотя общая проблема та же (нужно доверять издателю).
Кен Шарп

Ответы:

213

PPA ( Personal Package Archive ) используется для включения определенного программного обеспечения в ваш Ubuntu, Kubuntu или любой другой PPA-совместимый дистрибутив. « Безопасность » PPA зависит в основном от 3 вещей:

  1. Кто сделал PPA - Официальный PPA из WINE или LibreOffice, такой как ppa: libreoffice / ppa, и PPA, который я создал сам, - это не одно и то же. Вы не знаете меня как сопровождающего PPA, поэтому проблема доверия и безопасности для меня ОЧЕНЬ низка (поскольку я мог создать поврежденный пакет, несовместимый пакет или что-то еще плохое), но для LibreOffice и PPA они предлагают на своем веб-сайте. Это дает ему определенную страховку. Таким образом, в зависимости от того, кто сделал PPA, то сколько времени он или она занимался и поддерживает PPA, будет немного влиять на то, насколько безопасен PPA для вас. Как указано выше в комментариях, PPA не сертифицированы Canonical.

  2. Сколько пользователей использовали PPA - например, у меня есть PPA от http://winehq.org в моем личном PPA. Доверяете ли вы мне 10 пользователей, которые подтверждают использование моего PPA, причем 6 из них говорят, что это отстой, а не то, что Скотт Ритчи предлагает в качестве ppa: ubuntu-wine / ppa на официальном сайте winehq. У него тысячи пользователей (включая меня), которые используют его PPA и доверяют его работе. Эта работа имеет несколько лет позади.

  3. Насколько обновлен PPA - Допустим, вы используете Ubuntu 10.04 или 10.10 и хотите использовать ЭТО специальный PPA. Вы узнаете, что последнее обновление этого PPA было 20 лет назад. Oo Шансы на использование THA PPA равны нулю. Почему?. Поскольку зависимости пакетов, которые нужны PPA, очень старые и, возможно, обновленные изменяют настолько много кода, что они не будут работать с PPA и, возможно, нарушат работу вашей системы, если вы установите какой-либо пакет этого PPA в свою систему.

    Как обновленный PPA влияет на решение использовать его, если он / она хочет использовать ЭТО PPA. Если нет, то они скорее пойдут искать другой более актуальный. Вам не нужен Banshee 0.1, Wine 0.0.0.1 или OpenOffice 0.1 Beta Alpha Omega Thundercat Edition с последней версией Ubuntu. То, что вы хотите, это PPA, который обновляется до вашей текущей Ubuntu. Помните, что PPA упоминает, для чего создана версия Ubuntu или для чего было создано несколько версий Ubuntu.

    В качестве примера здесь приведен образ версий, которые поддерживаются в Wine PPA:

    введите описание изображения здесь

    Здесь вы можете видеть, что этот PPA поддерживается начиная с динозавров.

    Одна ПЛОХАЯ вещь о том, как обновляется PPA, если сопровождающий PPA стремится внедрить в PPA самую последнюю, самую лучшую и передовую версию определенного пакета. Недостатком этого является то, что если вы собираетесь протестировать что-то последнее, вы обнаружите некоторые ошибки. Попробуйте придерживаться PPA, которые обновлены до стабильной версии, а не нестабильной, тестовой или dev-версии, поскольку она может / будет содержать ошибки. Идея иметь последнюю версию также ТЕСТИРОВАНИЕ и сказать, какие проблемы были найдены и решить их. Примером этого являются ежедневные PPA Xorg и Daily Mozilla PPA. Вы получите около 3 ежедневных обновлений для X.org или Firefox, если вы получите ежедневные газеты. Это связано с работой, которую вы выполняете, и если вы используете их ежедневные PPA, это означает, что вы хотите помочь с поиском ошибок или разработкой, а НЕ с производственной средой.

В основном придерживайтесь этого 3, и вы будете в безопасности. Всегда ищите производителя / сопровождающего PPA. Всегда смотрите, много ли пользователей его использовали, и всегда смотрите, насколько обновлен PPA. Такие места, как OMGUbuntu , Phoronix , Slashdot , The H , WebUp8 и даже здесь, в AskUbuntu, являются хорошими источниками, где можно найти множество пользователей и статей, которые обсуждают и рекомендуют некоторые PPA, которые они протестировали.

Примеры стабильных PPA - LibreOffice, OpenOffice, Banshee, Wine, Kubuntu, Ubuntu, Xubuntu, PlayDeb, GetDeb, VLC - хорошие и безопасные PPA из моего опыта.

Полустабильный PPA - PPA X-Swat представляет собой средний PPA между передним краем и стабильным.

PPA Bleeding Edge - Xorg-Edgers - это PPA, хотя я должен упомянуть, что после 12.04 этот PPA стал более стабильным. Я бы все же отметил его как передовой, но он достаточно стабилен для конечных пользователей.

Выбор PPA - Handbrake предлагает здесь способ для пользователя , чтобы выбрать, хотите ли вы стабильную версию или же вы хотите кровоточащий край (также называемый Snapshot) версия. В этом случае вы можете выбрать, что вы хотите использовать.

Обратите внимание, что в случае использования, например, ppa X-Swat с PPA Xorg-Edgers, вы получите смешанное между ними (с приоритетом по отношению к Xorg-Edgers). Это связано с тем, что оба пытаются включить почти одинаковые пакеты, поэтому они будут перезаписывать друг друга, и только самый обновленный будет отображаться в ваших репозиториях (за исключением случаев, когда вы вручную сообщаете ему о получении пакета из X-Swat).

Некоторые PPA могут обновлять некоторые из ваших пакетов, когда вы добавляете их в свой репозиторий, поскольку они перезаписывают свою собственную версию определенным пакетом, чтобы программное обеспечение PPA работало в вашей системе правильно. Это могут быть некоторые пакеты кода, версии Python и т. Д. Другие, например, LibreOffice PPA, удалят все существование OpenOffice из вашей системы для установки там пакетов LibreOffice. В основном прочитайте, что другие пользователи прокомментировали о конкретном пакете, а также прочитайте, совместим ли этот пакет с вашей версией Ubuntu.

Как следует из комментария, приведенного ниже, Джереми Бича, некоторые из самых передовых технологий (PPA, которые постоянно обновляются, включая добавление в PPA качественного программного обеспечения Alpha, Beta или RC) могут потенциально повредить всю вашу систему (в худшем случае). Джереми упоминает пример многих.

Луис Альварадо
источник
Верно ли это для множества PPA, которые вам нужно установить, чтобы получить такие темы, как равноденствие, элементарность и т. Д.?
Авель
2
Да. Это относится к любому PPA. Помните, что PPA - это просто простой способ обновить программу или группу программ через кого-то, кто не торопится обновлять их. Таким образом, это место, где кто-то посвящает свое время обновлению или совместимости с последней / более старой системой. Но так как это делает человек, на пути могут быть ошибки.
Луис Альварадо
14
Как узнать, сколько пользователей у PPA?
Дэмиен
Дает ли добавление PPA хакерам некоторые дыры, чтобы пройти через них?
mathmaniage
@mathmaniage Исходный код должен быть загружен и собран системой, поэтому исходный код доступен для проверки в любое время.
Кен Шарп
56

Чтобы разработать PPA на панели запуска, участник должен подписать кодекс поведения Ubuntu . Это означает, что разработчик должен соблюдать минимальный набор стандартов.

Обычно люди должны проконсультироваться с ubuntuforums, чтобы узнать, кто использовал определенные ppa и могут ли они вызвать какие-либо проблемы.

Для "новичка" или "новичка" - мой лучший совет - держаться подальше от PPA, пока вы не почувствуете уверенность в том, что понимаете несколько вещей, касающихся командной строки, сообщений о потенциальных ошибках и несколько вещей, как диагностировать проблемы.

Чтобы устранить проблемы, вызывающие ppa , вы можете использовать " ppa_purge "

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

Сказав все это, ppa чрезвычайно полезны для получения последних версий программного обеспечения - особенно для тех, кто не пытается обновляться каждые 6 месяцев и придерживается LTS-версии ubuntu.

fossfreedom
источник
1
Буду признателен за ваш ответ наверху только за совет новичкам. :(
Брайам
@fossFreedom: получать ли автоматические обновления, если я инсталлирую через ppa или apt-get installутилиту
Rajat Gupta
1
@ user01 - если человек, создавший PPA, обновит пакет новой версией, да - вы получите обновление автоматически, если сначала apt-get install package
добавите
2
Конечно, злонамеренный пользователь не будет остановлен тем, что ему нужно будет подписать кодекс поведения ...
evilsoup
Резервные копии не спасут вас от цифровой кражи (например, злонамеренный PPA-файл, отправляющий файлы cookie вашего браузера или ключи ssh домой). Если вы действительно нервничаете, то установка и запуск PPA в виртуальной машине, контейнере или шруте должны быть безопасными .
Joeytwiddle
21

Это уже не просто вредоносная программа, как уже было сказано. Кроме того, некоторые из программ действительно могут находиться на стадии тестирования и не готовы к использованию. Если вы установите его и положитесь на него для выполнения работы, вы можете обнаружить, что он содержит ошибки, ненадежен и может привести к сбою, оставляя вас без работы, которую вы сделали.

Некоторые из них могут также не ладить с другими аспектами Ubuntu, такими как Unity или Gnome, вызывая проблемы, которые трудно отследить, и, возможно, даже сделать вашу систему нестабильной.

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

Несколько месяцев назад я установил рекомендуемый пакет из определенного PPA, и он достаточно сильно повредил мою систему, и мне пришлось переустанавливать Ubuntu. Я был новым пользователем и не знал, что еще делать; обладая немного большим знанием, я мог бы решить проблему и восстановить ее, не выполняя переустановку (хотя это также было полезно для меня при изучении Ubuntu, но если бы я работал на своей машине, я бы ее потерял) ,

Поэтому будьте осторожны, задавайте вопросы, делайте частые резервные копии (!!!) и знайте, что вредоносное ПО маловероятно (хотя и не невозможно).

Kelley
источник
19

Все проблемы, перечисленные здесь другими, чрезвычайно важны для понимания. Тем не менее, поскольку это открытый исходный код, мы можем точно сказать, что PPA изменился по сравнению с версией пакета в Ubuntu. Мы будем использовать PPA из этого дубликата в качестве примера.

Сначала мы возьмем исходный код из PPA, dgetинструмент, который загрузит все части пакета исходного кода Debian по ссылке на dscфайл:

dget -u https://launchpad.net/~anton0/+archive/unity/+files/unity_5.12-0ubuntu2~ppa1.dsc

Я нашел эту ссылку, нажав «Просмотреть информацию о пакете»:

Посмотреть детали пакета

А потом:

найти файл DSC

Далее мы получим исходный код пакета в архиве Ubuntu:

apt-get source unity

Наконец, мы будем использовать, debdiffчтобы увидеть различия между источником двух пакетов:

debdiff unity_5.12-0ubuntu1.1.dsc unity_5.12-0ubuntu2~ppa1.dsc

Вывод этой команды составляет около трехсот строк, поэтому я положу ее на вставку вместо прямой вставки в окно. Теперь я не могу ручаться за то, насколько хорош код, поскольку на самом деле я не знаю C ++, но, похоже, он делает то, что заявляет, а не что-то вредоносное.

andrewsomething
источник
1
+1, но ваша ссылка на ссылку не работает.
незабываемый
Это отличный пример того, как проверить, что было сделано с пакетом PPA. Ссылка на тапин совершенно неактуальна. +1
Кен Шарп
13

PPA - это веб-папка, содержащая программное обеспечение, которое вы можете установить. Это действительно не намного сложнее, чем это. Когда вы устанавливаете пакет, вы делаете это с правами суперпользователя, и у пакета есть сценарии, которые запускаются, поэтому они запускаются от имени пользователя root. Это означает, что установка любого программного обеспечения опасна, и вам нужно доверять разработчику или распространителю.

Apt-архив, PPA или другой, регулярно опрашивается на предмет обновлений установленного вами программного обеспечения. «Проблема» в том, что любой может предоставить вам новый пакет программного обеспечения, который вы установили. Например, вы можете добавить PPA, чтобы получить хорошую тему и автоматическое обновление этой темы. Но как только вы добавите этот репозиторий, владелец может, например, добавить пропатченный пакет openssh-server, и он появится в Ubuntu как обновление. Это можно сделать через год после добавления PPA, поэтому вам следует обратить внимание на обновления.

Однако система PPA не позволяет сторонним лицам вмешиваться в пакеты, поэтому, если вы действительно доверяете разработчику / распространителю, то PPA очень безопасны. Например, если вы устанавливаете Google Chrome, они добавляют PPA, чтобы вы автоматически получали обновления для него. Они добавляют "deb http://dl.google.com/linux/chrome/deb/ stable main". Если DNS-сервер, который вы используете, был взломан, чтобы указать dl.google.com где-то еще, то он мог бы отправить исправленное программное обеспечение всем, кто установил Chrome. Но Ubuntu откажется устанавливать их, поскольку они не могут быть подписаны закрытым ключом Googles. Таким образом, в этом отношении PPA очень безопасны.

Невозможно сказать, что PPA является безопасным или нет. Это зависит от людей, которые используют его для распространения программного обеспечения. С помощью свободного программного обеспечения люди могут посмотреть на источник и посмотреть, безопасен он или нет. Когда многие люди используют архив, например, обычные архивы Ubuntu, тогда у вас есть рецензирование. В небольших архивах с небольшим количеством пользователей такого нет, поэтому они менее надежны. Главный урок заключается в том, что независимо от того, какую систему вы используете, вы должны соблюдать осторожность при установке программного обеспечения.

Джо-Эрленд Шинстад
источник
11

Опираясь на ответ Луиса Альварадо , вы должны знать об этих рисках:

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

и вы должны быть внимательны к этим факторам:

  • Честность сопровождающего. Может, тайно хранитель сопровождает вас?
  • Безопасность сопровождающего. Является ли сопровождающий уязвимым для атак третьей стороны?
  • Надежность сопровождающего - ответит ли сопровождающий на необходимость обновлений в разумные сроки? Обязаны ли они поддерживать PPA в долгосрочной перспективе?
  • Безопасность хранилища - подписаны ли пакеты сопровождающим?
  • Производительность программного обеспечения - программное обеспечение не содержит ошибок и совместимо ли оно с вашей системой?
ændrük
источник
8

Пакеты на PPA не проверяются на наличие вредоносных программ. Таким образом, хотя кто-то может упаковывать для вас что-то вроде XBMC, он также может легко добавить шпионское / вредоносное ПО. Вот почему вы не должны просто добавлять случайные PPA.

tgm4883
источник
Можете ли вы сказать, что именно XMBC, я совершенно новый
Ubu
XBMC - это программное обеспечение для медиацентра. Это хорошее и безопасное программное обеспечение. Он использовал это только в качестве примера, это могло быть любое программное обеспечение.
Аноним
Что может сделать вредоносная программа в Ubuntu, она должна запрашивать разрешение на все и все правильно?
kernel_panic
После того, как вы установили его (т.е. дали ему разрешение на копирование файлов в системные каталоги и запускали пользовательские сценарии), он может делать с системой все, что пожелает. Вот почему важно устанавливать пакеты из надежных источников.
организовать
Неправильно. Когда вы устанавливаете часть программного обеспечения, вы при этом являетесь пользователем root. Довольно легко получить это разрешение и начать делать плохие вещи.
tgm4883
3

Когда вы добавляете ppa и устанавливаете программу через него.

По сути, вы даете разрешение на размещение этой программы в разрешенной исполняемой области (/ bin / / sbin / / usr / bin /).

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

Когда программа поступает из репозиториев Ubuntu, они сначала проверяются (я бы хотел сказать, но я не знаю: P), поэтому те из репозиториев Ubuntu не содержат вредоносных / шпионских программ.

Для любого другого ppa вам / пользователю решать, доверять ему или нет.

wisemonkey
источник
Что может сделать вредоносная программа в Ubuntu, она должна запрашивать разрешение на все и все правильно?
kernel_panic
6
Когда вы устанавливаете программное обеспечение, оно запрашивает разрешение root (экран темнеет, и вы вводите свой пароль). В этот момент он может делать все что угодно : удалить все из вашей коробки, установить кейлоггер, изменить фон рабочего стола на hello kitty, что угодно .
SCdF
1
@sanjayasanjuubuntu: во время установки запрашивается разрешение на пребывание в исполняемой области, после чего он может легко получить доступ к любой информации, кроме su. Существуют программы, для выполнения которых требуется разрешение su, однако, если к самой программе добавлен дополнительный багаж (чтение вредоносного ПО), добавленный во время упаковки, она может выполняться без проблем при вводе пароля.
wisemonkey
Dev PPA являются самым безопасным маршрутом и также должны видеть продолжительность участника на Launchpad. Эти факторы гарантируют безопасную, стабильную систему, использующую PPA для последних программ. Я нашел этот путь, чтобы долго поддерживать LTS с конкретными новыми версиями программ, которые я использую.
Arup Roy Chowdhury