O serviço de prevenção contra invasões monitora o tráfego de cargas de trabalho do Google Cloud em busca de atividades maliciosas e toma medidas preventivas para evitá-las. Para ativar esse serviço na rede, você precisa configurar vários componentes do Cloud Next Generation Firewall. Neste tutorial, descrevemos o fluxo de trabalho completo para configurar o serviço de prevenção de invasões na sua rede.
Objetivos
Nesta seção, mostramos como concluir as seguintes tarefas:
- Criar uma rede de nuvem privada virtual (VPC) com duas sub-redes.
- Criar uma instância de máquina virtual (VM) de servidor na primeira sub-rede da rede VPC e instale o servidor Apache na VM.
- Criar uma instância de VM do cliente na segunda sub-rede da rede VPC.
- Criar um perfil de segurança e um grupo de perfis de segurança.
- Criar um endpoint de firewall para associá-lo à rede VPC.
- Adicionar uma política de firewall de rede global com as seguintes regras de firewall:
- Uma regra de firewall para ativar o acesso do Identity-Aware Proxy (IAP) às instâncias da VM na rede VPC.
- Uma regra de firewall que direcione todo o tráfego de entrada para a inspeção da camada 7.
- Verificar se o tráfego malicioso para a instância de VM do servidor está bloqueado.
- Limpar os recursos.
O diagrama a seguir mostra a arquitetura de alto nível da configuração de implantação
neste tutorial. A política de firewall fw-policy-ips
na VPC
vpc-ips
redireciona o tráfego de entrada para o endpoint de firewall na zona
asia-southeast1-a
: O endpoint de firewall endpoint-ips
inspeciona o tráfego
a procura de ameaças. Se uma ameaça é detectada, ele aplica as ações preventivas
usando as instruções especificadas no perfil de segurança sec-profile-ips
.
Custos
Há um custo associado à criação dos endpoints de firewall. Para mais detalhes sobre preços, consulte Preços do Cloud Next Generation Firewall.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Ative a API Compute Engine no projeto.
- Ative a API Network Security no projeto.
- Ative a API Identity-Aware Proxy no projeto.
- Tenha o papel do IAM Administrador de rede do Compute (
roles/compute.networkAdmin
) na sua organização. - Se você preferir trabalhar na linha de comando, instale a CLI do Google Cloud.
Veja informações
de conceitos e instalação sobre a ferramenta em
Visão geral da gcloud CLI.
Observação: se você ainda não executou a gcloud CLI, primeiro execute
gcloud init
para inicializar o diretório gcloud CLI.
Criar uma rede VPC personalizada com sub-redes
Nesta seção, você vai criar uma rede VPC de modo personalizado com duas sub-redes IPv4.
Console
No Console do Google Cloud, acesse a página Redes VPC.
Clique em Criar rede VPC.
Em Nome, insira
vpc-ips
.Em Descrição, insira
VPC network to set up intrusion prevention service
.Em Modo de criação da sub-rede, selecione Personalizado.
Na seção Nova sub-rede, especifique os parâmetros de configuração a seguir para uma sub-rede:
- Name:
subnet-ips-server
- Região:
asia-southeast1
- Intervalo IPv4:
10.0.0.0/24
- Name:
Clique em Concluído.
Clique em Adicionar sub-rede e especifique os seguintes parâmetros de configuração:
- Name:
subnet-ips-client
- Região:
us-central1
- Intervalo IPv4:
192.168.10.0/24
- Name:
Clique em Concluído.
Clique em Criar.
gcloud
Para criar uma rede VPC, execute o seguinte comando:
gcloud compute networks create vpc-ips \ --subnet-mode custom \ --description "VPC network to set up intrusion prevention service."
Na caixa de diálogo Autorizar o Cloud Shell, clique em Autorizar.
Para criar uma sub-rede, execute o comando a seguir.
gcloud compute networks subnets create subnet-server-ips \ --network vpc-ips \ --region asia-southeast1 \ --range 10.0.0.0/24
Para criar outra sub-rede, execute o seguinte comando:
gcloud compute networks subnets create subnet-client-ips \ --network vpc-ips \ --region us-central1 \ --range 192.168.10.0/24
Criar instâncias de VM
Nesta seção, você vai criar instâncias de VM do servidor e do cliente.
Criar a instância de VM do servidor
Nesta seção, você cria uma instância de VM na sub-rede subnet-server-ips
e
e instalar o servidor Apache.
Console
No console do Google Cloud, acesse a página Criar uma instância.
Em Nome, insira
vm-server-ips
.Em Região, selecione
asia-southeast1 (Singapore)
.Em Zona, selecione
asia-southeast1-a
.Na seção Disco de inicialização, selecione Alterar e, em seguida, para acessar o sistema operacional, selecione Debian.
Clique em Selecionar.
Expanda Opções avançadas e depois Rede.
Na seção Interfaces de rede, especifique os seguintes parâmetros de configuração:
- Rede:
vpc-ips
- Sub-rede:
subnet-server-ips IPv4 (10.0.0.0/24)
- Rede:
Clique em Concluído.
Expanda a seção Gerenciamento.
Na seção Automação, adicione o seguinte script de inicialização:
#! /bin/bash apt update apt -y install apache2 cat <<EOF > /var/www/html/index.html <html><body><p>Hello world.</p></body></html> EOF
Clique em Criar.
Anote o endereço IP externo da VM do servidor depois que ela for criada.
gcloud
Para criar a VM do servidor, execute o seguinte comando:
gcloud compute instances create vm-server-ips \ --network vpc-ips \ --zone asia-southeast1-a \ --subnet subnet-server-ips \ --stack-type IPV4_ONLY \ --image-project debian-cloud \ --image-family debian-11 \ --metadata=startup-script='#! /bin/bash apt update apt -y install apache2 cat <<EOF > /var/www/html/index.html <html><body><p>Hello World.</p></body></html> EOF'
Anote o endereço IP externo da VM no status retornado.
Criar a instância de VM do cliente
Nesta seção, você criará uma instância de VM na sub-rede subnet-client-ips
.
Console
No console do Google Cloud, acesse a página Criar uma instância.
Em Nome, insira
vm-client-ips
.Em Região, selecione
us-central1
.Em Zona, selecione
us-central1-a
.Expanda Opções avançadas e depois Rede.
Na seção Interfaces de rede, especifique os seguintes parâmetros de configuração:
- Rede:
vpc-ips
- Sub-rede:
subnet-client-ips IPv4 (192.168.10.0/24)
- Rede:
Clique em Concluído.
Clique em Criar.
gcloud
Para criar a VM, execute o seguinte comando:
gcloud compute instances create vm-client-ips \ --network vpc-ips \ --zone us-central1-a \ --subnet subnet-client-ips \ --stack-type IPV4_ONLY
Criar um perfil de segurança
Nesta seção, você vai criar um perfil de segurança do tipo threat-prevention
em
em toda a organização. Para acessar as permissões necessárias para criar um projeto,
consulte Permissões necessárias para esta tarefa.
Console
No Console do Google Cloud, acesse a página Perfis de segurança.
No menu do seletor de projetos, selecione sua organização.
Selecione a guia Perfis de segurança.
Clique em Create profile.
Em Nome, insira
sec-profile-ips
.Em Descrição, insira
Security profile to set up intrusion prevention service
.Clique em Continuar.
Clique em Criar.
gcloud
Para criar um perfil de segurança, execute o seguinte comando:
gcloud network-security security-profiles \ threat-prevention \ create sec-profile-ips \ --organization ORGANIZATION_ID \ --location global \ --project PROJECT_ID \ --description "Security profile to set up intrusion prevention service."
Substitua:
ORGANIZATION_ID
: a organização em que o perfil de segurança é criado.PROJECT_ID
: um ID do projeto a ser usado para cotas e restrições de acesso no perfil de segurança.
Criar um grupo de perfis de segurança
Nesta seção, você vai criar um grupo de perfis de segurança para incluir o perfil que você criou na seção anterior. Para acessar as permissões necessárias para criar um grupo de perfis de segurança, consulte Permissões necessárias para esta tarefa.
Console
No Console do Google Cloud, acesse a página Perfis de segurança.
No menu do seletor de projetos, selecione sua organização.
Selecione a guia Grupos de perfis de segurança.
Clique em Criar grupo de perfis.
Em Nome, insira
sec-profile-group-ips
.Em Descrição, insira
Security profile group to set up intrusion prevention service
.Na lista Perfil de prevenção de ameaças, selecione
sec-profile-ips
.Clique em Criar.
gcloud
Para criar um grupo de perfis de segurança, execute o seguinte comando:
gcloud network-security security-profile-groups \ create sec-profile-group-ips \ --organization ORGANIZATION_ID \ --location global \ --project PROJECT_ID \ --threat-prevention-profile \ organizations/ORGANIZATION_ID/locations/global/securityProfiles/sec-profile-ips \ --description "Security profile group to set up intrusion prevention service."
Substitua:
ORGANIZATION_ID
: a organização em que o grupo de perfis de segurança foi criado.PROJECT_ID
: um ID do projeto a ser usado para cotas e restrições de acesso no grupo de perfis de segurança.
Criar um endpoint de firewall
Nesta seção, você vai criar um endpoint de firewall em uma zona específica. Para visualizar as permissões necessárias para criar um endpoint de firewall, consulte Permissões necessárias para esta tarefa.
Observação: quando você cria um endpoint de firewall, o estado do
endpoint do firewall será definido como Creating
. Depois que o endpoint de firewall estiver
pronto, o estado mudará para Active
.
Console
No Console do Google Cloud, acesse a página Endpoints de firewall.
No menu do seletor de projetos, selecione sua organização.
Clique em Criar.
Na lista Região, selecione
asia-southeast1 (Singapore)
.Na lista Zona, selecione
asia-southeast1-a
.Em Nome, insira
endpoint-ips
.Clique em Criar.
gcloud
Para criar um endpoint de firewall, execute o seguinte comando:
gcloud network-security firewall-endpoints \ create endpoint-ips \ --organization ORGANIZATION_ID \ --zone asia-southeast1-a \ --billing-project PROJECT_ID
Substitua:
ORGANIZATION_ID
: o identificador da organização em que o endpoint de firewall foi criado.PROJECT_ID
: um ID do projeto a ser usado para o faturamento do endpoint de firewall.
Criar uma associação de endpoint de firewall
Nesta seção, você vai associar o endpoint de firewall à rede VPC criado na etapa anterior.
Console
No Console do Google Cloud, acesse a página Redes VPC.
Clique na rede
vpc-ips
para mostrar a página Detalhes da rede VPC.Selecione a guia Endpoint do firewall.
Clique em Adicionar associação de endpoints.
Na lista Região, selecione
asia-southeast1
.Na lista Zona, selecione
asia-southeast1-a
.Na lista Endpoint de firewall, selecione
endpoint-ips
.Clique em Criar.
gcloud
Para criar uma associação de endpoint de firewall, execute o seguinte comando:
gcloud network-security firewall-endpoint-associations \ create endpoint-association-ips \ --endpoint organizations/ORGANIZATION_ID/locations/asia-southeast1-a/firewallEndpoints/endpoint-ips \ --network vpc-ips \ --zone asia-southeast1-a \ --project PROJECT_ID
Substitua:
ORGANIZATION_ID
: o identificador da organização em que o endpoint de firewall foi criado.PROJECT_ID
: um ID do projeto em que a associação é criada.
Criar uma política de firewall de rede global
Nesta seção, você vai criar uma política de firewall de rede global com as duas regras de firewall a seguir:
- Uma regra de firewall de entrada com prioridade
100
para permitir o tráfego TCP para as portas3389
e22
. Essa regra permite o acesso do IAP às instâncias de VM na rede VPC. - Uma regra de firewall de entrada com prioridade
200
para realizar a inspeção na camada 7 sobre o tráfego de entrada para a VM do servidor em uma zona específica.
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Na lista do seletor de projetos, selecione seu projeto na organização.
Clique em Criar política de firewall.
Em Nome, insira
fw-policy-ips
.Em Escopo da implantação, selecione Global.
Clique em Continuar e em Adicionar regra.
No campo Prioridade, digite
100
.Em Registros, selecione Ativado.
Em Direção de tráfego, selecione Entrada.
Em Ação se houver correspondência, selecione Permitir.
No filtro Origem, selecione IPv4 e, em seguida, no campo Intervalo de IP, insira
35.235.240.0/20
.Na seção Protocolos e portas, selecione Portas e protocolos especificados.
Selecione TCP e, em Portas, insira
22,3389
.Clique em Criar.
Clique em Adicionar regra.
No campo Prioridade, digite
200
.Em Registros, selecione Ativado.
Em Direção de tráfego, selecione Entrada.
Em Ação se houver correspondência, selecione Prosseguir para a inspeção L7.
Na lista Grupo de perfis de segurança, selecione
sec-profile-group-ips
.No filtro Destino, selecione IPv4 e, em seguida, em Intervalo de IP. digite o endereço IP externo da VM do servidor que você criou na seção Criar as instâncias de VM do servidor.
Clique em Criar.
Clique em Continuar.
Clique em Associar política às redes VPC.
Selecione a rede
vpc-ips
.Clique em Associar.
Clique em Criar.
gcloud
Para criar uma política de firewall de rede global, execute o seguinte comando:
gcloud compute network-firewall-policies \ create fw-policy-ips \ --global \ --project PROJECT_ID
Substitua:
PROJECT_ID
: um ID do projeto em que a política de firewall de rede global do Compute Engine é criada.
Para adicionar a regra de firewall que ativa o acesso ao IAP, execute o seguinte comando:
gcloud compute network-firewall-policies rules create 100 \ --firewall-policy fw-policy-ips \ --direction INGRESS \ --action ALLOW \ --src-ip-ranges 35.235.240.0/20 \ --layer4-configs tcp:22, tcp:3389 \ --global-firewall-policy \ --enable-logging
Para adicionar a regra de firewall para ativar a inspeção na camada 7 para prevenção de ameaças e detecção do dispositivo, execute o seguinte comando:
gcloud compute network-firewall-policies rules create 200 \ --direction INGRESS \ --firewall-policy fw-policy-ips \ --action apply_security_profile_group \ --dest-ip-ranges SERVER_VM_IP \ --layer4-configs tcp:0-65535 \ --global-firewall-policy \ --security-profile-group \ //networksecurity.googleapis.com/organizations/ORGANIZATION_ID \ /locations/global/securityProfileGroups/sec-profile-group-ips \ --enable-logging
Substitua:
SERVER_VM_IP
: o endereço IP externo da VM do servidor criado na seção Criar as instâncias de VM do servidor.ORGANIZATION_ID
: a organização em que o grupo de perfis de segurança foi criado.
Para associar a política de firewall à rede VPC, execute o seguinte comando:
gcloud compute network-firewall-policies associations create \ --firewall-policy fw-policy-ips \ --network vpc-ips \ --name fw-pol-association-ips \ --global-firewall-policy \ --project PROJECT_ID
Substitua:
PROJECT_ID
: o ID do projeto em que a associação de VPC é criada.
Testar a configuração
Nesta seção, você vai testar a configuração gerando tráfego que é interceptado pelo endpoint, e a política de firewall de rede global é aplicada para realizar a inspeção da camada 7.
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Na coluna IP externo da VM
vm-server-ips
, copie o endereço IP externo da VM.Na coluna Conectar da VM
vm-client-ips
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser estabelecida.
Para verificar se uma solicitação que não é uma ameaça não está bloqueada, execute o seguinte comando:
curl EXTERNAL_IP -m 2
Substitua
EXTERNAL_IP
pelo IP externo da VMvm-server-ips
.A mensagem da resposta esperada é esta:
<!doctype html><html><body><h1>Hello World!</h1></body></html>
Para verificar se uma solicitação maliciosa está bloqueada, execute o seguinte comando. Esse comando envia uma solicitação para acessar o arquivo de senha, que é proibido.
curl -m 2 EXTERNAL_IP:80/cgi-bin/../../../../bin/cat%20/etc/passwd/
Substitua
EXTERNAL_IP
pelo IP externo da VMvm-server-ips
.Uma mensagem
Connection timed out
é esperada porque o endpoint do firewall detecta a ameaça na solicitação e bloqueia o pacote.Feche a caixa de diálogo SSH no navegador.
gcloud
Para se conectar à VM
vm-client-ips
, execute este comando:gcloud compute ssh vm-client-ips \ --zone=us-central1-a \ --tunnel-through-iap
Quando solicitado, pressione Y para confirmar e depois Enter.
Para verificar se uma solicitação que não é uma ameaça não está bloqueada, execute o seguinte comando:
curl EXTERNAL_IP -m 2
Substitua
EXTERNAL_IP
pelo IP externo da VMvm-server-ips
.A mensagem da resposta esperada é esta:
<!doctype html><html><body><h1>Hello World!</h1></body></html>
Para verificar se uma solicitação maliciosa está bloqueada, execute o seguinte comando:
curl -m 2 EXTERNAL_IP:80/cgi-bin/../../../../bin/cat%20/etc/passwd/
Substitua
EXTERNAL_IP
pelo IP externo da VMvm-server-ips
.Uma mensagem
Connection timed out
é esperada porque o endpoint do firewall detecta a ameaça na solicitação e bloqueia o pacote.Para fechar o SSH no navegador, digite
exit
.
Consultar os registros de ameaças
No Console do Google Cloud, acesse a página Ameaças.
Se necessário, selecione seu projeto do Google Cloud.
Na seção Ameaça, é possível conferir a entrada de registro da ameaça detectada na rede
vpc-ips
.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Nesta seção, você vai excluir os recursos criados neste tutorial.
Excluir a associação de endpoint de firewall
Console
No Console do Google Cloud, acesse a página Redes VPC.
Clique na rede
vpc-ips
para mostrar a página Detalhes da rede VPC.Selecione a guia Endpoint do firewall. A guia mostra uma lista de associações de endpoints de firewall configurados.
Marque a caixa de seleção ao lado de
endpoint-ips
e clique em Excluir.Clique em Excluir novamente para confirmar.
gcloud
Para excluir a associação de endpoint de firewall, execute o seguinte comando: sim,
gcloud network-security firewall-endpoint-association
delete endpoint-ips
--zone asia-southeast1-a
Excluir o endpoint de firewall
Console
No Console do Google Cloud, acesse a página Endpoints de firewall.
Selecione
endpoint-ips
e clique em Excluir.Clique em Excluir novamente para confirmar.
gcloud
Para excluir o endpoint do firewall, execute os seguintes comandos:
gcloud network-security firewall-endpoints delete endpoint-ips \ --organization ORGANIZATION_ID \ --zone asia-southeast1-a
Substitua:
ORGANIZATION_ID
: a organização em que o endpoint está ativado.
Excluir a política de endpoint de firewall de rede global
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
No menu do seletor de projetos, selecione o projeto que contém a política.
Clique em
fw-policy-ips
.Clique na guia Associações.
Selecione todas as associações.
Clique em Remover associações.
Depois que todas as associações forem removidas, clique em Excluir.
gcloud
Para remover a associação entre a política de firewall e a rede VPC, execute o seguinte comando:
gcloud compute network-firewall-policies associations delete \ --name fw-pol-association-ips \ --firewall-policy fw-policy-ips \ --global-firewall-policy
Exclua a política de firewall.
gcloud compute network-firewall-policies delete fw-policy-ips --global
Quando solicitado, pressione Y para confirmar e depois Enter.
Excluir o grupo de perfis de segurança
Console
No Console do Google Cloud, acesse a página Perfis de segurança.
Selecione a guia Grupos de perfis de segurança.
Selecione
sec-profile-group-ips
e clique em Excluir.Clique em Excluir novamente para confirmar.
gcloud
Para excluir o grupo de perfis de segurança, execute o seguinte comando:
gcloud network-security security-profile-groups \ delete sec-profile-group-ips \ --organization ORGANIZATION_ID \ --location global
Substitua:
ORGANIZATION_ID
: a organização em que o grupo de perfis de segurança foi criado.
Excluir o perfil de segurança
Console
No Console do Google Cloud, acesse a página Perfis de segurança.
Selecione a guia Perfis de segurança. A guia mostra uma lista de perfis de segurança configurados.
Selecione
sec-profile-ips
e clique em Excluir.Clique em Excluir novamente para confirmar.
gcloud
Para excluir o perfil de segurança, execute o seguinte comando:
gcloud network-security security-profiles threat-prevention \ delete sec-profile-ips \ --organization ORGANIZATION_ID \ --location global
Substitua:
ORGANIZATION_ID
: a organização em que o perfil de segurança é criado.
Excluir as VMs
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Marque as caixas de seleção das VMs
vm-client-ips
evm-server-ips
.Clique em Excluir.
Na caixa de diálogo Excluir 2 instâncias?, clique em Excluir.
gcloud
Para excluir a VM
vm-client-ips
, execute o seguinte comando:gcloud compute instances delete vm-client-ips \ --zone us-central1-a
Quando solicitado, pressione Y para confirmar e depois Enter.
Para excluir a VM
vm-server-ips
, execute o seguinte comando:gcloud compute instances delete vm-server-ips \ --zone asia-southeast1-a
Quando solicitado, pressione Y para confirmar e depois Enter.
Excluir a rede VPC e as sub-redes dela
Console
No Console do Google Cloud, acesse a página Redes VPC.
Na coluna Nome, clique em
vpc-ips
.Clique em Excluir rede VPC.
Na caixa de diálogo Excluir uma rede, clique em Excluir.
Quando você exclui uma VPC, as sub-redes dela também são excluídas.
gcloud
Para excluir a sub-rede
subnet-ips-client
da rede VPCvpc-ips
, execute o seguinte comando:gcloud compute networks subnets delete subnet-ips-client \ --region us-central1
Quando solicitado, pressione Y para confirmar e depois Enter.
Para excluir a sub-rede
subnet-ips-server
da rede VPCvpc-ips
, execute o seguinte comando:gcloud compute networks subnets delete subnet-ips-server \ --region=asia-southeast1
Quando solicitado, pressione Y para confirmar e depois Enter.
Para excluir a rede VPC
vpc-ips
, execute o seguinte comando:gcloud compute networks delete vpc-ips
A seguir
- Para informações de conceitos do serviço de prevenção de invasões, consulte Visão geral do serviço de prevenção de invasões.
- Para informações conceituais sobre políticas de firewall, consulte este link.
- Para informações conceituais sobre as regras da política de firewall, consulte este link.
- Para determinar os custos, consulte Preços do Cloud NGFW.