Os PPAs são seguros para adicionar ao meu sistema e quais são algumas das "bandeiras vermelhas" a serem observadas?

301

Eu vejo muitos programas interessantes por aí que só podem ser obtidos adicionando um "PPA" ao sistema, mas, se estou entendendo corretamente, devemos permanecer nos "repositórios" oficiais para adicionar software ao nosso sistema.

Existe alguma maneira de um novato saber se um "PPA" é seguro ou se deve ser evitado? Quais dicas o usuário deve saber ao lidar com um PPA ?.

Roubar
fonte
2
Veja também: askubuntu.com/questions/7662/…
Caracol mecânico
Você pode verificar se há um snappypacote disponível também. Eles tendem a ser limitados pelas regras de segurança. Você precisa conceder explicitamente certas permissões para alguns snaps, embora o problema geral seja o mesmo (você precisa confiar no editor).
Ken afiada

Respostas:

213

O PPA ( Personal Package Archive ) é usado para incluir um software específico no seu Ubuntu, Kubuntu ou qualquer outra distribuição compatível com PPA. A " segurança " de um PPA depende principalmente de três coisas:

  1. Quem criou o PPA - Um PPA oficial do WINE ou LibreOffice como ppa: libreoffice / ppa e um PPA que eu mesmo criei não são os mesmos. Você não me conhece como mantenedor do PPA, portanto o problema de confiança e segurança é MUITO baixo para mim (já que eu poderia ter feito um pacote corrompido, incompatível ou qualquer outra coisa ruim), mas para o LibreOffice e o PPA que eles oferecem em seu site , Isso fornece uma certa rede de segurança. Portanto, dependendo de quem criou o PPA, quanto tempo ele faz e mantém o PPA influenciará um pouco a segurança do PPA para você. Os CAE mencionados acima nos comentários não são certificados pela Canonical.

  2. Quantos usuários usaram o PPA - por exemplo, eu tenho um PPA em http://winehq.org no meu PPA pessoal. Você confiaria em mim com 10 usuários que confirmam usar meu PPA, tendo 6 deles dizendo que é péssimo do que o que Scott Ritchie oferece como ppa: ubuntu-wine / ppa no site oficial do winehq. Tem milhares de usuários (incluindo eu) que usam seu PPA e confiam em seu trabalho. Este é um trabalho que tem vários anos atrás.

  3. Quão atualizado é o PPA - Digamos que você esteja usando o Ubuntu 10.04 ou 10.10 e deseje usar esse PPA especial. Você descobre que a última atualização desse PPA foi há 20 anos. Oo As chances de você usar esse PPA são nulas. Por quê?. Como as dependências de pacotes que o PPA precisa são muito antigas e talvez as atualizadas alterem tanto o código que não funcionam com o PPA e possivelmente quebram o sistema se você instalar qualquer um dos pacotes desse PPA no sistema.

    A atualização de um PPA influencia a decisão de usá-lo se ele / ela deseja usar esse PPA. Caso contrário, eles preferem procurar outro mais atualizado. Você não deseja o Banshee 0.1 ou o Wine 0.0.0.1 ou o OpenOffice 0.1 Beta Alpha Omega Thundercat Edition com o Ubuntu mais recente. O que você deseja é um PPA atualizado para o seu Ubuntu atual. Lembre-se de que um PPA menciona para qual versão do Ubuntu é feita ou para várias versões do Ubuntu.

    Como exemplo disso, aqui está uma imagem das versões suportadas no PPA do Wine:

    insira a descrição da imagem aqui

    Aqui você pode ver que este PPA é suportado desde os dinossauros.

    Uma coisa ruim sobre a atualização de um PPA é se o mantenedor do PPA tender a inserir no PPA a versão mais recente, melhor e mais avançada de um pacote específico. O lado negativo disso é que, se você estiver testando o que há de mais recente, encontrará alguns erros. Tente usar PPAs atualizados para uma versão estável e não instável, de teste ou de desenvolvimento, pois ela pode / conterá bugs. A idéia de ter o mais recente também é TESTAR e dizer quais problemas foram encontrados e resolvê-los. Um exemplo disso são os PPAs diários do Xorg e os PPAs diários da Mozilla. Você receberá cerca de três atualizações diárias para o X.org ou Firefox se receber os diários. Isso ocorre devido ao trabalho realizado e, se você estiver usando os PPAs diários, significa que deseja ajudar na busca ou desenvolvimento de bugs e NÃO em um ambiente de produção.

Basicamente, fique com este 3 e você estará seguro. Sempre procure o fabricante / mantenedor do PPA. Sempre veja se muitos usuários o usaram e sempre veja como o PPA é atualizado. Lugares como OMGUbuntu , Phoronix , Slashdot , The H , WebUp8 e até aqui no AskUbuntu são boas fontes para encontrar muitos usuários e artigos falando sobre e recomendando alguns PPAs que eles testaram.

