Exemplos de políticas de firewall hierárquicas

Esta página mostra exemplos de implementações de políticas de firewall hierárquicas. Parte do princípio de que conhece os conceitos descritos nas políticas de firewall hierárquicas.

Exemplo 1: permitir que o verificador aceda a todas as VMs

Neste exemplo de utilização, todas as instâncias de máquinas virtuais (VM) numa organização têm de ser analisadas e inventariadas através de sondas de um endereço IP específico (10.100.0.1) para uma porta de destino específica (123). O administrador de segurança da organização garante que nenhum administrador de rede ou outro administrador de segurança pode bloquear essa porta em qualquer instância de VM na organização.

Este exemplo pressupõe que não existem políticas de firewall ao nível da pasta implementadas.

A configuração para este exemplo de utilização é descrita no diagrama seguinte.

Permitir que o verificador aceda a todas as VMs
Permitir que o verificador aceda a todas as VMs

Política em vigor aplicada em VMs

Neste exemplo, a política de firewall de VM eficaz após a avaliação das regras na hierarquia é a seguinte.

Ligações de entrada

  • As ligações de entrada com o IP de origem 10.100.0.1 e a porta de destino 123 são permitidas, conforme definido na política. Quando é encontrada uma correspondência na política da organização, as ligações de sondagem são permitidas e não são avaliadas mais regras na hierarquia.

  • Para quaisquer ligações de entrada que não sejam do IP de origem 10.100.0.1 e da porta de destino 123, não existe uma correspondência. Por conseguinte, aplica-se a regra de entrada predefinida nas regras de firewall da VPC, recusando a ligação.

Ligação de saída

  • Não existe nenhuma correspondência nas regras definidas pela hierarquia. Por conseguinte, aplica-se a regra de saída predefinida nas regras de firewall da VPC, o que permite ligações de saída.

Como configurar

  1. Crie uma política de firewall para conter a regra:

    gcloud compute firewall-policies create \
         --organization=123456789012 \
         --short-name="example-firewall-policy" \
         --description="rules that apply to all VMs in the organization"
    
  2. Adicione a regra à política de firewall:

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description="allow-scan-probe" \
        --layer4-configs=tcp:123 \
        --firewall-policy=example-firewall-policy \
        --organization=123456789012 \
        --src-ip-ranges=10.100.0.1/32
  3. Associe a política de firewall à organização:

    gcloud compute firewall-policies associations create \
        --firewall-policy=example-firewall-policy \
        --organization=123456789012

Exemplo 2: negar todas as ligações externas, exceto para determinadas portas

Neste exemplo de utilização, uma política firewall bloqueia todas as ligações de origens da Internet externas, exceto as ligações nas portas de destino 80, 443 e 22. Uma ligação à Internet de entrada em qualquer porta que não seja 80, 443 e 22 é bloqueada, independentemente das regras de firewall ao nível da rede VPC. Para quaisquer ligações na porta 80, 443 ou 22, a política delega no administrador de segurança da VPC o comportamento que quer aplicar na respetiva rede VPC para essas portas.

A configuração para este exemplo de utilização é descrita no diagrama seguinte.

Recusar todas as ligações externas, exceto determinadas portas de destino
Negar todas as ligações externas, exceto para determinadas portas de destino

Política em vigor aplicada em VMs

Neste exemplo, a política de firewall de VM eficaz após a avaliação das regras na hierarquia é a seguinte.

Ligações de entrada

  • Todas as ligações de entrada de 10.0.0.0/8 correspondem à regra de nível da organização de prioridade mais alta delegate-internal-traffic e ignoram o resto das regras na política da organização a serem avaliadas em relação às regras de firewall configuradas ao nível da rede de VPC. Na regra de firewall da VPC, as ligações de 10.2.0.0/16 são permitidas e as restantes ligações são avaliadas em função da regra de entrada implícita, que é deny.

  • As ligações de entrada com um intervalo de IPs de origem que não seja 10.0.0.0/8 para as portas de destino 22, 80 e 443 são delegadas para o nível seguinte, onde as portas 80 e 443 são permitidas, mas 22 não.

  • Todas as outras ligações estão bloqueadas.

