O botão «Privilégios» da aplicação ZimaOS equivale, na prática, ao modo privilegiado do Docker. O suporte da IceWhale descreveu-o como concedendo ao contentor permissões semelhantes às do anfitrião, acesso direto ao hardware e capacidades ao nível de root. Ative-o apenas quando uma aplicação precisar realmente desse nível de acesso.
Para a maioria das aplicações, o modo privilegiado é desnecessário e enfraquece o isolamento que torna os contentores mais seguros. Prefira mapear um único dispositivo ou adicionar uma capacidade Linux, em vez de conceder tudo ao contentor.
O que muda com o modo privilegiado
A documentação atual da Docker sobre contentores privilegiados diz que --privileged concede ao contentor todas as capacidades Linux e acesso a todos os dispositivos do anfitrião, ao mesmo tempo que flexibiliza controlos de segurança importantes.
Porque é que a IceWhale descreveu isto como acesso ao nível do anfitrião
A resposta oficial da fonte diz que o processo do contentor pode aceder diretamente ao hardware do anfitrião e executar com privilégios semelhantes aos de root. É uma explicação breve útil, mas o impacto prático na segurança é mais abrangente: o contentor deixa de estar fortemente isolado.
Não ative privilégios só para corrigir um erro aleatório
Se uma aplicação não conseguir aceder a um dispositivo USB, a uma GPU, a uma função de rede ou a uma montagem, determine primeiro qual é a permissão em falta. O modo privilegiado pode ocultar o verdadeiro problema de configuração, ao mesmo tempo que expõe todo o anfitrião.
Prefira o mapeamento de dispositivos
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
Para um dispositivo de hardware, mapeie esse dispositivo em vez de todos os dispositivos do anfitrião.
Prefira capacidades Linux específicas
cap_add:
- NET_ADMIN
Um contentor de VPN/router pode precisar de uma capacidade de rede específica. Conceda apenas o conjunto mínimo necessário, em vez de usar o modo privilegiado, quando a documentação da aplicação o permitir.
Aplicações que podem legitimamente precisar de mais acesso
Os exemplos incluem ferramentas de hardware de baixo nível, Docker dentro do Docker, alguns dispositivos de VPN/rede, gestão de USB/dispositivos ou software especializado de monitorização do sistema. Mesmo nestes casos, leia primeiro as orientações de implementação do projeto original.
Aplicações que normalmente não precisam dele
As aplicações Web normais, bibliotecas multimédia, aplicações de notas, bases de dados, gestores de fotografias, painéis e a maioria dos serviços de API não devem precisar do modo totalmente privilegiado para funcionar.
Reveja os privilégios após uma atualização da aplicação
Um pacote antigo de uma aplicação pode ter ativado o modo privilegiado por conveniência, mesmo depois de a equipa responsável pela aplicação ter adicionado permissões mais restritas. Ao atualizar, volte a verificar os requisitos atuais do Compose.
O guia de segurança do Docker apresenta a abordagem mais segura para aplicações personalizadas.
Inspecione o contentor antes de conceder mais acesso
docker inspect CONTAINER
Verifique os mapeamentos de dispositivos, as capacidades, as montagens, o modo de rede e a configuração do utilizador existentes. Muitas aplicações falham porque lhes falta um dispositivo ou caminho necessário, não porque precisem de acesso irrestrito ao sistema anfitrião.
O modo privilegiado pode aumentar o alcance dos danos
Se uma aplicação Web normal, sem privilégios, for comprometida, o isolamento do contentor pode limitar aquilo a que um atacante consegue aceder. Um contentor privilegiado pode aceder a muito mais dispositivos do sistema anfitrião e interfaces do kernel, pelo que uma vulnerabilidade nessa aplicação pode ter consequências em todo o sistema.
Registe o motivo da ativação dos privilégios
Quando o ativar intencionalmente, registe a funcionalidade exata que o exige. Numa atualização posterior da aplicação, volte a testar se esta consegue funcionar com permissões mais restritas e desative a opção se já não for necessária.
Perguntas frequentes
«Privilegios» significa que o contentor é executado como root?
Vai além de simplesmente executar como root dentro do contentor; o modo privilegiado concede amplas capacidades no sistema anfitrião e acesso a dispositivos.
Devo ativá-lo para todas as aplicações personalizadas?
Não. Mantenha-o desativado, a menos que a documentação oficial indique que a carga de trabalho precisa dele.
Posso dar acesso apenas à GPU ou ao USB?
Sim. Prefira mapeamentos específicos de dispositivos e definições de execução ao modo totalmente privilegiado.
O modo privilegiado é perigoso?
Reduz significativamente o isolamento do contentor, pelo que uma aplicação comprometida com privilégios pode ter um impacto muito maior no sistema anfitrião.



