Visualização de Dados em R.
31 de janeiro de 20205 principais etapas de teste que todo engenheiro de software deve executar
14 de fevereiro de 2020Existem muitos desafios ao criar um aplicativo, mas um dos mais cruciais é garantir que ele seja seguro. Seja armazenando senhas com hash, limpando as entradas do usuário ou atualizando constantemente as dependências dos pacotes para as mais recentes e melhores. Embora a conteinerização tenha facilitado o envio de softwares melhores e com mais rapidez, ainda há muitas considerações a serem tomadas para proteger sua infraestrutura.
Mais especificamente, existem várias formas que podem ser usadas para garantir a otimização da segurança dos contêineres, são elas:
-
Use apenas imagens de fontes confiáveis: Felizmente, existem diversas fontes confiáveis para buscar suas imagens, o docker hub, por exemplo, verifica automaticamente os contêineres, e até fornece uma certificação que garante que o contêiner seja legítimo.Além disso, é uma boa apostar que imagens oficiais populares sejam relativamente seguras. Essas imagens incluem alpine, ubuntu, python, redis e busybox. Cada uma tem mais de 10 milhões de downloads.
-
Use o Docker Bench para segurança: O Docker Bench for Security é um serviço oficial da equipe do Docker. É um pequeno programa bash que garante que o contêiner do Docker seja implantado usando as práticas recomendadas. Ao fazer isso, os funcionários da infraestrutura de TI podem incorporar facilmente seu fluxo de trabalho de integração contínua (CI) existente, trazendo-o para o arquivo docker-compose.yml ou clonando o repositório e executando o script de shell fornecido.
-
Limite acesso direto aos nós do Kubernetes: O Kubernetes é uma plataforma popular para orquestrar contêineres do Docker. Assim como em qualquer parte da sua rede, o acesso ao servidor que executa o Kubernetes deve ser limitado a um subconjunto muito pequeno de administradores técnicos. Como tal, os organizadores devem estabelecer políticas de gerenciamento de identidade e acesso que garantam isso.
-
Isole os nós no Kubernetes: Como vários nós podem ser executados em um único cluster, e o Kubernetes pode gerenciar vários clusters diferentes, é essencial limitar o escopo de permissões entre os clusters. Dessa forma, se um contêiner ou cluster estiver comprometido, outros não serão afetados.
-
Proteja a rede: Mesmo depois de verificar como o contêiner do Docker é executado e bloquear o acesso ao Kubernetes, é importante criar algum tipo de segmentação na rede geral. O objetivo é limitar qualquer comunicação entre o cluster para continuar reduzindo o efeito de qualquer vulnerabilidade potencialmente explorada. O Kubernetes fornece documentação sobre a definição de regras automáticas de firewall entre os IPs dinâmicos dos contêineres. Além disso, a configuração do Ingress também permite definir quais serviços podem ser acessados explicitamente por meio de uma API HTTP.
Essas dicas são de extrema importância para melhorar a segurança de seus contêineres e automaticamente de suas aplicações, porém existem muitos outros recursos adicionais com ainda mais práticas recomendadas. A conclusão é de que, embora os aplicativos nos contêineres sejam isolados, eles não são 100% seguros. O Docker permite que os desenvolvedores façam alterações rapidamente, mas essa flexibilidade também requer cuidados a respeito de sua segurança adicional.
Fonte: https://containerjournal.com/topics/container-security/securing-docker-containers-a-primer/