O que é segurança de rede em nuvem?
A segurança da rede em nuvem é um aspecto crítico da proteção de aplicativos em contêiner e seus dados no cenário da computação moderna. Isso envolve a segurança da comunicação e das configurações da rede para esses aplicativos, independentemente da plataforma de orquestração em uso. A segurança de rede em nuvem aborda a segmentação de rede, namespaces, redes sobrepostas, filtragem de tráfego e criptografia para contêineres. Com a implementação de tecnologias e práticas recomendadas de segurança de rede em nuvem, as organizações podem evitar efetivamente ataques baseados em rede, como cryptojacking, ransomware e BotNetC2, que podem afetar tanto as redes voltadas para o público quanto as redes internas usadas pelos contêineres para trocar dados.
Explicação sobre a segurança de rede em nuvem
Todas as cargas de trabalho são executadas na mesma pilha de rede e protocolos, independentemente de serem executadas em servidores bare-metal, máquinas virtuais ou em contêineres. Em outras palavras, as cargas de trabalho em contêineres estão sujeitas a muitos dos mesmos ataques baseados em rede que os aplicativos legados - cryptojacking, ransomware, BotNetC2 e outros.
As ameaças à segurança baseadas em rede, no entanto, podem afetar os contêineres de duas maneiras: por meio de redes públicas que conectam aplicativos à Internet e por meio de redes internas que os contêineres do Kubernetes usam para trocar dados entre si.
A segurança de rede em nuvem se concentra em proteger a comunicação e as configurações de rede para aplicativos em contêineres em geral, independentemente da plataforma de orquestração. Ele aborda aspectos como segmentação de rede, namespaces, redes sobrepostas, filtragem de tráfego e criptografia para contêineres.
A segurança de rede do Kubernetes visa à segurança de rede em um cluster do Kubernetes e abrange recursos específicos do Kubernetes, como políticas de rede, controles de entrada e saída, isolamento de namespace, controle de acesso baseado em função (RBAC) e implementação de malha de serviço.
A detecção de sinais de atividade mal-intencionada em ambos os tipos de redes requer tanto a segurança do contêiner quanto a segurança de rede do Kubernetes. Como são domínios distintos, merecem discussões separadas para abranger seus aspectos exclusivos. Nesta seção, vamos nos aprofundar nos vários aspectos da segurança da rede em nuvem no que se refere a contêineres e discutir as práticas recomendadas para proteger o seu ambiente.
Segurança de rede em nuvem
Uma vez implantados, os contêineres precisam ser protegidos contra tentativas de roubo de dados proprietários e recursos de computação. A segurança de rede em nuvem restringe proativamente a comunicação indesejada e impede que as ameaças ataquem seus aplicativos depois de implantados.
Firewalls de próxima geração em contêineres, segurança de API e aplicativos da Web (WAAS)e ferramentas de microssegmentação inspecionam e protegem todo o tráfego que entra e sai dos contêineres (norte-sul e leste-oeste), concedendo total visibilidade da camada 7e controle sobre o ambiente Kubernetes. Além disso, os fogowalls em contêineres são dimensionados dinamicamente com o tamanho e as demandas em rápida mudança da infraestrutura de contêineres para fornecer segurança e largura de banda para as operações comerciais.