Ligações de saída

  • Não existe nenhuma correspondência nas regras definidas pela hierarquia. Por conseguinte, aplica-se a regra de saída predefinida nas regras de firewall da VPC, o que permite ligações de saída.

Como configurar

  1. Crie uma política de firewall para conter a regra:

    gcloud compute firewall-policies create \
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --description="rules that apply to all VMs in the organization"
    
  2. Adicione uma regra para delegar ligações internas ao proprietário do projeto:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description="delegate-internal-traffic" \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy" \
        --src-ip-ranges=10.0.0.0/8
    
  3. Adicione uma regra para delegar regras de ligações externas às portas 80/443/22 ao proprietário do projeto:

    gcloud compute firewall-policies rules create 2000 \
        --action=goto_next \
        --description="delegate-external-traffic-spec-ports" \
        --src-ip-ranges=0.0.0.0/0 \
        --layer4-configs=tcp:80,tcp:443,tcp:22 \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy"
  4. Adicione uma regra para recusar todas as outras ligações externas:

    gcloud compute firewall-policies rules create 3000 \
        --action=deny \
        --description="block-other-external-traffic-spec-ports" \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy" \
        --src-ip-ranges=0.0.0.0/0
    
  5. Associe a política de firewall à organização:

    gcloud compute firewall-policies associations create \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy"
  6. No projeto, adicione uma regra de firewall para permitir ligações internas a partir da sub-rede designada:

    gcloud compute firewall-rules create allow-internal-traffic \
        --action=allow \
        --priority=1000 \
        --source-ranges=10.2.0.0/16
    
  7. No projeto, adicione uma regra de firewall para permitir ligações TCP externas:80443

    gcloud compute firewall-rules create allow-external-traffic \
        --action=allow \
        --priority=2000 \
        --rules=tcp:80,tcp:443
    

Exemplo 3: negar ligações de saída, exceto a partir de uma rede VPC específica

Neste exemplo de utilização, o administrador de segurança da organização não permite ligações de saída em nenhuma rede de VPC, exceto ligações originadas na rede de VPC myvpc. O administrador delega a decisão de abrir a saída para o servidor público 203.0.113.1 ao administrador de segurança myvpc.

Este exemplo pressupõe que não existem políticas de firewall ao nível da pasta implementadas. A configuração para este exemplo de utilização é descrita no diagrama seguinte.

Recuse ligações de saída, exceto de uma rede específica
Negue ligações de saída, exceto a partir de uma rede específica

Política em vigor aplicada em VMs

Neste exemplo, a política de firewall de VM eficaz após a avaliação das regras na hierarquia é a seguinte.

Ligações de entrada

  • Não existe nenhuma correspondência nas regras definidas pela hierarquia. Por conseguinte, aplica-se a regra de entrada predefinida nas regras de firewall da VPC, o que nega as ligações de entrada.

Ligações de saída

  • Todas as ligações de saída destinadas a 203.0.113.1 são permitidas; as restantes ligações são negadas. Todas as ligações de saída destinadas a 203.0.113.1correspondem à regra delegate-egress-my-vpc e ignoram as restantes regras na política da organização.

  • As ligações de saída são, em seguida, avaliadas em função das regras de firewall configuradas no myvpc. A regra predefinida permite as ligações de saída. A regra block-egress-traffic-sepc-ports na política ao nível da organização nega o resto das ligações.

Como configurar

  1. Crie uma política de firewall para conter a regra:

    gcloud compute firewall-policies create \
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --description="rules that apply to all VMs in the organization"
    
  2. Adicione uma regra para delegar determinadas ligações de saída:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description="delegate-egress-myvpc" \
        --dest-ip-ranges=203.0.113.1/32
        --direction=egress
        --organization=123456789012 \
        --short-name="example-firewall-policy" \
        --target-resources=projects/PROJECT_ID/networks/myvpc
    
  3. Adicione uma regra para recusar todas as outras ligações de saída:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny \
        --description="block-egress-external-traffic-spec-ports" \
        --direction=egress \
        --dest-ip-ranges=0.0.0.0/0 \
        --organization=123456789012 \
        --short-name="example-firewall-policy"
  4. Associe a política de firewall à organização:

    gcloud compute firewall-policies associations create \
        --organization=123456789012 \
        --short-name="example-firewall-policy"

