Nesta página, mostramos exemplos de implementações de políticas hierárquicas de firewall. Presumimos que você esteja familiarizado com os conceitos descritos em Políticas de firewall hierárquicas.
Exemplo 1: permitir que a sondagem acesse todas as VMs
Nesse caso de uso, todas as instâncias de máquina virtual (VM) em uma organização precisam ser verificadas e catalogadas usando sondagens de um determinado endereço IP (10.100.0.1
) em 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 bloqueie essa porta em qualquer instância de VM na organização.
Este exemplo pressupõe que não há políticas implantadas de firewall no nível da pasta.
A configuração deste caso de uso é descrita no diagrama a seguir.
Política efetiva aplicada em VMs
Neste exemplo, a política de firewall da VM vigente após a avaliação das regras em toda a hierarquia é a seguinte.
Conexões de entrada
Conexões de entrada com o IP de origem
10.100.0.1
e a porta de destino123
são permitidas, conforme definido na política. Após uma correspondência na política da organização, as conexões de sondagem são permitidas e nenhuma outra regra é avaliada na hierarquia.Para conexões de entrada diferentes do IP de origem
10.100.0.1
e da porta de destino123
, não há correspondência. Portanto, a regra de entrada padrão nas regras de firewall da VPC é aplicada, negando a conexão.
Conexão de saída
- Não há correspondência entre as regras definidas pela hierarquia. Portanto, a regra de saída padrão nas regras de firewall da VPC se aplica, permitindo conexões de saída.
Como configurar
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"
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
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 conexões externas, exceto determinadas portas
Nesse caso de uso, uma política de firewall bloqueia todas as conexões de fontes de Internet externas, exceto para conexões nas portas 80
, 443
e 22
. Uma conexão de Internet de entrada em qualquer porta que não seja 80
, 443
e 22
será bloqueada, independentemente das regras de firewall no nível da rede VPC. Para qualquer conexão na porta 80
, 443
ou 22
, a política delega ao
administrador de segurança da VPC o comportamento que ele quer
aplicar na respectiva rede VPC para essas portas.
A configuração deste caso de uso é descrita no diagrama a seguir.
Política efetiva aplicada em VMs
Neste exemplo, a política de firewall da VM vigente após a avaliação das regras em toda a hierarquia é a seguinte.
Conexões de entrada
Qualquer conexão de entrada de
10.0.0.0/8
corresponde à regra de nível mais alto da organizaçãodelegate-internal-traffic
e ignora o restante das regras da política da organização para ser avaliada em relação às regras de firewall configuradas no nível da rede VPC. Na regra de firewall da VPC, as conexões de10.2.0.0/16
são permitidas e o restante das conexões é avaliado em relação à regra de entrada implícita, que édeny
.Conexões de entrada com um intervalo de IP de origem que não é
10.0.0.0/8
para portas de destino22
,80
e443
são delegadas para o próximo nível, em que as portas80
e443
são permitidas, mas22
não é.Todas as outras conexões são bloqueadas.
Conexões de saída
- Não há correspondência entre as regras definidas pela hierarquia. Portanto, a regra de saída padrão nas regras de firewall da VPC se aplica, permitindo conexões de saída.
Como configurar
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"
Adicione uma regra para delegar conexõ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
Adicione uma regra para delegar regras de conexões externas das 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"
Adicione uma regra para negar todas as outras conexõ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
Associe a política de firewall à organização:
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"
No projeto, adicione uma regra de firewall para permitir conexões internas da sub-rede designada:
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --priority=1000 \ --source-ranges=10.2.0.0/16
No projeto, adicione uma regra de firewall para permitir conexões TCP
80
/443
externas:gcloud compute firewall-rules create allow-external-traffic \ --action=allow \ --priority=2000 \ --rules=tcp:80,tcp:443
Exemplo 3: negar conexões de saída, exceto de uma rede VPC específica
Neste caso de uso, o administrador de segurança da organização não permite a saída
em qualquer rede VPC, exceto as conexões
originados na rede 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 do myvpc
.
Este exemplo pressupõe que não há políticas implantadas de firewall no nível da pasta. A configuração deste caso de uso é descrita no diagrama a seguir.
Política efetiva aplicada em VMs
Neste exemplo, a política de firewall da VM vigente após a avaliação das regras em toda a hierarquia é a seguinte.
Conexões de entrada
- Não há correspondência entre as regras definidas pela hierarquia. Portanto, a regra de entrada padrão nas regras de firewall da VPC se aplica, negando conexões de entrada.
Conexões de saída
Todas as conexões de saída destinadas a
203.0.113.1
são permitidas. O restante das conexões é negado. Todas as conexões de saída destinadas a203.0.113.1
correspondem à regradelegate-egress-my-vpc
e ignoram o restante das regras da política da organização.As conexões de saída são avaliadas em relação às regras de firewall configuradas em
myvpc
. A regra padrão permite as conexões de saída. A regrablock-egress-traffic-sepc-ports
da política no nível da organização nega o restante das conexões.
Como configurar
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"
Adicione uma regra para delegar determinadas conexõ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
Adicione uma regra para negar todas as outras conexõ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"
Associe a política de firewall à organização:
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --short-name="example-firewall-policy"
Exemplo 4: configurar regras para toda a organização e para pastas
Nesse caso de uso, um administrador de segurança não permite que conexões de entrada para
todas as VMs na organização, exceto as do intervalo adicionado a uma
lista de permissões: 203.0.113.0/24
. O administrador delega mais decisões
sobre o que fazer com as conexões de 203.0.113.0/24
para
administradores de segurança nos níveis de pasta.
Há duas pastas diferentes:
- Folder1, em que a política permite conexões apenas das portas
80
e443
nas VMs de back-end, e o restante das portas é bloqueado. - Folder2, em que a política impõe que nenhuma VM na Pasta2 pode bloquear qualquer porta de destino para o tráfego do endereço IP
203.0.113.1
. O O administrador de segurança da Folder2 delega outras decisões ao administrador de segurança da VPC, que decide abrir as portas80
,443
e22
e negar o restante das portas.
A configuração deste caso de uso é descrita no diagrama a seguir.
Política efetiva aplicada em VMs
Neste exemplo, a política de firewall da VM vigente após a avaliação das regras em toda a hierarquia é a seguinte.
Para VMs que pertencem a my-vpc
Todas as conexões de entrada de
203.0.113.0/24
com as portas de destino TCP80
e443
são permitidas. Todas as outras conexões de entrada são negadas.Todas as conexões de saída são aceitas de acordo com a regra de firewall da VPC aplicada porque não há correspondência nas regras de política de firewall de nível superior.
Para VMs que pertencem a vpc2
Todas as conexões de entrada de
203.0.113.1
são permitidas. Conexões de entrada de outras fontes203.0.113.0/24
diferentes de203.0.113.1
são permitidas apenas para as portas80
,443
e22
. Todas as outras conexões de entrada são negadas.Todas as conexões de saída são aceitas de acordo com a regra de firewall da VPC aplicada porque não há correspondência nas regras de política de firewall de nível superior.
Como configurar
Crie uma política de firewall para conter as regras para 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"
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
Adicione uma regra para negar todas as outras conexõ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
Associe a política de firewall à organização:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a"
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"
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"
Adicione uma regra para negar a entrada em todas as outras portas/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
Associe a política de firewall à Pasta1:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --folder=200000000000
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"
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
Associe a política de firewall à Pasta2:
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --folder=300000000000
Adicione uma regra de firewall para permitir a entrada de conexão HTTP(S):
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --rules=tcp:80,tcp:443,tcp:22
A seguir
- Para criar e modificar políticas e regras hierárquicas de firewall, consulte Como usar políticas hierárquicas de firewall.