Novas tecnologias, como virtualização, Docker e Micro-serviços, introduzem novos métodos de entrega de software e aceleram a implantação de aplicativos, mas também trazem novas ameaças e riscos à segurança. Porém para todos existem práticas que aumentam a segurança contra invasões e hackers. São essas práticas que iremos abordar no artigo de hoje!

Virtualização

Virtualização, Docker e Micro-serviços

hnz-consultoria-e-treinamentos-blog-computacao-em-nuvem-que e-e-quais-sao-suas-vantagens-e-desvantagens-caracterizacao-da-nuvem

Como falamos anteriormente no artigo “Virtualização de ambientes em DevOps”, é muito comum instalar serviços de aplicativos em cima de um sistema operacional virtualizado. A tecnologia de virtualização ajuda a aproveitar ao máximo os recursos físicos da máquina, como: CPU, memória e discos. No entanto, a virtualização é uma tecnologia de sistema operacional compartilhado. Ele também apresenta riscos de segurança, como VM escape, vazamento de informações e negação de serviço para aplicativos em execução na virtualização.

As práticas de segurança na virtualização de SO convidado normalmente estão envolvidas no fortalecimento do SO e da virtualização.

Essas são algumas configurações importantes de segurança relacionadas à virtualização.

– Limitar mensagens informativas da VM para o arquivo VMX

– Limitar o compartilhamento de conexões do console

– Desconecte dispositivos não autorizados (USB, DVD, dispositivos seriais etc.)

– Desativar especificação de inicialização do BIOS (BBS)

– Desativar manipulador de protocolo de interação guest-host

– Desativar servidor do sistema de arquivos guest do host

– Desativar operações de colagem do console da VM

– Desativar encolhimento do disco virtual

– Não envie informações de host para convidados

O diagrama a seguir mostra a adoção da virtualização. A virtualização adiciona uma camada de hipervisor sobre o servidor físico para que o virtualizado. O SO guest pode ser executado em cima dele:

INFOGRÁFICO 3

Além da configuração segura da virtualização, a aplicação de um patch de segurança na virtualização também é uma obrigação para as equipes de operação ou de TI.

Além disso, os seguintes recursos podem ajudá-lo a procurar Vulnerabilidades e Exposições Comuns (CVE) em bancos de dados de vulnerabilidades:

  • Exploit Database https://www.exploit-db.com/
  • SecLists http://seclists.org/fulldisclosure/
  • Banco de dados de notas de vulnerabilidade https://www.kb.cert.org/vuls/

Docker

A ferramenta Docker, fornece novas opções de entrega e instalação de pacotes de software e pode ser uma das melhores maneiras de isolar aplicativos diferentes sem usar uma máquina virtual de SO separada. O software pode ser empacotado em um contêiner pelo Docker. Um contêiner, como uma imagem de VM, inclui tudo o necessário para executar serviços de aplicativos, como tempo de execução, bibliotecas do sistema e configurações.

A principal diferença entre uma imagem de máquina virtual e um contêiner é que o contêiner não inclui realmente o sistema operacional inteiro. O contêiner inclui apenas as principais bibliotecas necessárias do sistema e cada contêiner compartilha o mesmo kernel do SO durante o tempo de execução.

Os contêineres do Docker podem inicializar em segundos e usar muito menos memória ou muito menos discos do que as imagens de virtualização. O uso do Docker também pode ajudar muito as equipes de operação a implantar e proteger a configuração, já que um contêiner do Docker inclui todas as configurações e as configurações que você precisa executar.

As principais práticas e configurações seguras do Docker são as seguintes:

  • Partição separada para contêineres
  • Kernel Linux atualizado
  • Permitir apenas que usuários confiáveis controlem o daemon do Docker
  • Auditar o daemon, arquivos e diretórios do Docker
  • Restringir o tráfego de rede entre contêineres
  • Autenticação TLS para o daemon Docker
  • Não ligue o Docker a outro IP / porta ou socket Unix
  • Permissões dos arquivos de configuração do daemon do Docker
  • Tempo de execução do contêiner (recursos do Kernel do Linux, SSH, portas, memória, CPU, IPC)

O diagrama a seguir mostra a principal diferença entre virtualização e Docker. A virtualização é um nível de SO guest, enquanto o Docker é realmente um isolamento no nível do aplicativo e consegue compartilhar o mesmo SO convidado:

INFOGRÁFICO 2

Infrastructure as code (IAC)

Virtualização, Docker e Micro-serviços

hnz-consultoria-e-treinamentos-blog-scrum-6-duvidas-frequentes-sobre-scrum-imagem-interna

Puppet, Chef, Ansible e SaltStack são ferramentas para aplicar o IaC. A principal vantagem do uso dessas ferramentas é que qualquer configuração do sistema pode ser definida em um arquivo de texto no estágio de design e as alterações podem ser gerenciadas por versões. Isso ajudará as equipes de operação ou desenvolvimento a criar linhas de base de configuração de segurança, como permissões de arquivo, regras de firewall, configurações web ouconexões MySQL.

Depois que a linha de base da configuração de segurança é definida, a equipe de operação pode monitorar quaisquer alterações não autorizadas ou reverter a configuração para versões específicas anteriores.

Por exemplo, podemos ter regras de firewall de segurança de linha de base para um ambiente de serviços da Web para permitir apenas as portas 80 e 443. Tudo o que uma equipe de operação precisa fazer é definir as regras de firewall usando uma das ferramentas (Puppet, Chef, Ansible, SaltStack ) e a estrutura aplicará as regras, a auditoria e até as alterações corretas se outras portas forem abertas por engano ou por outras implantações de serviço.

INFOGRÁFICO 1

Fique por dentro

Uma pesquisa da CSA sobre as principais preocupações de segurança na nuvem identificou os 12 problemas a seguir:

  • Violações de dados
  • Identidade fraca, credenciais e gerenciamento de acesso
  • APIs inseguras
  • Vulnerabilidades de sistema e aplicativo
  • Seqüestro de conta
  • Especialistas maliciosos
  • Ameaças persistentes avançadas (APTs)
  • Perda de dados
  • Due diligence (devida Diligência) insuficiente
  • Abuso e uso nefasto de serviços na nuvem
  • Negação de serviço
  • Problemas de tecnologia compartilhada

Quer entender mais sobre o assunto e se tornar um especialista em DevSecOps? Conheça agora o nosso curso DevSecOps Advanced!

HNZ

HNZ

Leave a Reply