Entendendo a rede VPC de cluster segura por padrão

Nuvem privada virtual 1.30 e posteriormente

A partir dos novos clusters de VPC criados na versão 1.30, o site IBM Cloud Kubernetes Service introduziu um novo recurso de segurança chamado Secure by Default Cluster VPC Networking. Com o Secure by Default, há novas configurações de VPC, como grupos de segurança gerenciados, regras de grupo de segurança e gateways de terminal privado virtual (VPEs) que são criados automaticamente ao criar um cluster de VPC. Analise os detalhes a seguir sobre os componentes da VPC que são criados e gerenciados para você ao criar um cluster da versão 1.30 e posterior.

Visão geral

Com o Secure by Default Networking, ao provisionar um novo cluster VPC do IBM Cloud Kubernetes Service na versão 1.30 ou mais recente, somente o tráfego necessário para o cluster funcionar é permitido e todos os outros acessos são bloqueados. Para implementar Secure by Default Networking, o IBM Cloud Kubernetes Service usa vários grupos de segurança e regras do grupo de segurança para proteger componentes do cluster. Esses grupos e regras de segurança são criados automaticamente e anexados aos seus nós de trabalho, balanceadores de carga e gateways VPE relacionados ao cluster.

Grupos de segurança de
imagem mostra os grupos de segurança de VPC aplicados à sua VPC e aos clusters

Os grupos de segurança do Virtual Private Cloud filtram o tráfego no nível do hypervisor. As regras de grupo de segurança não são aplicadas em uma ordem específica. No entanto, as solicitações para os nós do trabalhador serão permitidas somente se a solicitação corresponder a uma das regras especificadas. Ao permitir o tráfego em uma direção criando uma regra de entrada ou de saída, as respostas também são permitidas na direção oposta. Os grupos de segurança são aditivos, o que significa que se seus nós do trabalhador estiverem conectados a mais de um grupo de segurança, todas as regras incluídas nos grupos de segurança serão aplicadas aos nós do trabalhador. Versões de cluster mais recentes podem ter mais regras no grupo de segurança do kube-<clusterID> do que versões de cluster mais antigas. As regras do grupo de segurança são incluídas para melhorar a segurança do serviço e não quebram a funcionalidade

Gateways de ponto de extremidade privado virtual (VPE)

Quando o primeiro cluster VPC no IBM Cloud Kubernetes Service 1.28+ é criado em um determinado VPC ou um cluster nesse VPC tem seu principal atualizado para 1.28+, então vários gateways VPE compartilhados são criados para vários serviços do IBM Cloud. Apenas um desses tipos de Gateways VPE compartilhados é criado por VPC. Todos os clusters no VPC compartilham o mesmo VPE Gateway para esses serviços.. Esses Gateways VPE compartilhados são designados a um único IP reservado de cada zona na qual os trabalhadores do cluster estão.

Gateways de VPE compartilhados

Os gateways VPE a seguir são criados automaticamente quando você cria um cluster VPC.

Gateways de VPE compartilhados
A tabela mostra os gateways VPE criados para clusters VPC. A primeira coluna inclui o nome do gateway A segunda coluna inclui uma breve descrição. A terceira coluna inclui os nomes DNS.
Gateway VPE Descrição nomes do DNS
IBM Cloud Container Registry Extraia imagens de contêineres de IBM Cloud Container Registry para aplicativos em execução no seu cluster. icr.io, *.icr.io
Gateway do IBM Cloud Object Storage s3 Acesse as APIs do site IBM Cloud Object Storage. s3.direct.<region>.cloud-object-storage.appdomain.cloud, *.s3.direct.<region>.cloud-object-storage.appdomain.cloud
Gateway de configuração do IBM Cloud Object Storage Faça backup das imagens do contêiner para IBM Cloud Object Storage config.direct.cloud-object-storage.cloud.ibm.com
IBM Cloud Kubernetes Service (ca-mon, in-che, in-mum) Acesse as APIs IBM Cloud Kubernetes Service para criar clusters, adicionar pools de trabalho e muito mais. private.<region>.containers.cloud.ibm.com
IBM Cloud Kubernetes Service (outras regiões) Acesse as APIs IBM Cloud Kubernetes Service para criar clusters, adicionar pools de trabalho e muito mais. api.<region>.containers.cloud.ibm.com
IBM Cloud VPC Acesse as APIs da VPC para provisionar e gerenciar recursos que fazem parte da infraestrutura como serviço da VPC ( IaaS ). <region>.private.iaas.cloud.ibm.com

