Configurar a segurança para anexos de rede

Nesta página, descrevemos como os administradores de rede do consumidor podem gerenciar a segurança em redes VPC que usam anexos de rede.

As interfaces do Private Service Connect são criadas e gerenciadas por uma organização produtora, mas estão localizadas em uma rede VPC do consumidor. Para a segurança do consumidor, recomendamos regras de firewall baseadas em intervalos de endereços IP da rede VPC do consumidor. Essa abordagem permite queveia a rezar longue do cv do consumidor controle o tráfego proveniente de interfaces do Private Service Connect sem depender das tags de rede do produtor.

O uso de tags de rede com regras de firewall é compatível, mas não recomendado, porque o consumidor não controla essas tags.

Limitar a entrada de produtor para consumidor

Considere o exemplo de configuração na figura 1, em que o consumidor quer conceder ao produtor acesso a producer-ingress-subnet e impedir que ele acesse restricted-subnet.

Figura 1. As regras de firewall garantem que o tráfego da sub-rede do produtor só possa alcançar VMs em attachment-subnet e producer-ingress-subnet.

As regras de firewall a seguir permitem a entrada limitada de produtor a consumidor:

  1. Uma regra de baixa prioridade nega todo o tráfego de saída do intervalo de endereços IP da sub-rede do anexo de rede, attachment-subnet.

    gcloud compute firewall-rules create deny-all-egress \
        --network=consumer-vpc \
        --action=DENY \
        --rules=ALL \
        --direction=EGRESS \
        --priority=65534 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="0.0.0.0/0"
    
  2. Uma regra de prioridade mais alta permite a saída do intervalo de endereços IP de attachment-subnet para destinos no intervalo de endereços de producer-ingress-subnet.

    gcloud compute firewall-rules create allow-limited-egress \
        --network=consumer-vpc \
        --action=ALLOW \
        --rules=ALL \
        --direction=EGRESS \
        --priority=1000 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="10.10.2.0/24"
    
  3. Uma regra de entrada de permissão substitui a regra de entrada de negação implícita para o tráfego de attachment-subnet.

    gcloud compute firewall-rules create allow-ingress \
    --network=consumer-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=INGRESS \
    --priority=1000 \
    --source-ranges="10.0.1.48/28"
    

Permitir a saída do consumidor para o produtor

Se quiser permitir que uma rede consumidora inicie tráfego para uma rede produtora, use regras de firewall de entrada.

Considere o exemplo de configuração na figura 2, em que o consumidor quer permitir que subnet-1 acesse a rede do produtor por meio da conexão do Private Service Connect.

Figura 2. Uma regra de permissão de firewall de entrada permite que subnet-1 acesse a rede do produtor por meio de uma conexão do Private Service Connect, enquanto subnet-2 é bloqueado pela regra implícita de negação de entrada.

A regra de firewall a seguir garante que somente subnet-1 possa acessar a rede do produtor por meio da conexão do Private Service Connect:

gcloud compute firewall-rules create vm-subnet-allow-ingress \
    --network=consumer-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=INGRESS \
    --priority=1000 \
    --source-ranges="10.10.2.0/24" \
    --destination-ranges="10.0.1.48/28"

Configurar a segurança entre produtores

É possível usar regras de firewall da VPC para segurança em cenários em que um aplicativo de produtor precisa acessar outro aplicativo de produtor.

Considere um cenário em que um consumidor usa dois serviços gerenciados de terceiros diferentes hospedados em redes VPC diferentes. Um serviço é um banco de dados e o outro fornece análises. O serviço de análise precisa se conectar ao serviço de banco de dados para analisar os dados. Uma delas é que os serviços criem uma conexão direta. No entanto, se os dois serviços de terceiros estiverem diretamente conectados, o consumidor perderá o controle e a visibilidade dos dados.

Uma abordagem mais segura é usar interfaces de Private Service Connect, endpoints do Private Service Connect e regras de firewall VPC, conforme mostrado na figura 4.

Figura 3. O tráfego do aplicativo de análise vinculado ao aplicativo de banco de dados passa pela rede VPC do consumidor. As regras de firewall da VPC limitam o tráfego de saída com base no intervalo de endereços IP de origem.

Nessa abordagem, a rede do consumidor se conecta ao aplicativo de banco de dados por meio de um endpoint em uma sub-rede e se conecta ao aplicativo de análise por meio de um anexo de rede em uma sub-rede diferente. O tráfego do aplicativo de análise pode acessar o aplicativo de banco de dados passando pela interface do Private Service Connect e pelo anexo de rede, fazendo o trânsito da rede do consumidor e saindo pelo endpoint em endpoint-subnet.

Na rede VPC do consumidor, uma regra de firewall da VPC nega todo o tráfego de saída de attachment-subnet. Outra regra de firewall com prioridade mais alta permite o tráfego de saída de attachment-subnet e consumer-private-subnet para o endpoint. Consequentemente, o tráfego do aplicativo de análise pode chegar à rede VPC do aplicativo de banco de dados, e esse tráfego precisa fluir pelo endpoint no consumidor.

As regras de firewall a seguir criam a configuração descrita na figura 4.

  1. Uma regra de firewall bloqueia todo o tráfego de saída de attachment-subnet:

    gcloud compute firewall-rules create consumer-deny-all-egress \
        --network=consumer-vpc \
        --action=DENY \
        --rules=all \
        --direction=EGRESS \
        --priority=65534 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="0.0.0.0/0"
    
  2. Uma regra de firewall permite o tráfego TCP de saída na porta 80 de attachment-subnet e consumer-private-subnet para o endpoint:

    gcloud compute firewall-rules create consumer-allow-80-egress \
        --network=intf-consumer-vpc \
        --allow=tcp:80 \
        --direction=EGRESS \
        --source-ranges="10.0.1.48/28,10.10.2.0/24" \
        --destination-ranges="10.0.1.66/32" \
        --priority=1000