Riscos de segurança do PermitUserEnvironment no ssh

10

Eu li alguns posts sobre o uso de PermitUserEnvironment e o arquivo ~/.ssh/environment para passar as variáveis env para um shell ssh. Os docs do sshd oficiais e alguns outros recursos aludem a alguns riscos de segurança ao fazer isso.

Enabling environment processing may enable users to bypass access restrictions in some configurations using mechanisms such as LD_PRELOAD.

Quais são os possíveis problemas de segurança da ativação de PermitUserEnvironment ? Eu estava olhando para manter detalhes de conexão de banco de dados nessas variáveis de ambiente, isso é aconselhável?

    
por Rob Squires 31.07.2013 / 16:55

1 resposta

12

Primeiro de tudo, se você não está tentando fazer nada extravagante com as restrições de acesso do usuário - ou seja, se você está oferecendo acesso ao shell interativo - provavelmente há zero adicionais riscos de segurança ao permitir o uso do arquivo .ssh/environment , uma vez que qualquer coisa que o usuário pudesse realizar com esse arquivo, ele também poderia fazer interativamente em seu shell.

Enabling environment processing may enable users to bypass access restrictions in some configurations using mechanisms such as LD_PRELOAD.

Se você estiver usando comandos forçados do SSH para limitar o que as pessoas podem fazer via ssh (por exemplo, se você estiver restringindo as pessoas a usar apenas sftp ou scp ), permita que alguém defina variáveis de ambiente como LD_PRELOAD (ou possivelmente PATH ) permitiria que eles sequestrassem suas restrições, substituindo as chamadas básicas da biblioteca pelo seu próprio código. Por outro lado, se você estiver criando o .ssh/environment em nome de seus usuários e eles não conseguirem gerenciá-los, seus riscos serão relativamente pequenos.

Sem saber mais sobre seu caso de uso específico, é difícil fornecer uma resposta definitiva.

    
por 31.07.2013 / 17:09