Gateways VPE não compartilhados

Todos os clusters de VPC compatíveis têm um Gateway VPE para o mestre do cluster que é criado em sua conta quando o cluster é criado.

Gateways VPE não compartilhados
A tabela mostra os gateways VPE criados para clusters VPC. A primeira coluna inclui o nome do gateway A segunda coluna inclui uma breve descrição.
Gateway VPE Descrição
IBM Cloud Kubernetes Service mestre do cluster Esse Gateway VPE é usado pelos trabalhadores do cluster e pode ser usado por outras coisas no VPC, para se conectar ao servidor de API principal do cluster Esse gateway VPE recebe um único IP reservado de cada zona em que estão os trabalhadores do cluster, e esse IP é criado em uma das sub-redes VPC da zona que tem trabalhadores do cluster. †

por exemplo, se o cluster tiver trabalhadores em apenas uma região de zona única (us-east-1) e uma única sub-rede VPC, um único IP será criado nessa sub-rede e atribuído ao gateway VPE. Se um cluster tiver trabalhadores em todas as três zonas, como us-east-1, us-east-2 e us-east-3 e esses trabalhadores forem distribuídos entre 4 sub-redes de VPC em cada zona, então 12 sub-redes de VPC juntas, três IPs serão criados, um em cada zona, em uma das quatro sub-redes de VPC nessa zona. Observe que a sub-rede é escolhida aleatoriamente..

Grupos de segurança gerenciados

O IBM Cloud Kubernetes Service cria e atualiza automaticamente os grupos de segurança e as regras a seguir para clusters VPC.

Grupos de segurança gerenciados
A tabela mostra os grupos de segurança gerenciados criados para clusters de VPC. A primeira coluna inclui o nome do grupo de segurança. A segunda coluna inclui a convenção de nomenclatura.
Grupo de segurança Convenção de nomenclatura
Grupo de segurança do trabalhador kube-<clusterID>
Grupo de segurança de gateway VPE mestre kube-vpegw-<clusterID>
Grupo de segurança de gateway VPE compartilhado kube-vpegw-<vpcID>
Grupo de segurança de serviços de balanceamento de carga kube-lbaas-<clusterID>

Grupo de segurança do trabalhador

Quando você cria um cluster de VPC IBM Cloud Kubernetes Service, um grupo de segurança é criado para todos os trabalhadores, ou nós, do cluster em questão.

  • O nome do grupo de segurança é kube-<clusterID> em que <clusterID> é o ID do cluster.
  • Se os novos nós forem incluídos no cluster posteriormente, esses nós serão incluídos no grupo de segurança do cluster automaticamente
  • As regras são adicionadas ou removidas dinamicamente conforme a necessidade dos balanceadores de carga.
  • As regras adicionadas no intervalo de portas do nó são removidas automaticamente se não forem necessárias. Se os clientes quiserem permitir o tráfego de entrada em um serviço de porta de nó, você deverá adicionar a regra para permitir o tráfego depois de criar o serviço de porta de nó.
  • Não modifique as regras no grupo de segurança kube-<clusterID> porque isso pode causar interrupções na conectividade de rede entre os trabalhadores do cluster e o cluster de controle.