Exemplos de PPAs estáveis - LibreOffice, OpenOffice, Banshee, Wine, Kubuntu, Ubuntu, Xubuntu, PlayDeb, GetDeb, VLC são PPAs bons e seguros da minha experiência.

PPA semi-estável - o PPA X-Swat é um PPA intermediário entre a borda do sangramento e o estável.

PPA de borda de sangramento - Xorg-Edgers é um PPA de borda de sangramento, embora eu deva mencionar que após 12.04, esse PPA se tornou cada vez mais estável. Eu ainda o marcaria como algo de mais moderno, mas é estável o suficiente para os usuários finais.

PPA selecionável - Handbrake oferece aqui uma maneira de o usuário escolher, deseja uma versão estável ou deseja a versão de borda sangrenta (também conhecida como Snapshot). Nesse caso, você pode selecionar o que deseja usar.

Observe que, no caso de usar, por exemplo, o X-Swat ppa com o Xorg-Edgers PPA, você terá uma mistura entre os dois (com prioridade para o Xorg-Edgers). Isso ocorre porque os dois estão tentando incluir quase os mesmos pacotes, então eles se sobrescreverão e somente o mais atualizado será exibido em seus repositórios (exceto se você pedir manualmente para ele pegar o pacote no X-Swat).

Alguns PPAs podem atualizar alguns de seus pacotes quando você os adiciona ao seu repositório, porque eles sobrescrevem com sua própria versão um determinado pacote para fazer com que o software PPA funcione corretamente em seu sistema. Podem ser alguns pacotes de códigos, versões python, etc. Outros, como o PPA do LibreOffice, removerão toda a existência do OpenOffice do seu sistema para instalar os pacotes do LibreOffice lá. Leia basicamente o que outros usuários comentaram sobre um pacote específico e também leia se o pacote é compatível com a sua versão do Ubuntu.

Como o comentário abaixo sugere por Jeremy Bicha, alguns limites (PPAs que permanecem muito atualizados, incluindo a adição de software de qualidade Alpha, Beta ou RC no PPA) podem potencialmente danificar todo o sistema (na pior das hipóteses). Jeremy menciona um exemplo de muitos.

Luis Alvarado
fonte
Isso é verdade para a multiplicidade de PPAs que você precisa instalar para obter temas como equinócio, elementar etc.?
abel
2
Sim. Aplica-se a qualquer PPA. Lembre-se de que um PPA é apenas uma maneira fácil de atualizar um programa ou grupo de programas através de alguém que leva o tempo necessário para atualizá-lo. Portanto, é um local em que alguém dedica seu tempo para que algo seja atualizado ou compatível com o sistema mais recente / mais antigo. Mas, como é um humano que está fazendo isso, pode haver erros no caminho.
Luis Alvarado
14
Como descobrir quantos usuários um PPA possui?
Damien
A adição de um PPA oferece aos hackers algumas falhas para passar?
mathmaniage
@mathmaniage O código-fonte precisa ser carregado e construído pelo sistema, para que o código-fonte esteja disponível para verificação a qualquer momento.
Ken Sharp
56

Para desenvolver PPAs na barra de ativação, o colaborador deve ter assinado o código de conduta do ubuntu . Isso significa que o desenvolvedor deve cumprir um conjunto mínimo de padrões.

Normalmente, as pessoas devem consultar os fóruns do ubuntu para ver quem usou ppa's específicos e se eles podem causar problemas.

Para um "novato" ou "noob" - meu melhor conselho é evitar os PPAs até que você se sinta confiante de que entende algumas coisas sobre a linha de comando, possíveis mensagens de erro e algumas coisas sobre como diagnosticar problemas.

Para remover os problemas que causam ppa, você pode usar " ppa_purge " na maioria das vezes

Se você estiver se sentindo nervoso, considere um backup de imagem do seu computador com uma ferramenta como o clonezilla . Dessa forma, se as coisas derem errado e você não conseguir resolvê-lo, pelo menos você terá um meio rápido de restaurar o computador da maneira que estava antes de começar a jogar.

Dito tudo isso, os ppa's são extremamente úteis para obter as versões mais recentes do software - especialmente para aqueles que não tentam atualizar a cada 6 meses e continuam com a versão LTS do ubuntu.

