O que são aplicações sandbox e quais os seus impactos?

Confira o post completo no blog: https://diolinux.com.br/editorial/aplicacoes-sandbox-impactos.html

Aplicativos sandbox têm se tornado cada vez mais comuns entre as distribuições de Desktop, você sabe os impactos que essa mudança pode trazer?

4 Curtidas

Particularmente eu acabei montando eu fluxo de trabalho ao redor de flatpaks e os pacotes do sistema. No momento, apenas um programa que eu uso é no formato appimage.

Talvez se eu usasse Ubuntu, acabasse abrançando o Snap - mas não é o caso no momento.

:vulcan_salute:

No meu caso uso o fedora silverblue já mil e uma vezes comentado neste fórum

Full flatpaks
É eu nem estou usando o flathub beta
A cada dias novas aplicações chegam no flathub e muitas delas são atualizadas automaticamente
Isso é fantástico
Agora irei usar o fedora silverblue para fazer um rebase para o rawhide
Hora de experimentar o flatpak 1.10

1 Curtida

A maior parte do que eu uso é pacote RPM convencional. Acho a ideia de sandboxing interessante, mas ainda não vai rolar aqui. A vantagem, pelo menos, é que ficou mais fácil em comparação com o passado (tirando alguns formatos mais novos de empacotamento, eu acho que só sobra o Qubes OS como solução relativamente fácil).

Outras observações sobre o artigo:

  • Em determinado ponto, há um comentário sobre ter deixado de lado a arquitetura PowerPC. É verdade para 32 bits, mas o suporte para os processadores atuais de 64 bits está firme e usa a sigla “ppc64le”
  • Eu acho rolou um errinho de digitação em “estamos as portas dos processadores ARM”
  • Achei legal a menção ao Nitrux, que propõe algumas inovações, e é pouco discutido aqui no Brasil (até porque ele exige uma máquina um pouco mais nova, o que já exclui uma galera de poder usar)

Faltou uma “crase” você tem razão. Obrigado pelo toque.

:vulcan_salute:

3 Curtidas

Gosto do .deb e flatpak, minhas experiencias no snap não foram muito boas utilizei 3 programas nesse formato, Vlc, Chromium spotify.
Vlc o abria e não fechava mais ficava rodando em segundo plano e se precisasse abrir o player novamente ele simplesmente não abria, tinha que matar o processo para abrir novamente.
Chromium lento para abrir;
Spotify foi a experiencia mais frustante, demorava mais de um minuto para abrir ainda ficava congelado por uns 10 segundos.

Esses problemas não aconteceram quanto removi as versões snaps deles e passei a utilizar flatpak

Para mim o impacto foi grande, uso full flatpak e acabei migrando para o Silverblue…porem mais que isso, faz questionar a forma que as distros funcionam hoje em dia…falo mais sobre aqui: Silverblue e o Desktop Linux – Fast OS

1 Curtida

Quanto aos temas do flatpak, vários em gtk3 estão disponível diretamente no flathub. Caso algum tema não esteja disponível, pode ser solicitado ao criador do tema para disponibilizá-lo ou, com sua autorização, você mesmo disponibilizar no flathub (https://discourse.flathub.org/ na opção Requests).

Para procurar, por exemplo um tema em gtk3 pode ser procurado no terminal flatpak search gtk3theme e instalado com, por exemplo: flatpak install org.gtk.Gtk3theme.Flat-Remix-GTK-Blue .

Segue um vídeo sobre:

Caso não esteja disponível e ainda queira utilizar, pode-se conceder acesso ao local do tema aplicado a todos os aplicativos flatpak, usando por exemplo: sudo flatpak override --filesystem=${HOME}/.themes

2 Curtidas

Os aplicativos em formato sandbox são aplicativos comuns, com a diferença de que eles não necessitam de bibliotecas e libs do sistema, pois na hora de seu empacotamento, são colocadas todas as dependências necessárias.

Na verdade… sandbox é o meio por onde rodam, a ideia da sandbox (que é desnecessária pra rodar flatpaks) é isolar o processo do resto do sistema, fornecendo ao app apenas o necessário pra rodar, podendo por exemplo esconder os arquivos do usuário, e proteger contra ataques de escalação de privilégios você pode usar bibliotecas do sistema eu uma sandbox

Essa forma de trabalhar aumenta a segurança do sistema e do aplicativo, pois já que ambos estão “separados”, é impossível que qualquer um dos dois seja quebrado, além de permitir que versões mais antigas de um sistema rodem em aplicações recentes em sua última versão.

Isso na verdade se deve a forma como são distribuídos e não por serem em sandboz

já que teremos sempre a versão mais atual dos programas (o que é extremamente importante quando tratamos de navegadores de internet).

È um erro bem comum achar que atualizado = mais seguro, não é bem assim, não só ter uma nova release não significa mais segurança como em potencial pode ser o exato oposto, uma nova release pode introduzir falhas 0 day e bugs desconhecidos mesmo se for testado exaustivamente, o que é bem perigoso, é uma faca de dois gumes

E por fim:

Um impacto “negativo”, tem a ver com a customização, já que aplicativos sandbox não possuem interação com os arquivos do sistema operacional, impossibilitando que eles acessem os temas instalados pelos usuários.

Na verdade, sandbox não impedem isso, pelo menos em um ambiente estável, o problema é que toolkits como GTK não tem uma “API” de temas estável, frequentemente quebram as coisas, logo em sistemas mais antigo se eles carregarem o tema do sistema o app sai quebrado


Test case: Sandbox em apps do sistema usando o sandbox do flatpak:

#!/usr/bin/bash

export HOME=$(mktemp -d)

bwrap --ro-bind / / 
           --dev /dev 
           --bind  $HOME $HOME/.config/leafpa
           ${@}

Testando:

# Listando o diretório da HOME:
ls "${HOME}"
# Criando um arquivo:
touch "${HOME}/teste"
# iniciando o bash na sandbox:
./teste-sandbox /bin/bash
# Listando arquivos na sandbox:
ls "${HOME}"
# Criando um arquivo na sandbox
touch i-love-skillet
ls "${HOME}" | grep skillet
# Saindo do bash sandbox:
exit
# Buscando o arquivo criado na sandbox:
ls "${HOME}" | grep skillet

1 Curtida