Regras no grupo de segurança kube-clusterID
A tabela mostra as regras aplicadas ao grupo de segurança do trabalhador do cluster. A primeira coluna inclui o protocolo da regra A segunda coluna inclui portas e tipos. A terceira coluna inclui o destino remoto da regra A quarta coluna inclui uma breve descrição da regra.
Descrição Direção Protocolo Portas ou valores Origem ou destino
Permite o tráfego de entrada para a sub-rede do pod Entrada ICMP/ TCP / UDP Todos 172.17.0.0/18 (o intervalo de sub-rede padrão) ou um intervalo de sub-rede customizado especificado ao criar seu cluster.
Permite o acesso de entrada para si mesmo, o que permite a comunicação de trabalhador para trabalhador Entrada ICMP/ TCP / UDP Todos kube-<clusterID>
Permite o acesso ICMP (ping) de entrada Entrada ICMP type=8 0.0.0.0/0
Permite o tráfego de entrada de nodeports abertos por seus balanceadores de carga (ALBs/NLBs). Conforme os balanceadores de carga são incluídos ou as regras removidas são dinamicamente incluídas ou removidas. Entrada TCP Portas do nó do balanceador de carga kube-lbaas-<clusterID>
Permite o tráfego de saída para a sub-rede do pod Saída ICMP/ TCP / UDP Todos 172.17.0.0/18 (o intervalo de sub-rede padrão) ou um intervalo de sub-rede customizado especificado ao criar seu cluster.
Permite o tráfego de saída para o plano de controle principal que permite que os trabalhadores sejam provisionados Saída ICMP/ TCP / UDP Todos 161.26.0.0/16
Permite o acesso de saída para si mesmo, o que permite a comunicação entre trabalhadores. Saída ICMP/ TCP / UDP Todos kube-<clusterID>
Permite tráfego de saída para o grupo de segurança do gateway VPE principal. Saída ICMP/ TCP / UDP Todos kube-vpegw-<clusterID>
Permite tráfego de saída para o grupo de segurança do gateway VPE compartilhado. Saída ICMP/ TCP / UDP Todos kube-vpegw-<vpcID>
Permite que o tráfego TCP passe pelo ALB de entrada Saída TCP Ports:Min=443,Max=443 Endereço IP público do ALB n.
Permite o tráfego TCP e UDP por meio do resolvedor de DNS personalizado para a zona n.** Saída TCP/UDP Min=53,Max=53 endereço IP do resolvedor DNS na zona n.
Permite o tráfego para todo o intervalo de serviço do CSE Saída ICMP/ TCP / UDP Todos 166.8.0.0/14
Permite tráfego para o terminal privado do IAM para todas as zonas. Os IPs podem variar por região. Uma regra é incluída por zona na qual o cluster está.. Saída ICMP/ TCP / UDP Todos endereço IP do terminal privado do IAM para todas as zonas.
1.33 e posterior Permite o tráfego de saída para a API de metadados da instância. Saída ICMP/ TCP / UDP Todos 169.254.169.254
4.18 e posteriores Permite o tráfego de saída para a API de metadados da instância. Saída ICMP/ TCP / UDP Todos 169.254.169.254

** As VPCs do hub e do Spoke usam resolvedores DNS customizados na VPC. O tráfego deve fluir através dos endereços IP de cada resolvedor DNS. Há duas regras por zona ( TCP e UDP ) por meio da porta 53.

Grupo de segurança do gateway VPE principal

Ao criar um cluster VPC, um gateway Virtual Private Endpoint (VPE) é criado no mesmo VPC que o cluster. O nome da segurança é kube-vpegw-<clusterID>, em que <clusterID> é o ID do cluster. A finalidade desse gateway VPE é servir como um gateway para o mestre do cluster, que é gerenciado pelo IBM Cloud. O gateway VPE é designado a um único endereço IP em cada zona no VPC no qual o cluster tem trabalhadores

Para permitir o acesso ao principal de um cluster somente por meio de seus nós do trabalhador, um grupo de segurança é criado para cada gateway do VPE principal do cluster Em seguida, é criada uma regra remota que permite a conectividade do Ingress do grupo de segurança do trabalhador do cluster para as portas necessárias no gateway do VPE do cluster mestre Para que as conexões privadas, inclusive as conexões provenientes de uma VPN VPC, se conectem ao gateway VPE de endpoint de serviço privado do cluster, o tráfego TCP é permitido a partir dos CIDRs de sub-rede para cada pool de trabalho ativo do cluster.

