‫O primeiro é basicamente fazer algumas leituras.
‫Como esta parte de cima é sobre dar a si mesmo a educação
‫básica do que ... como
‫o Docker funciona? O que é segurança básica no Docker?
‫Como o Docker, você sabe, protege
‫seu contêiner? Esse tipo de coisa.
‫Eu tenho basicamente uma palestra de produção que você pode
‫assistir aqui. Não vamos assistir isso agora.
‫Eu tenho um link aqui para o guia de segurança do Docker.
‫Agora, o que é interessante sobre o guia de segurança do Docker
‫aqui é que realmente
‫é exatamente como funciona a segurança do Docker?
‫Ou como o próprio Docker funciona?
‫Existem vídeos muito melhores no meu curso.
‫Coloquei links para outros vídeos de referência que duram uma hora
‫inteira sobre os fundamentos do Docker.
‫As duas principais coisas com as quais você precisa se preocupar são os namespaces
‫do kernel e o Cgroups.
‫Namespaces, eles passam por uma boa
‫visão geral de como essas coisas funcionam.
‫O resumo aqui é que existem dois
‫recursos principais no Linux que permitem que o Docker
‫seja possível. Os namespaces do kernel
‫são uma maneira de o kernel pegar um
‫aplicativo ou um conjunto de aplicativos e nomeá-los.
‫O espaço para nome está basicamente limitando
‫sua visão, seu acesso a quaisquer recursos
‫ou o que eles veem, seja rede, outros
‫programas na memória ou arquivos em disco, que limita esse
‫escopo por programa.
‫Portanto, pode ser para cada programa individual, e agora
‫os conhecemos como contêineres. Porque os namespaces não
‫são específicos para o Docker. Demorou muito mais tempo do que
‫o Docker esteve. Ele já existe como
‫um conceito em diferentes distribuições Unix há mais de uma década.
‫Podemos ter ouvido isso no Solaris Jails ou em outros tipos
‫de tecnologias que basicamente fizeram você
‫pensar que estava em seu
‫próprio servidor, mas, na verdade, você estava contido
‫em um servidor com muitas outras pessoas e muitos
‫outros aplicativos, certo. Fizemos isso muito no Linux e
‫nas plataformas de hospedagem.
‫Namespaces é esse recurso. Dá ao seu
‫contêiner sua própria NIC. É uma NIC virtual apenas para esse contêiner.
‫Ele fornece seu próprio espaço no
‫arquivo, onde não vê o restante do sistema
‫de arquivos a seguir e não permite que outros programas
‫sejam executados fora desse contêiner. Então, é sobre o seu acesso e visão, certo.
‫Isso é namespaces.
‫Isso simplesmente funciona imediatamente.
‫É assim que o Docker executa um contêiner sem ver tudo
‫o mais no sistema.
‫A outra coisa importante são os grupos de
‫controle, ou os chamamos de Cgroups. Grupos de controle
‫são principalmente sobre a limitação do uso de recursos.
‫Você pode dizer a um contêiner que ele só tem acesso a 1
‫GB de RAM, uma CPU, esse tipo de coisa.
‫Ele também permite algumas métricas nas quais você pode medir as
‫coisas em torno dessas coisas, mas na verdade
‫trata-se principalmente de limitar seu contêiner. Lembre-se de que seus contêineres,
‫por padrão, podem ter acesso a todos os recursos em termos de consumo
‫de todo o espaço no arquivo, de todas
‫as CPUs e de toda a memória.
‫Esse é apenas um contêiner padrão, mas você pode
‫definir opções na janela de encaixe, no Swarm
‫ou no Kubernetes. Qualquer uma dessas coisas tem a capacidade
‫de você controlar recursos.
‫Mas, simplesmente não é por padrão, certo. Por padrão, qualquer contêiner
‫recebe tudo.
‫Quando você está entrando em produção, isso definitivamente está na
‫sua lista de tarefas. Eu não diria que
‫os grupos de controle são necessariamente um recurso de segurança, exceto por
‫um aplicativo em particular que ocupa tudo o que não
‫deveria, e então faz com que outras coisas
‫não sejam capazes de executar, certo.
‫Isso não é... Não vejo isso como segurança direta.
‫Considero isso um tipo de semi-relacionado à segurança,
‫em que alguém tecnicamente pode negar o serviço,
‫deixando o aplicativo consumir todos os
‫recursos do servidor. Então, você sabe, esse tipo de coisa.
‫Esses são os princípios.
‫Depois de entender o básico, há alguns
‫bons artigos de blog aqui sobre diferentes tipos de ferramentas
‫de segurança por aí. Há toneladas de ferramentas,
‫certo. Não vou mencionar todos eles hoje.
‫Obviamente, há muitas coisas por aí, mas
‫muitas são complicadas e levam projetos.
‫Você precisa implementá-los ou comprá-los e dedicar servidores para
‫eles, certo.
‫Grandes produtos envolvem auditoria, ou certificam-se de passar certas
‫credenciais, como segurança de cartão de crédito
‫PCI ou segurança de regulamentação governamental,
‫esse tipo de coisa.