Exemplo 4: configure regras específicas da organização e da pasta

Neste exemplo de utilização, um administrador de segurança não permite ligações de entrada a nenhuma VM na organização, exceto às do intervalo que é adicionado a uma lista de autorizações: 203.0.113.0/24. O administrador delega decisões adicionais sobre o que fazer com as associações de 203.0.113.0/24 aos administradores de segurança ao nível das pastas.

Existem duas pastas diferentes:

  • Folder1, na qual a política permite ligações apenas às portas 80 e 443 nas VMs de back-end, e as restantes portas estão bloqueadas.
  • Folder2, na qual a política aplica que nenhuma VM em Folder2 pode bloquear qualquer porta de destino para tráfego do endereço IP 203.0.113.1. O administrador de segurança da pasta 2 delega outras decisões ao administrador de segurança da VPC, que decide abrir as portas 80, 443 e 22 e negar as restantes portas.

A configuração para este exemplo de utilização é descrita no diagrama seguinte.

Regras ao nível da organização e específicas da pasta
Regras ao nível da organização e específicas da pasta

Política em vigor aplicada em VMs

Neste exemplo, a política de firewall de VM eficaz após a avaliação das regras na hierarquia é a seguinte.

Para VMs pertencentes a my-vpc

  • Todas as ligações de entrada de 203.0.113.0/24 com portas de destino TCP 80 e443 são permitidas. Quaisquer outras ligações de entrada são recusadas.

  • Todas as ligações de saída são aceites de acordo com a regra de firewall da VPC aplicada, uma vez que não existe nenhuma correspondência nas regras de política de firewall de nível superior.

Para VMs pertencentes a vpc2

  • Todas as ligações de entrada de 203.0.113.1 são permitidas. As ligações de entrada de outras origens 203.0.113.0/24 que não 203.0.113.1 só são permitidas para as portas 80, 443 e 22. Todas as outras ligações de entrada são recusadas.

  • Todas as ligações de saída são aceites de acordo com a regra de firewall da VPC aplicada, uma vez que não existe nenhuma correspondência nas regras de política de firewall de nível superior.

Como configurar

  1. Crie uma política de firewall para conter as regras da organização Org_A:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --description="rules that apply to all VMs in the organization"
    
  2. Adicione uma regra para delegar a entrada de 203.0.113.0/24 ao proprietário do projeto:

    gcloud compute firewall-policies rules create 1000 \
        --action=goto_next \
        --description="delegate-ingress" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --src-ip-ranges=203.0.113.0/24
    
  3. Adicione uma regra para recusar todas as outras ligações externas:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny
        --description="block-ingress-external-traffic"
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a" \
        --src-ip-ranges=0.0.0.0/0
    
  4. Associe a política de firewall à organização:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a"
  5. Crie uma política de firewall para conter as regras da pasta1:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --description="rules that apply to all VMs under Folder1"
    
  6. Adicione uma regra para permitir toda a entrada HTTP(S):

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description="allow-http-s-ingress" \
        --layer4-configs=tcp:80,tcp:443 \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1"
  7. Adicione uma regra para negar a entrada em todas as outras portas ou protocolos:

    gcloud compute firewall-policies rules create 2000 \
        --action=deny \
        --description="block-ingress-external-traffic" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --src-ip-ranges=0.0.0.0/0
  8. Associe a política de firewall à pasta1:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder1" \
        --folder=200000000000
  9. Crie uma política de firewall para conter as regras da pasta2:

    gcloud compute firewall-policies create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --description="rules that apply to all VMs under Folder2"
  10. Adicione uma regra para permitir a entrada de 203.0.113.1:

    gcloud compute firewall-policies rules create 1000 \
        --action=allow \
        --description="allow-vul-scan-ingress" \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --src-ip-ranges=203.0.113.1/32
  11. Associe a política de firewall à pasta2:

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-folder2" \
        --folder=300000000000
  12. Adicione uma regra de firewall para permitir a entrada de ligações HTTP(S):

    gcloud compute firewall-rules create allow-internal-traffic \
        --network=vpc2 \
        --action=allow \
        --rules=tcp:80,tcp:443,tcp:22
    

O que se segue?