Segurança de acesso remoto do Docker

4

Supondo que estou executando vários contêineres docker em um servidor local. Quando dou acesso ssh a terceiros ao meu servidor, qualquer terceiro terá controle sobre o gerenciador do docker. Como posso ter certeza de que cada usuário remoto tenha acesso apenas a alguns contêineres específicos?

    
por learningtech 08.01.2015 / 18:08

2 respostas

1

O EEAA está correto, não há uma maneira integrada de fazer isso. A melhor maneira de fazer isso agora é da mesma forma que você faria para qualquer outro sistema. Por exemplo, você poderia executar um daemon SSH em seu contêiner docker, usando algo como o supervisord para iniciar vários aplicativos. Um contêiner docker destina-se a executar um aplicativo, ferramentas como o supervisord contornam isso iniciando vários processos para você e mantendo-os iniciados.

Nesse momento, você só precisa garantir que a chave pública esteja em todos os contêineres dos quais eles devem ter acesso. Lembre-se, porém, você desejará ter o SELinux ativado e, de preferência, a diretiva USER configurada na janela de encaixe para iniciar o contêiner como um usuário limitado.

    
por 08.01.2015 / 19:41
4

O Docker não tem essa funcionalidade incorporada. Você precisará escrever um script de wrapper personalizado para executar seu controle de acesso.

Além disso, você provavelmente desejará pensar seriamente se o isolamento fraco do docker é adequado para seus propósitos a partir de uma perspectiva de segurança. Desde o início, o Docker não enfatizou a segurança , mas sim a portabilidade do aplicativo e a facilidade de implantação. Eles estão trabalhando no aspecto da segurança, mas ainda há muito a ser feito antes que eu me sinta à vontade para conceder acesso qualquer para um contêiner que esteja sendo executado em um dos meus hosts.

    
por 08.01.2015 / 18:14