Lista branca de determinados binários e scripts dentro de uma montagem noexec / nosuid?

3

Assim como a pergunta. É possível listar em branco determinados executáveis de um FS montado noexec?

por exemplo, o meu é assim:

/dev/vg/lv on /tmp type ext4 (rw,noexec,nosuid)
    
por user53029 29.04.2016 / 23:53

1 resposta

3

Não. As opções de montagem superam todas. É para isso que eles servem: para garantir que nada seja executado diretamente desse sistema de arquivos.

Para combater noexec , você pode executar a maioria dos programas indiretamente chamando o inicializador:

  • Se o programa é um script (começando com um shebang ), invoque o intérprete e passe o script como seu primeiro argumento.
  • Se o programa for um executável vinculado dinamicamente, invoque o carregador dinâmico (por exemplo, /lib/ld-linux.so.2 ou /lib64/ld-linux-x86-64.so.2 ) e passe-o ao binário como seu primeiro argumento.

Se você tem um sistema de arquivos montado com noexec , você pode visualizar um diretório onde todos os arquivos são executáveis com bindfs . No entanto, o Bindfs não permite definir permissões por arquivo.

É claro que você pode fazer uma cópia do arquivo em outro lugar e torná-lo executável.

Se o sistema de arquivos estiver montado nosuid , não há como fazer os arquivos setuid. Isso quebraria a segurança. Para criar um arquivo setuid, você precisa ter acesso à conta de usuário proprietária. Fazer uma cópia e fazer esse setuid, ou remontar sem a opção nosuid , são as únicas soluções.

    
por 30.04.2016 / 01:53