Use estas instruções para configurar o Cloud IDS para a sua aplicação. Para ver informações conceptuais sobre o Cloud IDS, consulte a vista geral do Cloud IDS.
Antes de começar
Antes de configurar o Cloud IDS, tem de cumprir os seguintes requisitos.
Configure as autorizações de IAM para o Cloud IDS
O Cloud IDS tem várias funções de gestão de identidade e de acesso (IAM). Pode usar os comandos de exemplo para conceder a um principal as autorizações de IAM necessárias.
Função de administrador do Cloud IDS (
roles/ids.admin
). Os principais do projeto com esta função podem criar pontos finais do IDS. Se for proprietário de um projeto, já tem esta autorização e não precisa de uma funçãoids.admin
explícita para criar pontos finais da IDS.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/ids.admin \ --member=user:USER_NAME ;
Esta função permite as seguintes operações:
- Criar ponto final
- Eliminar ponto final
- Obter ponto final
- Ponto final de listagem
Função de visualizador do Cloud IDS (
roles/ids.viewer
). Os visualizadores de projetos e os principais com esta função têm acesso só de leitura aos pontos finais do IDS. Se for proprietário, editor ou visitante de um projeto, já tem esta autorização.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/ids.viewer \ --member=user:USER_NAME ;
Função de utilizador do espelhamento de pacotes de computação (
roles/compute.packetMirroringUser
). Uma função necessária para anexar uma política de espelhamento de pacotes ao ponto final do IDS. Se tiver a funçãocompute.securityAdmin
oucontainer.serviceAgent
, já tem esta autorização. Para mais informações sobre esta função, consulte a referência de funções básicas e predefinidas do IAM.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/compute.packetMirroringUser \ --member=user:USER_NAME ;
Função Logs Viewer (
roles/logging.viewer
). É necessária uma função adicional para ver ameaças recentes, que é uma funcionalidade essencial do Cloud IDS. Para mais informações sobre esta função, consulte o guia de controlo de acesso.gcloud projects add-iam-policy-binding PROJECT_ID \ --role=roles/logging.viewer \ --member=user:USER_NAME ;
Além disso, precisa das seguintes autorizações diversas:
compute.regions.list
compute.zones.list
Configure o acesso a serviços privados
Para criar pontos finais do IDS, tem de ativar a API Service Networking e configurar o intercâmbio de redes para a rede da nuvem privada virtual (VPC). Isto só tem de ser feito uma vez por projeto do cliente e pode ser feito através daGoogle Cloud consola ou da Google Cloud CLI. Quando atribui um intervalo de endereços IP, este tem de ser um intervalo de endereços IP privados em conformidade com a RFC 1918 (10.0.0.0/8
, 172.16.0.0/12
ou 192.168.0.0/16
). Caso contrário, a criação do ponto final falha.
Siga os passos seguintes para configurar o acesso a serviços privados:
Ative a API Service Networking através do seguinte comando. Substitua
PROJECT_ID
pelo ID do seu projeto.gcloud services enable servicenetworking.googleapis.com \ --project=PROJECT_ID
Se ainda não tiver atribuído um intervalo de endereços IP na sua rede, tem de atribuir um intervalo de IP para os serviços Google na sua rede VPC. No comando seguinte, pode omitir o campo
addresses
e Google Cloud seleciona um intervalo de endereços não utilizado na sua rede VPC:gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Substitua o seguinte:
RESERVED_RANGE_NAME
: um nome para o intervalo atribuído, comomy-allocated-range
DESCRIPTION
: uma descrição do intervalo, comoallocated for my-service
VPC_NETWORK
: o nome da sua rede VPC, comomy-vpc-network
Crie uma ligação privada a um produtor de serviços. A ligação privada estabelece uma ligação de interligação de redes VPC entre a sua rede VPC e a rede do produtor do serviço.
Se já tiver uma ligação privada existente, use o comando
gcloud services vpc-peerings update
para a atualizar:gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Se ainda não tiver uma ligação privada, use o comando
gcloud services vpc-peerings connect
. Este comando inicia uma operação de execução prolongada que devolve um nome de operação.gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Substitua o seguinte:
RESERVED_RANGE_NAME
: o nome de um ou mais intervalos atribuídosVPC_NETWORK
: o nome da sua rede VPCPROJECT_ID
: o ID do projeto que contém a sua rede VPC
Para verificar se a operação foi bem-sucedida, use o comando
gcloud services vpc-peerings operations describe
:gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
Substitua
OPERATION_NAME
pelo nome da operação que foi devolvido no passo anterior.
Repita os passos 2 e 3 para cada rede de VPC que quer monitorizar.
Opcional: ative os VPC Service Controls
Depois de ativar o acesso privado aos serviços, pode ativar opcionalmente os VPC Service Controls no Cloud IDS.
Se estiver ativado, execute o comando services vpc-peerings enable-vpc-service-controls
para ativar os VPC Service Controls para todas as suas ligações de peering:
gcloud services vpc-peerings enable-vpc-service-controls \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK \ --project=PROJECT_ID
Substitua o seguinte:
VPC_NETWORK
: o nome da sua rede VPCPROJECT_ID
: o ID do projeto que contém a sua rede VPC
Compreenda as práticas recomendadas
Recomendamos que compreenda as práticas recomendadas antes de configurar o Cloud IDS. Para mais informações, consulte o artigo Práticas recomendadas para o IDS na nuvem.
Configure pontos finais do Cloud IDS
As secções seguintes explicam como criar pontos finais do Cloud IDS, associá-los a uma política de espelhamento de pacotes, ver os pontos finais do Cloud IDS, eliminar os pontos finais do Cloud IDS e como configurar exceções de ameaças.
Crie um ponto final do Cloud IDS
Recomendamos que crie um ponto final do IDS para cada região na qual tenha implementado cargas de trabalho. Também pode criar vários pontos finais do IDS por região. Use os passos seguintes para criar um ponto final de IDS e atribuir-lhe um perfil de serviço de IDS.
Consola
Na Google Cloud consola, aceda a Pontos finais de IDS.
Aceda aos pontos finais de IDS
Configure o ponto final:
- Clique em Criar ponto final.
- Introduza um nome no campo Nome do ponto final.
- Opcional: introduza uma descrição no campo Descrição.
- Clique na lista Rede e selecione a rede que quer que o Cloud IDS inspecione.
- Escolha a região e a zona da sua rede ou sub-rede nas listas Região e Zona.
- Clique em Continuar.
Selecione o perfil de serviço do Cloud IDS:
- Clique em Selecionar perfil de serviço do IDS.
- Em Nível de gravidade da ameaça mínimo, selecione o nível de alerta correto.
- Clique em Criar. O processo de criação pode demorar 10 a 15 minutos.
gcloud
Sinalizações opcionais
Os comandos nesta secção podem ter algumas ou todas as seguintes flags opcionais:
--no-async
--filter=EXPRESSION
gcloud topic filters
.
Esta marca interage com outras marcas que são aplicadas nesta ordem:
--flatten
, --sort-by
, --filter
,
--limit
.--limit=LIMIT
--flatten
, --sort-by
, --filter
,
--limit
.--page-size=PAGE_SIZE
--filter
e --limit
, consoante o serviço.--sort-by=[FIELD,…]
~
) a um campo para ordenar esse campo por ordem descendente. Esta marca interage com outras marcas que são aplicadas nesta ordem:
--flatten
, --sort-by
, --filter
,
--limit
.--uri
--threat-exceptions
Instruções
Para criar um novo ponto final de IDS, use o comando gcloud ids endpoints create
.
gcloud ids endpoints create ENDPOINT_NAME \ --network=VPC_NETWORK \ --zone=ZONE \ --severity=SEVERITY \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
Substitua o seguinte:
ENDPOINT_NAME
: o nome ou o ID do ponto final.VPC_NETWORK
: o nome da sua rede VPC.ZONE
: a zona do ponto final.SEVERITY
: a gravidade mínima das ameaças a comunicar.A flag de gravidade é obrigatória e assume um dos seguintes valores:
INFORMATIONAL
LOW
MEDIUM
HIGH
CRITICAL
API
Os recursos de pontos finais do Cloud IDS têm os seguintes campos:
Campo | Tipo | Descrição do campo |
---|---|---|
createTime | de string | [Apenas saída] Data/hora de criação no formato de texto RFC 3339. |
updateTime | de string | [Apenas saída] Data/hora da última atualização no formato de texto RFC 3339. |
nome | de string | [Apenas saída] Nome do ponto final no formato projects/{project_id}/locations/{locationId}/endpoints/{endpointId} . |
rede | de string | Nome da rede VPC ligada ao ponto final do IDS. Pode conter o nome da rede VPC (como "src-net" ) ou o URL completo da rede
(como "projects/{project_id}/global/networks/src-net" ).
Este campo é obrigatório quando cria o ponto final. |
gravidade | de string | O nível de gravidade mínimo do alerta comunicado pelo ponto final. Os valores possíveis são os seguintes:
Este campo é obrigatório quando cria o ponto final. |
descrição | de string | Uma descrição opcional do ponto final. |
endpoint_forwarding_rule | de string | [Apenas saída] URL do endereço de rede do ponto final para o qual o tráfego vai ser enviado pela replicação de pacotes. |
ponto final | de string | [Apenas saída] Endereço IP interno do ponto de entrada de rede do ponto final. |
Para criar um ponto final do Cloud IDS, use um pedido HTTP POST, como o seguinte, substituindo as variáveis conforme adequado. O
ENDPOINT_NAME
tem de ter entre 1 e 63 carateres; tem de
conter apenas letras minúsculas, dígitos e hífenes; tem de começar com uma
letra minúscula; e não pode terminar com um hífen.
POST https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME { "network": "NETWORK_NAME", "severity": "SEVERITY_LEVEL", }
Anexe uma política de espelhamento de pacotes a um ponto final do Cloud IDS
Siga estes passos para anexar uma política de replicação de pacotes ao ponto final do IDS.
Consola
Depois de criar o ponto final de IDS, anexe uma política de espelhamento de pacotes ao ponto final de IDS:
Na Google Cloud consola, aceda a Pontos finais de IDS.
Junto ao ponto final de IDS, clique em Anexar.
No campo Nome da política, introduza um nome para a política de espelhamento de pacotes.
Clicar em Seguinte.
Escolha a sub-rede ou as instâncias a duplicar. Pode selecionar várias sub-redes e instâncias.
Clicar em Seguinte.
Determine se quer duplicar todo o tráfego ou filtrar o tráfego:
- Se quiser espelhar todo o tráfego, certifique-se de que a opção Espelhar todo o tráfego está selecionada.
- Se quiser filtrar o tráfego com base no protocolo, no intervalo de endereços IP ou no tráfego de entrada ou saída, selecione Refletir tráfego filtrado:
- Selecione Permitir todos os protocolos ou Permitir protocolos específicos.
- Selecione Permitir todos os intervalos de IP ou Permitir intervalos de IP específicos.
Clique em Enviar. O ponto final é criado.
gcloud
Depois de criar o ponto final, anexe-lhe uma política de espelhamento de pacotes. Primeiro, obtenha o URL do campo
endpoint_forwarding_rule
através do seguinte comando:gcloud ids endpoints describe ENDPOINT_NAME
Crie a política de espelhamento de pacotes com o seguinte comando:
gcloud compute packet-mirrorings create POLICY_NAME \ --region=REGION \ --collector-ilb=ENDPOINT_FORWARDING_RULE \ --network=VPC_NETWORK \ --mirrored-subnets=SUBNET
A funcionalidade Packet Mirroring tem várias flags opcionais, incluindo as que pode usar para filtrar o tráfego com base no protocolo, no intervalo de endereços IP ou no tráfego de entrada ou saída. Para mais informações sobre estas flags opcionais, consulte a referência de espelhamento de pacotes.
Descreva um ponto final do Cloud IDS
Siga estes passos para descrever um ponto final do IDS.
Consola
Na Google Cloud consola, aceda a Pontos finais de IDS.
Na página Pontos finais de IDS, clique no nome do ponto final de IDS. É apresentada a página Detalhes do ponto final.
gcloud
Para descrever um ponto final de IDS, use o comando gcloud ids endpoints describe
.
gcloud ids endpoints describe ENDPOINT_NAME \ [--project=PROJECT_ID] \ [--zone=ZONE] \ [GCLOUD_WIDE_FLAG...]
Substitua o seguinte:
ENDPOINT_NAME
: o nome ou o ID do ponto final.PROJECT_ID
: o ID do projeto.ZONE
: a zona do ponto final.
API
Para obter um ponto final do Cloud IDS, use um pedido HTTP GET
como o seguinte, substituindo as variáveis conforme adequado:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
Liste os pontos finais do Cloud IDS
Siga os passos seguintes para apresentar uma lista de todos os pontos finais da IDS.
Consola
Na Google Cloud consola, aceda a Pontos finais de IDS.
gcloud
Para apresentar uma lista de pontos finais de IDS, use o gcloud ids endpoints list
comando:
gcloud ids endpoints list \ [--filter=EXPRESSION] \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE] \ [--sort-by=[FIELD,...]] \ [--uri] \ [GCLOUD_WIDE_FLAG...]
Substitua o seguinte:
EXPRESSION
: aplique um filtro booleano a cada item de recurso a ser apresentado. Se a expressão for avaliada como Verdadeiro, esse item é apresentado.LIMIT
: o número máximo de recursos a apresentar.PAGE_SIZE
: o número máximo de recursos por página.FIELD
: uma lista separada por vírgulas de nomes de chaves de campos de recursos pelos quais ordenar.
API
Para listar todos os pontos finais do Cloud IDS numa zona, use um pedido HTTP GET
como o seguinte, substituindo as variáveis conforme adequado:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints
Em alternativa, para listar todos os pontos finais do Cloud IDS em todas as zonas, pode
substituir ZONE
por um hífen, da seguinte forma:
GET https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/-/endpoints
Elimine um ponto final do Cloud IDS
Siga estes passos para eliminar um ponto final do IDS.
Consola
Na Google Cloud consola, aceda a Pontos finais de IDS.
Na página Pontos finais de IDS, clique no nome do ponto final de IDS. É apresentada a página Detalhes do ponto final.
Clique em
Eliminar ponto final.
gcloud
Para eliminar um ponto final de IDS, use o comando gcloud ids endpoints delete
.
gcloud ids endpoints delete ENDPOINT_NAME \ [--project=PROJECT_ID] \ [--zone=ZONE] \ [--no-async] \ [GCLOUD_WIDE_FLAG...]
Substitua o seguinte:
ENDPOINT_NAME
: o nome ou o ID do ponto final.PROJECT_ID
: o ID do projeto.ZONE
: a zona do ponto final.
API
Para eliminar um ponto final do Cloud IDS, use um pedido HTTP DELETE
como o seguinte, substituindo as variáveis conforme adequado:
DELETE https://ids.googleapis.com/v1/projects/PROJECT_NAME/locations/ZONE/endpoints?endpointId=ENDPOINT_NAME
Opcional: configure exceções de ameaças
Pode desativar IDs de ameaças ruidosos ou desnecessários através da flag --threat-exceptions
quando cria ou atualiza o seu ponto final do Cloud IDS. O exemplo seguinte atualiza um ponto final do Cloud IDS existente
ENDPOINT_NAME
para excluir os IDs de ameaças
THREAT_ID1
e THREAT_ID2
:
gcloud ids endpoints update ENDPOINT_NAME \ --threat-exceptions=THREAT_ID1,THREAT_ID2
Veja registos de ameaças
Use os passos seguintes para verificar se foram gerados registos de ameaças.
Na Google Cloud consola, aceda a Ameaças de IDS.
Clique no nome de uma ameaça para ver a página Detalhes da ameaça dessa ameaça.
Regresse ao separador Ameaças.
Clique no
Menu à direita do seu ponto final do IDS e selecione Ver registos de ameaças.