Segmentação de rede
A segmentação da rede é a prática de dividir uma rede em segmentos menores e isolados para limitar o acesso não autorizado, conter possíveis ameaças e melhorar o desempenho geral da rede. Em ambientes em contêineres, as equipes de segurança podem obter a segmentação da rede por meio de uma variedade de métodos.
Namespaces de rede
Os namespaces de rede fornecem isolamento entre os contêineres, criando uma pilha de rede separada para cada um, incluindo suas próprias interfaces de rede, tabelas de roteamento e regras de firewall. Ao aproveitar os namespaces de rede, o senhor pode evitar que os contêineres interfiram nas configurações de rede uns dos outros e limitar sua visibilidade apenas aos recursos de rede necessários.
Redes de sobreposição
As redes de sobreposição criam uma camada de rede virtual sobre a rede física existente, o que permite que os contêineres se comuniquem entre diferentes hosts como se estivessem na mesma rede. As soluções populares de rede de sobreposição para contêineres incluem o driver de sobreposição integrado do Docker, o Flannel e o Weave.
Partições de rede e grupos de segurança
As partições de rede e os grupos de segurança podem segmentar ainda mais as redes de contêineres, criando limites lógicos e aplicando regras específicas de firewall para restringir o tráfego entre os segmentos.
Filtragem de tráfego e regras de firewall
Os firewalls de próxima geração em contêineres impedem que o malware entre e se espalhe dentro do cluster, além de impedir conexões de saída mal-intencionadas usadas em ataques de exfiltração de dados e de comando e controle (C2). Embora as ferramentas de segurança shift-left ofereçam proteção em tempo de implantação contra vulnerabilidades conhecidas, os firewalls de próxima geração em contêineres oferecem proteção contra vulnerabilidades desconhecidas e não corrigidas.
A filtragem de tráfego e as regras de firewall são essenciais para controlar o fluxo de tráfego entre os contêineres, bem como entre os contêineres e o hospedeiro.
Filtragem de entrada e saída
A filtragem de saída controla o tráfego de saída de um contêiner, enquanto a filtragem de entrada controla o tráfego de entrada para um contêiner. Ao aplicar a filtragem de entrada e saída, o senhor pode limitar a exposição dos seus contêineres a ameaças externas e restringir a comunicação deles apenas aos serviços necessários.
Aplicação de regras de firewall ao tráfego de contêineres
As regras de firewall podem ser aplicadas em vários níveis, inclusive no nível do host, do contêiner e da rede. O senhor pode usar o iptables ou o firewalld do Linux, por exemplo, para criar regras que governem o tráfego de contêineres e proteger sua infraestrutura contra acesso não autorizado e atividades mal-intencionadas.
Balanceamento de carga e roteamento de tráfego
O balanceamento de carga e o roteamento de tráfego são importantes para distribuir o tráfego entre vários contêineres e garantir a alta disponibilidade dos seus aplicativos. Soluções como HAProxy, NGINX ou serviços integrados do Kubernetes podem ser usadas para rotear o tráfego para o contêiner apropriado com base em regras predefinidas e verificações de integridade.
Criptografia e comunicação segura
Criptografar e proteger a comunicação entre contêineres e entre contêineres e o host é vital para proteger dados confidenciais e manter a integridade dos seus aplicativos.
Segurança da camada de transporte (TLS) para tráfego de contêineres
O TLS fornece criptografia e autenticação para dados transmitidos por uma rede. Ao implementar o TLS para o tráfego de contêineres, o senhor pode garantir que os dados transmitidos entre contêineres e entre contêineres e o host sejam criptografados e protegidos contra interceptação ou adulteração. O senhor pode conseguir isso usando ferramentas como OpenSSL ou Let's Encrypt para gerar e gerenciar certificados TLS para seus contêineres.
Segurança da comunicação entre contêineres
Para proteger a comunicação entre contêineres, é possível usar soluções nativas de contêineres, como as redes criptografadas integradas do Docker, ou ferramentas de terceiros, como o Cilium, que fornece segurança de rede com reconhecimento de API para contêineres. Essas soluções permitem que o senhor implemente criptografia, autenticação e autorização para o tráfego entre contêineres.
Segurança da comunicação entre o contêiner e o host
Para garantir a comunicação segura entre os contêineres e o host, é possível usar mecanismos de criptografia e autenticação no nível do host, como APIs protegidas por SSH ou TLS, para controlar o acesso às interfaces de gerenciamento de contêineres e aos sistemas de armazenamento de dados.
Segurança de rede do Kubernetes
Políticas de rede
As políticas de rede são um recurso essencial do Kubernetes que permite controlar o fluxo de tráfego dentro do cluster e entre o cluster e as redes externas. As ferramentas modernas permitem que as equipes de segurança definam políticas que, essencialmente, determinam quem e o que tem permissão para acessar um determinado microsserviço. As organizações precisam de uma estrutura para definir essas políticas e garantir que elas sejam mantidas de forma consistente em um ambiente de aplicativos de contêineres altamente distribuídos.
Definição e aplicação de políticas de rede
As políticas de rede do Kubernetes são definidas usando arquivos YAML, que especificam o tráfego permitido entre componentes como pods, serviços e namespaces. Uma vez definidas, essas políticas podem ser aplicadas usando plug-ins de rede que suportam a API de política de rede do Kubernetes, como o Calico ou o Cilium.
Lista branca e lista negra de tráfego
As políticas de rede podem ser usadas para colocar na lista de permissões ou na lista negra o tráfego entre os componentes do cluster com base em critérios que incluem rótulos de pod, endereços IP ou namespaces. Ao estabelecê-las, o senhor poderá controlar quais serviços podem se comunicar entre si e impedir o acesso não autorizado a dados ou recursos confidenciais.
Isolamento e segmentação de namespace
Ao aplicar políticas de rede no nível do namespace, o senhor pode isolar e segmentar aplicativos ou ambientes dentro do cluster, restringindo o tráfego apenas aos componentes necessários e evitando possíveis riscos à segurança.
Controles de entrada e saída
O controle do tráfego de entrada e saída é essencial para gerenciar o fluxo de dados que entram e saem do cluster do Kubernetes e protegê-lo contra ameaças externas.
Controladores de entrada e balanceamento de carga
Os controladores de entrada no Kubernetes gerenciam o roteamento do tráfego externo para os serviços apropriados dentro do seu cluster com base em regras predefinidas. O balanceamento de carga pode ser obtido por meio de serviços integrados do Kubernetes ou soluções de terceiros, como NGINX e HAProxy. Essas soluções permitem que o senhor roteie o tráfego com base em critérios como caminho, host ou cabeçalhos. Eles também permitem que o senhor forneça terminação TLS e outros recursos de segurança.
Práticas recomendadas de acesso de entrada
- Corrija a política padrão do Kubernetes "any-any-any allow" aplicando uma política deny-all para cada namespace.
- Impedir que os serviços aceitem tráfego de entrada diretamente de IPs externos, a menos que um balanceador de carga ou ingress esteja conectado. Permitir apenas o tráfego de entrada de balanceadores de carga ou ingresses.
- Limitar o tráfego a protocolos e portas específicos de acordo com os requisitos do serviço (por exemplo, HTTP/HTTPS para serviços da Web, UDP 53 para serviço DNS).
- Aceitam tráfego somente de outros serviços (pods) que os consomem, seja no mesmo namespace ou em outro.
- Para criar uma política de entrada de um pod em outro namespace, adicione um rótulo ao namespace.
Gerenciamento de tráfego de saída
O controle do tráfego de saída do seu cluster Kubernetes é essencial para evitar o vazamento de dados e garantir que as conexões de saída sejam restritas apenas aos destinos necessários. O senhor pode conseguir isso usando políticas de rede de saída, que permitem definir regras para o tráfego de saída de seus pods ou namespaces. Além disso, gateways de saída ou soluções proxy, como o Squid, podem ser usados para controlar e monitorar o tráfego de saída do seu cluster.
Práticas recomendadas de acesso de saída
- Entenda a necessidade de cada serviço externo usado por seus microsserviços. Produtos como o Prisma Cloud Compute Defender podem ajudar a identificar fluxos externos envolvidos por microsserviços.
- Se um pod precisar se conectar a um nome DNS (FQDN) sem um endereço IP fixo, use um firewall externo ou proxy, pois as políticas de rede do Kubernetes só oferecem suporte a endereços IP.
- Impeça o tráfego de saída de pods que não precisam de conexões externas para reduzir o risco de exfiltração de dados ou de download de binários mal-intencionados.
- Aplique uma política de bloqueio de saída se o senhor não tiver dependências externas, mas garanta que serviços essenciais, como o Kubernetes DNS Service, permaneçam conectados ao aplicar políticas de saída.
A microssegmentação baseada em identidade ajuda a restringir a comunicação entre os aplicativos nas Camadas 3 e 4, enquanto os firewalls de próxima geração em contêineres realizam a inspeção profunda de pacotes da Camada 7 e examinam todo o tráfego permitido para identificar e impedir ameaças conhecidas e desconhecidas.
Políticas e segurança do DNS
O DNS é parte integrante da rede Kubernetes, pois fornece resolução de nomes para serviços e outros componentes dentro do seu cluster. Garanta a segurança e a integridade de sua infraestrutura de DNS para evitar ataques como DNS spoofing ou envenenamento de cache.
O Kubernetes fornece políticas de DNS integradas para controlar o comportamento da resolução de DNS dentro do seu cluster, e o senhor também pode usar provedores de DNS externos ou soluções de segurança de DNS, como DNSSec, para aumentar a segurança da sua infraestrutura de DNS.
Service Mesh e criptografia de rede
A malha de serviço é uma camada de infraestrutura dedicada que fornece recursos avançados de rede, como roteamento de tráfego, balanceamento de carga e segurança para seus microsserviços e aplicativos em contêineres.
Implementação do Service Mesh
As soluções de service mesh, como Istio e Linkerd, podem ser integradas ao seu cluster Kubernetes para fornecer recursos avançados de rede e aumentar a segurança de seus aplicativos em contêineres. Essas soluções oferecem recursos como TLS mútuo, controle de acesso e criptografia de tráfego, que podem ajudar a proteger seus aplicativos, especialmente os microsserviços, contra várias ameaças à segurança.
Mutual TLS (mTLS) para comunicação segura
O Mutual TLS (mTLS) é um protocolo de segurança em que o cliente e o servidor autenticam as identidades um do outro antes de estabelecer uma conexão segura. Ao contrário do TLS tradicional, em que apenas o servidor é autenticado pelo cliente, o mTLS acrescenta uma camada adicional de segurança, exigindo que o cliente apresente um certificado. O requisito adicional verifica se ambas as partes são quem afirmam ser, o que pode ajudar a evitar acesso não autorizado, vazamento de dados e ataques man-in-the-middle.
Observabilidade e controle do tráfego da rede
As soluções de service mesh também oferecem observabilidade e controle sobre o tráfego da rede, permitindo que o senhor monitore o desempenho e a segurança de seus aplicativos quase em tempo real. A identificação antecipada de acesso não autorizado, padrões de tráfego incomuns e outros possíveis problemas de segurança significa que o senhor pode tomar medidas corretivas antecipadas para reduzir os riscos.
Criptografia de tráfego e dados confidenciais
Para garantir a confidencialidade e a integridade dos dados em seu cluster, é essencial implementar técnicas de criptografia para comunicações internas e externas.
IPsec para criptografar a comunicação entre hosts
O IPsec protege o tráfego do cluster criptografando as comunicações entre todos os hosts mestre e de nó. Tenha em mente a sobrecarga do IPsec e consulte a documentação de orquestração de contêineres para habilitar as comunicações IPsec dentro do cluster. Importe os certificados necessários para o banco de dados de certificados relevante e crie uma política para proteger a comunicação entre os hosts em seu cluster.
Configuração da unidade máxima de transmissão (MTU) para IPsec Overhead
Ajuste a MTU de rota ou de comutação para acomodar a sobrecarga do cabeçalho IPsec. Por exemplo, se o cluster operar em uma rede Ethernet com uma unidade máxima de transmissão (MTU) de 1500 bytes, modifique o valor da MTU do SDN para levar em conta a sobrecarga de encapsulamento do IPsec e do SDN.
Habilitação de TLS para comunicação de API no cluster
O Kubernetes assume que a comunicação da API dentro do cluster é criptografada por padrão usando TLS. A maioria dos métodos de instalação cria e distribui os certificados necessários aos componentes do cluster. No entanto, esteja ciente de que alguns componentes e métodos de instalação podem habilitar portas locais sobre HTTP. Os administradores devem se manter informados sobre as configurações de cada componente para identificar e tratar o tráfego potencialmente inseguro.
Segurança do plano de controle do Kubernetes
Os planos de controle, especialmente em clusters Kubernetes, são os principais alvos de ataques. Para aumentar a segurança, fortaleça os seguintes componentes por meio de inspeção e configuração adequada:
- Nós e seus perímetros
- Nós mestres
- Componentes principais
- APIs
- Pods voltados para o público
Embora a configuração padrão do Kubernetes forneça um certo nível de segurança, a adoção de práticas recomendadas pode fortalecer o cluster para cargas de trabalho e comunicação em tempo de execução.
Políticas de rede (regras de firewall)
A rede plana do Kubernetes permite que todas as implantações alcancem outras implantações por padrão, mesmo entre namespaces. Essa falta de isolamento entre os pods significa que uma carga de trabalho comprometida pode iniciar um ataque a outros componentes da rede. A implementação de políticas de rede pode proporcionar isolamento e segurança.
Política de segurança do pod
O Kubernetes permite que os pods sejam executados com várias configurações inseguras por padrão. Por exemplo, executar contêineres privilegiados com permissões de raiz no host é de alto risco, assim como usar os namespaces e o sistema de arquivos do host ou compartilhar a rede do host. As políticas de segurança do pod permitem que os administradores limitem os privilégios e as permissões de um pod antes de permitir a implantação no cluster. Isolar pods não dependentes de se comunicarem entre si usando políticas de rede ajudará a evitar o movimento lateral entre contêineres no caso de uma violação.
Criptografia de segredos
As distribuições básicas do Kubernetes não criptografam segredos em repouso por padrão (embora serviços gerenciados como o GKE o façam). Se um invasor obtiver acesso ao armazenamento de valores-chave (normalmente Etcd), ele poderá acessar tudo no cluster, inclusive segredos não criptografados. A criptografia do armazenamento de estado do cluster protege o cluster contra a exfiltração de dados em repouso.
Controle de acesso baseado em função
Embora o RBAC não seja exclusivo do Kubernetes, ele deve ser configurado corretamente para evitar o comprometimento do cluster. O RBAC permite o controle granular sobre os componentes do cluster que um pod ou usuário pode acessar. Ao restringir o que os usuários e pods podem visualizar, atualizar, excluir e criar no cluster, o RBAC ajuda a limitar os possíveis danos de um comprometimento.
Abordagem da segurança do plano de controle por meio de patches virtuais
Minimizar o acesso de nível administrativo aos planos de controle e garantir que o servidor de API não seja exposto publicamente são os princípios básicos de segurança mais importantes.
As equipes deDevOps e SecOps podem identificar vulnerabilidades nos pacotes de aplicativos, mas a mitigação desses riscos leva tempo. Os pacotes vulneráveis devem ser substituídos ou corrigidos e testados antes da implantação, o que deixa o ambiente exposto até a resolução do problema. Soluções como a Prisma Cloud automatizam o mapeamento de vulnerabilidades para cada carga de trabalho a fim de fornecer patches virtuais para vulnerabilidades conhecidas. Ao utilizar seu componente WAAS , a solução ajusta as políticas de inspeção de tráfego para detectar e bloquear explorações remotas baseadas em HTTP.
Práticas recomendadas de segurança de rede para contêineres e Kubernetes
Em resumo das áreas discutidas, as práticas recomendadas a seguir servem como uma lista de verificação para garantir que suas equipes estejam equipadas para proteger seus aplicativos e dados containerizados contra ameaças baseadas na rede.
Monitoramento e registro do tráfego da rede
Ficar de olho no tráfego da sua rede é fundamental para detectar e responder a incidentes de segurança e manter a integridade geral do seu ambiente em contêineres.
Soluções centralizadas de registro e monitoramento
A implementação de uma solução centralizada de registro e monitoramento para o seu ambiente de contêineres e Kubernetes, como ELK Stack, Prometheus ou Prisma Cloud, pode ajudá-lo a coletar, analisar e visualizar dados de tráfego de rede de várias áreas. O fácil acesso à inteligência de dados centralizada permitirá que o senhor identifique tendências, detecte anomalias e obtenha insights sobre o desempenho e a segurança da sua infraestrutura.
Detectando e respondendo a incidentes de segurança
O monitoramento do tráfego da rede e o estabelecimento de alertas para atividades incomuns ou suspeitas permitem a rápida detecção e resposta a incidentes envolvendo acesso não autorizado, exfiltração de dados e outras atividades maliciosas. As equipes de segurança estão equipadas para tomar as medidas adequadas, como isolar os componentes afetados, bloquear IPs mal-intencionados ou atualizar as regras de firewall em tempo hábil.
Visualização e análise do tráfego da rede
A visualização e a análise dos dados de tráfego da rede podem ajudá-lo a identificar padrões e tendências que podem indicar possíveis riscos à segurança. Ferramentas como Kibana, Grafana ou dashboards personalizados podem ser usadas para criar representações visuais do tráfego da rede, permitindo que o senhor identifique anomalias e investigue incidentes de segurança com mais eficiência.
Configurações de rede seguras
O fortalecimento das configurações de rede e a implementação de fortes controles de acesso são vitais para proteger seu ambiente de contêineres e Kubernetes contra ameaças à segurança.
Fortalecimento das configurações de rede do host e da nuvem
Para manter a segurança do seu ambiente, é necessário garantir configurações de rede seguras tanto para o host do contêiner quanto para os contêineres individuais. As medidas essenciais envolvem a desativação de serviços de rede não utilizados, a limitação do acesso à rede apenas aos componentes necessários e a aplicação de patches e atualizações de segurança do sistema operacional host e do tempo de execução do contêiner.
Controles de acesso à rede e autenticação
Para evitar o acesso não autorizado e manter a integridade do seu ambiente de contêineres e Kubernetes, é essencial implementar fortes controles de acesso e mecanismos de autenticação. As principais medidas envolvem a utilização do controle de acesso baseado em função (RBAC) para gerenciar as permissões de usuário no Kubernetes, incorporando a autenticação multifator (MFA) e empregando soluções de segurança de rede, como VPNs ou firewalls, para limitar o acesso ao seu ambiente.
Avaliações regulares da segurança da rede
Avaliações regulares de segurança de rede - varreduras de vulnerabilidade, testes de penetração e auditorias de segurança - são obrigatórias quando se trata de identificar possíveis pontos fracos no seu ambiente de contêineres e Kubernetes. Os principais aspectos dessas avaliações envolvem o exame das configurações de rede, das regras de firewall e das políticas de segurança para garantir a adesão às práticas recomendadas do setor e aos requisitos de conformidade.
Seguindo essas práticas recomendadas e implementando medidas eficazes de segurança de rede, o senhor pode fortalecer seu ambiente de contêineres e Kubernetes contra possíveis ameaças baseadas em rede e garantir a segurança e a integridade de seus aplicativos e dados.
Perguntas frequentes sobre segurança de rede em nuvem
MTU, ou unidade máxima de transmissão, refere-se ao maior tamanho de um pacote de dados que pode ser transmitido por uma rede. É um parâmetro que contribui para determinar a eficiência e o desempenho da comunicação de dados nas redes. O protocolo de controle de transmissão (TCP) usa o MTU para determinar o tamanho máximo de cada pacote nas transmissões pela Internet.
Para acomodar a sobrecarga adicional do cabeçalho introduzida pela criptografia e pelo encapsulamento, é necessário ajustar o valor do MTU ao usar o IPsec para comunicação segura. Por exemplo, se o cluster Kubernetes opera em uma rede Ethernet com um MTU padrão de 1500 bytes, o valor do MTU deve ser reduzido para levar em conta a sobrecarga de encapsulamento IPsec e SDN. O ajuste evita a fragmentação de pacotes e garante uma transmissão de dados mais eficiente e segura.