liberdade de expressão
fonte
1
Eu adoraria sua resposta no topo apenas pelo conselho aos novatos. :(
Braiam 5/09/2013
@fossFreedom: eu receber atualizações automáticas se eu instalar via ppa ou apt-get installutilidade
Rajat Gupta
1
@ user01 - se a pessoa que criou o PPA atualiza o pacote com uma nova versão, sim - você vai ter a atualização automaticamente se tiver adicionado a PPA primeiro e depoisapt-get install package
fossfreedom
2
É claro que um usuário malicioso não vai ser parado por ter que assinar o código de conduta ...
evilsoup
Os backups não salvam você de roubo digital (por exemplo, um PPA malicioso enviando cookies do navegador ou chaves ssh de volta para casa). Se você estiver realmente nervoso, deve ser seguro instalar e executar o PPA dentro de uma máquina virtual, contêiner ou schroot .
joeytwiddle
21

Não é apenas uma questão de malware, como já foi dito. Também é possível que alguns dos softwares ainda estejam na fase de teste e não estejam prontos para uso em produção. Se você instalá-lo e confiar nele para realizar o trabalho, poderá achar que é incorreto, não confiável e pode travar - deixando você sem o trabalho que realizou.

Algumas delas também podem não se dar bem com outros aspectos do Ubuntu, como o Unity ou o Gnome, causando problemas difíceis de rastrear e, talvez, tornando o sistema instável.

Isso não ocorre porque o software é ruim, mas porque talvez ainda não tenha sido totalmente testado ou porque foi disponibilizado para que as pessoas pudessem testá-lo, mas ainda não pretendiam ser geralmente lançados como software de produção. Portanto, você deve ter cuidado, embora algumas delas sejam realmente muito boas.

Há alguns meses, instalei um pacote recomendado de um PPA em particular e ele destruiu meu sistema o suficiente para ser necessário reinstalar o Ubuntu. Eu era um novo usuário e não sabia mais o que fazer; com um pouco mais de conhecimento, eu poderia resolver o problema e restaurá-lo sem fazer uma reinstalação (embora isso também tenha sido útil para aprender o Ubuntu, mas se eu tivesse trabalhado salvo na minha máquina, eu o teria perdido) .

Portanto, tenha cuidado, faça perguntas, faça backups frequentes (!!!) e saiba que o malware é improvável (embora não seja impossível).

Kelley
fonte
19

Todas as preocupações listadas por outras pessoas aqui são extremamente importantes para entender. Dito isto, como este é um código aberto, podemos dizer exatamente o que o PPA mudou em relação à versão do pacote no Ubuntu. Usaremos o PPA dessa duplicata como exemplo.

Primeiro, pegaremos a fonte do PPA, dgetuma ferramenta que fará o download de todas as partes de um pacote de fontes Debian, com um link para o dscarquivo:

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

Encontrei esse link clicando em "Visualizar detalhes do pacote":

Exibir detalhes do pacote

E depois:

encontrar arquivo dsc

A seguir, obteremos a fonte do pacote no arquivo Ubuntu:

apt-get source unity

Por fim, usaremos debdiffpara ver as diferenças entre a fonte dos dois pacotes:

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

A saída desse comando tem cerca de trezentas linhas, então eu o colocarei em uma pastabin em vez de diretamente na janela. Agora, não posso garantir a qualidade do código, pois realmente não conheço C ++, mas ele parece estar fazendo o que afirma e não é nada malicioso.

andrewsomething
fonte
1
+1, mas seu link pastebin está quebrado.
Ingettableid
Este é um excelente exemplo de como verificar o que foi feito com um pacote PPA. O link para o pastebin é totalmente irrelevante. +1
Ken Sharp
13

Um PPA é uma pasta da web que contém o software que você pode instalar. Realmente não é muito mais complicado que isso. Ao instalar um pacote, você faz isso com privilégios de root e o pacote possui scripts que são executados, portanto, eles são executados como root. Isso significa que a instalação de qualquer software é perigosa e você precisa confiar no desenvolvedor ou distribuidor.

Um arquivo apt, PPA ou outro, é pesquisado regularmente para atualizações do software que você instalou. O "problema" disso é que qualquer pessoa pode fornecer um pacote mais recente de software que você instalou. Por exemplo, você pode adicionar um PPA para obter um bom tema e atualizações automáticas desse tema. Mas depois de adicionar esse repositório, o proprietário pode adicionar um pacote openssh-server corrigido, por exemplo, e ele aparecerá como uma atualização no Ubuntu. Isso pode ser feito um ano após a adição do PPA, portanto, você deve prestar atenção às atualizações.

No entanto, o sistema PPA impede que terceiros adulterem os pacotes; portanto, se você confia no desenvolvedor / distribuidor, os PPAs são muito seguros. Por exemplo, se você instalar o Google Chrome, eles adicionam um PPA para receber atualizações automáticas. Eles adicionam "deb http://dl.google.com/linux/chrome/deb/ stable main". Se o servidor DNS usado for hackeado para apontar o dl.google.com para outro lugar, eles poderão enviar software corrigido para todos que instalaram o Chrome. Mas o Ubuntu se recusaria a instalá-los, pois eles não poderiam ser assinados com a chave privada do Google. Portanto, nesse sentido, os CAE são muito seguros.

Não é possível dizer que um PPA é seguro ou não. Depende das pessoas que o usam para distribuir software. Com o software livre, as pessoas podem olhar para a fonte e ver se é segura ou não. Quando muitas pessoas usam um arquivo, como os arquivos regulares do Ubuntu, você tem uma revisão por pares. Arquivos pequenos com poucos usuários não têm isso, portanto, são menos confiáveis. A principal lição é que, independentemente do sistema usado, você deve tomar cuidado ao instalar o software.

Jo-Erlend Schinstad
fonte
11

Com base na resposta de Luis Alvarado , você deve estar ciente desses riscos:

  • Pacotes maliciosos - os pacotes podem tentar prejudicá-lo. Isso é fácil para eles, porque eles podem executar qualquer código com privilégios administrativos.
  • Qualidade ruim ou software incompatível - um aplicativo pode não funcionar bem. Pode causar danos acidentais, por exemplo, interferindo em outro software, destruindo seus dados ou vazando informações particulares.

e você deve estar atento a esses fatores:

  • Honestidade do mantenedor - O mantenedor pode tentar secretamente prejudicá-lo?
  • Segurança do mantenedor - o mantenedor está vulnerável a ataques de terceiros?
  • Confiabilidade do mantenedor - O mantenedor responderá à necessidade de atualizações dentro de um prazo razoável? Eles estão comprometidos em manter o PPA a longo prazo?
  • Segurança do repositório - os pacotes são assinados pelo mantenedor?
  • Desempenho do software - o software está livre de erros e é compatível com o seu sistema?
ændrük
fonte
8

Os pacotes nos PPAs não são verificados quanto a malware. Portanto, embora alguém possa estar empacotando algo como o XBMC para você, também pode facilmente adicionar alguns spywares / malwares. É por isso que você não deve adicionar nenhum PPA aleatório.

tgm4883
fonte
u por favor pode dizer o que é exatamente XMBC, eu sou completamente um novo Ubu
Kernel_Panic
XBMC é um software de media center. É um software bom e seguro. Ele usou apenas como exemplo, poderia ser qualquer software.
Anónimo
o que um malware pode fazer no ubuntu, ele deve pedir permissão para tudo e qualquer coisa certa?
Kernel_panic
Depois de instalado (ou seja, com permissão de root para copiar seus arquivos nos diretórios do sistema e executar scripts personalizados), ele pode fazer o que quiser com o sistema. É por isso que é importante instalar pacotes de fontes confiáveis.
organize
Incorreta. Ao instalar um software, você é root quando faz isso. É bastante fácil obter essa permissão e começar a fazer coisas ruins.
Tbm4883
3

Quando você adiciona o ppa e instala um programa através dele.

Basicamente, você dá permissão para residir nesse programa na área executável permitida (/ bin / / sbin / / usr / bin /).

Agora, se o programa em si é / tem algum malware, o sistema não se queixa, pois você adicionou o ppa, considerando-o confiável.

Quando o programa vem dos repositórios do Ubuntu, eles são verificados pela primeira vez (eu gostaria de dizer bem, mas não sei: P), para que os repositórios do Ubuntu estejam livres de malware / spywares, com certeza.

Para qualquer outro ppa, cabe a você / usuário decidir se confia ou não.

wisemonkey
fonte
o que um malware pode fazer no ubuntu, ele deve pedir permissão para tudo e qualquer coisa certa?
Kernel_panic
6
Quando você instala o software, ele solicita permissão de root (a tela escurece e você digita sua senha). Nesse ponto, ele pode fazer qualquer coisa : exclua tudo da sua caixa, instale um keylogger, altere o plano de fundo da área de trabalho para hello kitty, qualquer coisa .
SCdF
1
@sanjayasanjuubuntu: durante a instalação, ele solicita permissão para residir na área executável, uma vez que esteja lá, ele pode acessar facilmente qualquer informação que não seja su. Existem programas que precisam de permissão su para executar; no entanto, se o próprio programa tiver bagagem extra (malware de leitura) adicionada durante a embalagem, ele poderá ser executado sem problemas ao digitar sua senha.
wisemonkey
Os PPAs de desenvolvimento são a rota mais segura e também precisam ver a duração do colaborador no Launchpad. Esses fatores garantem um sistema seguro e estável usando PPAs para os programas mais recentes. Eu encontrei essa rota para manter meu LTS funcionando por muito tempo com as novas versões específicas de programas que eu uso.
Arup Roy Chowdhury