Regras de entrada no grupo de segurança do gateway do VPE mestre
A tabela mostra as regras de entrada aplicadas ao grupo de segurança do gateway do VPE mestre. A primeira coluna inclui o protocolo da regra A segunda coluna inclui portas e tipos. A terceira coluna inclui o destino remoto da regra A quarta coluna inclui uma breve descrição da regra.
Descrição Direção Protocolo Portas ou valores Origem ou destino
Permita o tráfego de entrada do grupo de segurança do trabalhador do cluster para a porta do nó do servidor Entrada TCP Servidor URL porta do nó kube-<clusterID>
Permitir tráfego de entrada do grupo de segurança do trabalhador do cluster para a porta Konnectivity. Entrada TCP Porto de Konnectivity kube-<clusterID>
Permite o tráfego de entrada da sub-rede de cada pool de trabalho ativo em seu cluster.* Entrada TCP Servidor URL porta do nó CIDR da sub-rede

* Uma regra é adicionada para a sub-rede de cada pool de trabalho ativo. Se você tiver trabalhadores em três zonas, serão adicionadas três regras (uma para cada sub-rede nessa zona).

Grupo de segurança do gateway VPE compartilhado

Os gateways VPE compartilhados são criados quando o primeiro cluster em uma VPC é provisioned.The grupo de segurança de gateway VPE compartilhado é criado quando você cria um cluster (se ainda não existir em clusters anteriores). O nome do grupo de segurança é kube-vpegw-<vpcID>, em que <vpcID> é o ID de sua VPC. Em seguida, é criada uma regra remota que permite a conectividade do Ingress do grupo de segurança do trabalhador do cluster para o cluster especificado. O grupo de segurança do gateway VPE compartilhado contém os gateways VPE que são compartilhados por todos os clusters nesse VPC. Gateways VPE compartilhados podem ser adicionados em versões posteriores para permitir conexões com outros IBM Cloud Services.

Se esse grupo de segurança do gateway VPE compartilhado já existir quando um cluster for fornecido, ele será reconhecido pelo processo de fornecimento e não será recriado. No entanto, uma regra remota ainda é incluída entre o grupo de segurança do gateway do VPE compartilhado existente e o novo grupo de segurança do trabalhador Isso é feito para que a conectividade seja permitida de todos os clusters no VPC especificado. Uma regra é criada para cada cluster na VPCs.

Há um máximo de 15 regras que podem atingir outros grupos de segurança como sua origem ou destino. Por padrão, o site IBM Cloud Kubernetes Service aplica uma regra que tem como alvo o grupo de segurança kube-<clusterID> para cada cluster na VPC. Devido a essa cota, apenas 15 clusters podem ser criados em um determinado VPC, Para obter mais informações, consulte Cotas de VPC.

Regras de entrada no grupo de segurança do gateway VPE compartilhado
A tabela mostra as regras de entrada aplicadas ao grupo de segurança do gateway VPE compartilhado. A primeira coluna inclui o objetivo da regra. A segunda coluna inclui a direção da regra.. A terceira coluna inclui o protocolo. A quarta coluna inclui o destino remoto da regra.
Descrição Direção Protocolo Origem ou destino
Permite o tráfego de entrada do cluster especificado. Entrada TCP kube-<clusterID>

Grupo de segurança de serviços do balanceador de carga

O grupo de segurança padrão que é conectado a todos os balanceadores de carga (ALBs e NLBs).

  • Cada cluster obtém seu próprio grupo de segurança exclusivo que é compartilhado por todos os balanceadores de carga no cluster..
  • O nome do grupo de segurança é kube-lbaas-<clusterID>, em que <clusterID> é o ID do seu cluster.
  • As regras nesse grupo de segurança são incluídas ou excluídas dinamicamente conforme os balanceadores de carga são incluídos, removidos ou atualizados. Observe que SDNLBs não suportam a conexão de grupos de segurança.
  • Você pode adicionar regras a esse grupo de segurança. No entanto, algumas regras podem ser removidas se forem incompatíveis com as outras regras ou se quebrarem a funcionalidade.
Regras de grupo de segurança do balanceador de carga
A tabela mostra as regras aplicadas ao grupo de segurança do balanceador de carga. A primeira coluna inclui o propósito da regra A segunda coluna inclui a direção da regra.. A terceira coluna inclui o protocolo. A quarta coluna inclui as portas ou os valores. A quinta coluna inclui o destino remoto da regra.
Descrição Direção Protocolo Porta ou valor Origem ou destino
Permite acesso de saída à porta do nó aberta pelo balanceador de carga. Dependendo do balanceador de carga, você pode ter várias regras. Saída TCP Node porta (s) aberta (s) pelo balanceador de carga. kube-<clusterID>
O balanceador de carga atende na porta 80 permitindo acesso de entrada a partir dessa porta. Entrada TCP Porta pública do LB Exemplo 80 0.0.0.0/0
O balanceador de carga atende na porta 443 permitindo acesso de entrada a partir dessa porta. Entrada TCP Porta pública do LB Exemplo 443 0.0.0.0/0

