Pesquisa de site

rbash - Um shell Bash restrito explicado com exemplos práticos


Linux Shell é uma das ferramentas GNU/Linux mais fascinantes e poderosas. Todo o aplicativo, incluindo o X, é construído sobre shell e o shell do Linux é tão poderoso que todo o sistema Linux pode ser controlado com precisão, usando-o. O outro aspecto do shell do Linux é que ele pode ser potencialmente prejudicial quando você executa um comando do sistema, sem saber sua consequência ou sem saber.

Sendo um usuário ignorante. Para este propósito estamos introduzindo shell restrito. Discutiremos o shell restrito em detalhes, as restrições implementadas e muito mais.

O que é rbash?

O Restricted Shell é um Linux Shell que restringe alguns dos recursos do bash shell e é muito claro pelo nome. A restrição é bem implementada para o comando, bem como para o script executado em shell restrito. Ele fornece uma camada adicional de segurança para bash shell no Linux.

Restrições implementadas no rbash

  1. Comando cd (alterar diretório)
  2. PATH (armar/desarmar)
  3. ENV também conhecido como BASH_ENV (configuração/desativação de ambiente)
  4. Função de importação
  5. Especificando o nome do arquivo contendo o argumento ‘/’
  6. Especificando o nome do arquivo contendo o argumento ‘-’
  7. Redirecionando a saída usando '>', '>>', '>|', '<>', '>&', '&>'
  8. desativando a restrição usando ‘set +r‘ ou ‘set +o

Nota: As restrições do rbash são aplicadas após a leitura de qualquer arquivo de inicialização.

Habilitando Shell Restrito

Em algumas versões do GNU/Linux, como Red Hat/CentOS, o rbash pode não ser implementado diretamente e precisa que links simbólicos sejam criados.

cd /bin

ln -s bash rbash

Na maioria das distribuições padrão GNU/Linux atuais, o rbash está disponível por padrão. Caso contrário, você pode baixar o tarball de origem e instalá-lo a partir do código-fonte em seu sistema.

Iniciando o rbash

Para iniciar o shell restrito rbash no Linux, execute o seguinte comando.

bash -r

OR

rbash

Nota: Se o rbash for iniciado com sucesso, ele retornará 0.

Testando algumas restrições

Aqui, executamos alguns comandos no shell rbash para verificar as restrições.

cd

rbash: cd: restricted
pwd > a.txt

bash: a.txt: restricted: cannot redirect output
Prós do Shell Restrito
  1. O shell restrito é usado em conjunto com uma prisão chroot, em mais uma tentativa de limitar o acesso ao sistema como um todo.
Contras do Shell Restrito
  1. Insuficiente para permitir a execução de software totalmente não confiável.
  2. Quando um comando considerado um script de shell é executado, o rbash desativa quaisquer restrições no shell geradas para executar o script.
  3. Quando os usuários executam o bash ou dash a partir do rbash, eles obtêm shells irrestritos.
  4. O rbash só deve ser usado dentro de um chroot, a menos que você saiba o que está fazendo.
  5. Há muitas maneiras de quebrar um shell bash restrito que não são fáceis de prever com antecedência.

Conclusão

rbash é uma ferramenta fantástica para trabalhar, em um ambiente restrito e funciona de maneira brilhante. Você deve tentar e não ficará desapontado.

É tudo por agora. Em breve estarei aqui novamente com outro tópico interessante e bem informado que vocês adorariam ler. Não se esqueça de nos fornecer seus valiosos comentários em nossa seção de comentários.