Como substituir o setuid pelos recursos do sistema de arquivos

5

Inspirado por esta pergunta aqui é o seguinte:

Como alguns de vocês podem saber, os binários setuid são perigosos, já que alguns exploits os utilizam para escalar seus direitos até root.

Agora parece que tem havido uma ideia interessante para substituir o setuid por meios diferentes e mais seguros.

Como?

    
por Nils 09.11.2012 / 16:49

1 resposta

6

Os recursos do sistema de arquivos no Linux foram adicionados para permitir um controle mais refinado do que o setuid sozinho permitirá. Com setuid, é um escalonamento total de privilégios efetivos para o usuário (tipicamente root). A capacidade (7) manpage fornece a seguinte descrição:

For the purpose of performing permission checks, traditional Unix implementations distinguish two categories of pro‐ cesses: privileged processes (whose effective user ID is 0, referred to as superuser or root), and unprivileged pro‐ cesses (whose effective UID is nonzero). Privileged processes bypass all kernel permission checks, while unprivi‐ leged processes are subject to full permission checking based on the process's credentials (usually: effective UID, effective GID, and supplementary group list).

Starting with kernel 2.2, Linux divides the privileges traditionally associated with superuser into distinct units, known as capabilities, which can be independently enabled and disabled. Capabilities are a per-thread attribute.

Se um aplicativo precisar da capacidade de chamar chroot (), que normalmente é permitido apenas para root, CAP_SYS_CHROOT pode ser definido no binário em vez de setuid. Isso pode ser feito usando o comando setcap:

setcap CAP_SYS_CHROOT /bin/mybin

A partir do RPM versão 4.7.0 , os recursos podem ser definidos em arquivos compactados usando %caps .

O Fedora 15 tinha uma meta de lançamento de remover todos os binários setuid rastreados neste bug report . De acordo com o relatório de erros, esse objetivo foi cumprido.

O artigo da Wikipédia sobre segurança baseada em recursos é uma boa leitura para qualquer pessoa interessada.

    
por 09.11.2012 / 17:07