Fornecido pelo usuário Security Groups

Ao criar um cluster de VPC, você pode fornecer até quatro grupos de segurança adicionais de sua propriedade.

Para obter mais informações, consulte Criação e gerenciamento de grupos de segurança VPC.

Limitações

Grupos de segurança do nó do trabalhador
Como os nós de trabalho em seu cluster de VPC existem em uma conta de serviço e não estão listados no painel de infraestrutura da VPC, não é possível criar um grupo de segurança e aplicá-lo às instâncias do nó de trabalho. Você só pode modificar o grupo de segurança existente kube-<clusterID>.
Criação de logs e monitoramento
Ao configurar a criação de log e o monitoramento em um cluster 1.30 ou posterior, deve-se usar o terminal em serviço privado ao instalar o agente de criação de log em seu cluster. Os dados do log não serão salvos se o terminal público for usado
Monitorando clusters com nós do trabalhador RHCOS
O agente de monitoramento depende de cabeçalhos do kernel no sistema operacional; no entanto, o RHCOS não tem cabeçalhos do kernel Neste cenário, o agente retorna ao sysdig.com para usar o agente pré-compilado. Em clusters sem acesso à rede pública, esse processo falha. O eBPF agora está ativado por padrão para novas implementações do Sysdig. No entanto, se estiver tendo problemas em um cluster existente, verifique se o eBPF está ativado e ative-o, se necessário. Como alternativa, você pode permitir o tráfego de saída ou consultar a documentação da Sysdig para instalar o agente em ambientes com air-gap.
Cotas do cluster VPC
Há um máximo de 15 regras que podem atingir outros grupos de segurança como sua origem ou destino. Por padrão, o site IBM Cloud Kubernetes Service aplica uma regra que tem como alvo o grupo de segurança kube-<clusterID> para cada cluster na VPC. Devido a essa cota, apenas 15 clusters podem ser criados em um determinado VPC, Para obter mais informações, consulte Cotas de VPC.
Criptografia em trânsito para VPC File Storage.
Para usar o EIT com clusters Secure by Default, você deve adicionar a seguinte regra de saída ao grupo de segurança kube-<clusterID>.
  • Protocolo: Qualquer
  • Tipo de fonte: Qualquer
  • Fonte: 0.0.0.0/0
  • Destino 169.254.169.254.
Comunicação de backup sobre a rede pública
Os trabalhadores do cluster VPC usam a rede privada para se comunicar com o cluster mestre. Anteriormente, para os clusters VPC que tinham o terminal em serviço público ativado, se a rede privada estivesse bloqueada ou indisponível, os trabalhadores do cluster poderiam voltar a usar a rede pública para se comunicar com o cluster mestre Em clusters Secure by Default, o fallback para a rede pública não é uma opção porque o tráfego de saída público dos trabalhadores do cluster está bloqueado.. Talvez você queira desativar a proteção de tráfego de saída para permitir essa opção de backup de rede pública, no entanto, há uma alternativa melhor Em vez disso, se houver um problema temporário com a conexão do trabalhador para o principal sobre a rede privada, então, nesse momento, será possível incluir uma regra do grupo de segurança temporária no grupo de segurança kube-clusterID para permitir o tráfego de saída para a porta do cluster principal apiserver. Mais tarde, quando o problema for resolvido, será possível remover a regra temporária
Criptografia do OpenShift Data Foundation e Portworx
Se você planeja usar o OpenShift Data Foundation ou o Portworx em um cluster sem acesso à rede pública e desejar usar o Hyper Protect Crypto Services ou o Key Protect para criptografia, deverá criar um gateway de terminal privado virtual (VPE) que permita o acesso à sua instância do KMS. Certifique-se de ligar pelo menos um endereço IP de cada sub-rede em seu VPC ao VPE.