Monitorar a segurança de aplicativos

O Google Cloud tem recursos avançados de segurança integrados em todos os níveis, que funcionam separadamente e em conjunto, para proteger você contra problemas de segurança, incluindo a segurança de plataformas e aplicativos. No entanto, com uma defesa em profundidade como essa, nem sempre é fácil escolher quais recursos podem beneficiar um aplicativo específico ou avaliar como as políticas de segurança estão funcionando no ambiente de execução. Para ajudar você com isso, o painel de segurança do Anthos oferece uma visão rápida dos recursos de segurança atuais dos seus aplicativos. Além disso, ele também conta com uma visão mais detalhada da auditoria de políticas que mostra onde é possível modificar as configurações ou cargas de trabalho para melhorar a condição de segurança.

Neste documento, os operadores de plataforma e aplicativos têm uma visão geral do monitoramento de segurança de aplicativos do Anthos. Para saber mais sobre cada recurso de segurança e o monitoramento dele, siga os links para as documentações de recursos em E agora?

No momento, o painel de segurança do Anthos monitora clusters no Google Cloud, VMware e bare metal.

Funções exigidas

Para ter as permissões necessárias para visualizar e auditar a Segurança para aplicativos, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

  • roles/monitoring.viewer (Monitoring Viewer)
  • roles/logging.viewer (Logs Viewer)
  • roles/serviceusage.serviceUsageViewer (Service Usage Viewer)
  • roles/servicesecurityinsights.securityInsightsViewer (Security Insights Viewer)

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esses papéis predefinidos contêm as permissões necessárias para visualizar e auditar a Segurança para aplicativos. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para visualizar e auditar a segurança do aplicativo:

  • resourcemanager.projects.get
  • opsconfigmonitoring.resourceMetadata.list
  • serviceusage.services.list
  • servicesecurityinsights.projectStates.get
  • Para ter uma visão geral da segurança do aplicativo:
    • logging.logEntries.list
    • servicesecurityinsights.clusterSecurityInfo.list
  • Para auditar o status atual de todos os recursos de segurança monitorados, faça o seguinte:
    • servicesecurityinsights.clusterSecurityInfo.list
    • servicesecurityinsights.securityViews.get
    • servicesecurityinsights.securityInfo.list
    • servicesecurityinsights.workloadPolicies.list
  • Para ver os detalhes de segurança da carga de trabalho:
    • monitoring.timeSeries.list
    • logging.logEntries.list
    • servicesecurityinsights.clusterSecurityInfo.get
    • servicesecurityinsights.workloadSecurityInfo.get
    • servicesecurityinsights.securityViews.get
    • servicesecurityinsights.workloadPolicies.list

Talvez você também consiga receber essas permissões com papéis personalizados ou outros papéis predefinidos.

Clusters suportados

O painel de segurança do Anthos oferece suporte aos seguintes tipos de cluster:

  • Clusters do GKE no Google Cloud
  • GKE no VMware
  • GKE em bare metal

Para monitorar a segurança em clusters de Vmware e bare metal, é preciso ativar a geração de registros e o monitoramento de aplicativos. Para fazer isso, siga as instruções nas documentações do GKE no VMware e do GKE em Bare Metal.

Acessar a visão geral de segurança do seu aplicativo

Para ver o painel de segurança do Anthos no console do Google Cloud:

Por padrão, a guia Resumo da política é exibida, mostrando o status dos recursos de segurança do aplicativo Anthos no seu projeto, incluindo links para saber mais e ativar recursos. Os recursos estão listados em dois títulos: Controle de acesso e Autenticação.

Captura de tela da visualização do resumo da política

Controle de acesso

Nesta seção, mostraremos o status dos recursos selecionados de autorização do Anthos. São eles:

  • Autorização binária, que garante que apenas imagens confiáveis sejam implantadas nos clusters.
  • Política de rede do Kubernetes, que permite especificar os pods que têm permissão para se comunicar uns com os outros e com outros endpoints da rede.
  • Controle de acesso ao serviço do Anthos Service Mesh, que permite configurar um controle de acesso refinado para os serviços da malha com base em contas de serviço e contextos de solicitação.

É possível clicar para ativar (ou descobrir como ativar) quaisquer recursos que não estejam ativados no seu projeto.

Nos recursos que estão ativados, é possível ver o status atual do recurso e clicar para ver mais detalhes sobre o Período selecionado, incluindo ações que foram negadas com base em políticas de controle de acesso e outros eventos de interesse. Por exemplo, neste projeto, três implantações foram bloqueadas em um cluster na hora anterior como resultado das políticas de autorização binária:

Captura de tela dos detalhes de segurança da autorização binária

Authentication

Nesta seção, mostramos o status dos recursos de autenticação do Anthos. Atualmente, essa visualização mostra se você criou uma política para aplicar o TLS mútuo (mTLS) em cada cluster em que o Anthos Service Mesh está sendo usado. mTLS é um protocolo de segurança destinado a garantir que o tráfego seja seguro e confiável em ambas as direções entre dois serviços.

Isso mostra apenas se a malha de serviço tem uma política mTLS. Para ver se ela está protegendo seu tráfego e se o tráfego não criptografado é permitido na sua malha no ambiente de execução, acesse a visualização mais detalhada da Auditoria de políticas, conforme descrito na próxima seção.

Auditar a segurança para aplicativos

Na visualização de auditoria é possível ter uma avaliação mais detalhada do ambiente de execução das condições de segurança atual do aplicativo, cluster por cluster. Para alternar para a visualização de auditoria:

  1. Selecione a guia Auditoria de políticas.
  2. Selecione o Cluster e (opcionalmente) o Namespace que você quer monitorar nas listas suspensas.

Como na visualização resumida, é possível ver o status atual de todos os recursos de segurança monitorados. Para mTLS, você também vê se as políticas permitem tráfego não criptografado na malha de serviço nesse cluster. Isso pode acontecer se você ativar o mTLS em qualquer lugar no modo permissive, o que permite o recebimento de tráfego mTLS e de texto simples pelos serviços. Isso é útil para evitar interrupções inesperadas no serviço enquanto você está migrando para o modo mTLS strict, mas você precisará fazer a atualização se quiser criptografia de ponta a ponta na malha.

A lista de Cargas de trabalho permite que você veja como os recursos de segurança operam no nível da carga de trabalho. Para cada carga de trabalho, é possível ver:

  • Se há políticas de rede do Kubernetes aplicadas
  • As políticas de controle de acesso ao serviço do Anthos Service Mesh que se aplicam à carga de trabalho
  • A política mTLS do Anthos Service Mesh que se aplica à carga de trabalho: Permissive (o padrão se você não tiver criado políticas explícitas que se aplicam à carga de trabalho), Disable ou Strict

Ver detalhes da segurança da carga de trabalho

Selecione as cargas de trabalho individuais na lista de Cargas de trabalho da visualização de auditoria para ver mais detalhes sobre a segurança delas. Para cada uma das cargas de trabalho, é possível ver as seguintes informações:

  • Quando aplicável, há um link para ver a definição da política específica de cada recurso de segurança para aplicativo que se aplica à carga de trabalho.

Captura de tela do link para uma política de rede

  • Detalhes gerais da carga de trabalho, incluindo nome, cluster e serviço relacionado.
  • Solicitações de serviço de entrada e saída dessa carga de trabalho, incluindo se alguma solicitação foi negada pelas políticas. Se uma solicitação for negada, será possível detalhar a visualização dos registros relevantes no Cloud Logging. Isso ajudará a resolver negações específicas e encontrar informações mais úteis sobre a solicitação.

Captura de tela das solicitações de serviço para e de uma carga de trabalho

  • Solicitações de políticas de rede para e dessa carga de trabalho se a geração de registros da política de rede do Dataplane V2 estiver ativada no cluster. Saiba mais sobre como ver as informações da política de rede e entender como isso afeta a carga de trabalho na próxima seção.
  • Pods em execução gerenciados por essa carga de trabalho.

Veja a conectividade da carga de trabalho com o Dataplane V2

Se o cluster que contém a carga de trabalho tiver o Dataplane V2 ativado, a seção Solicitações de políticas de rede será exibida como parte da visualização da carga de trabalho. Se a geração de registros da política de rede estiver configurada para registrar conexões permitidas e negadas, o tráfego de entrada e saída da sua carga de trabalho também será mostrado, como no exemplo a seguir.

Captura de tela de solicitações de políticas de rede de e para uma carga de trabalho

Veja na tabela mais informações sobre as conexões registradas pela geração de registros da política de rede do Dataplane V2. Para ver essas informações sobre uma carga de trabalho específica:

  1. Clique no menu mais ações na linha da tabela da carga de trabalho em que você tem interesse.
  2. No menu, selecione as informações adicionais que você quer ver.
    • Selecione Visualizar no GKE para navegar até a IU do GKE, para saber mais sobre a carga de trabalho.
    • Selecione Ver registros de negação para acessar o Cloud Logging filtrado para as entradas de registro relevantes.
    • Selecione Visualizar a conectividade da política de rede para ver um diagrama de conectividade que mostra a postura de segurança observada para cada direção da conexão (saída e entrada). Veja um exemplo abaixo.

Captura de tela da conectividade da política de rede

Simular conexão entre cargas de trabalho com base nas políticas de rede implantadas

Se o cluster que contém a carga de trabalho tiver a Aplicação da política de rede ativada, o botão Simular política de rede será exibido na parte superior da página de visualização da carga de trabalho. Com esse recurso, é possível simular se a carga de trabalho que está sendo visualizada pode enviar ou receber tráfego com base em uma análise de configuração das políticas de rede atualmente implantadas.

Para simular a conexão entre suas cargas de trabalho:

  1. Clique no botão Simular política de rede da carga de trabalho para testar o tráfego.
  2. Selecione a direção do tráfego (entrada ou saída) da carga de trabalho.
  3. Selecione o namespace e a carga de trabalho para e de onde você quer testar o tráfego.
  4. Clique em Simular. Um diagrama de conectividade será exibido mostrando o status da saída e da entrada da conexão. O diagrama mostrado é semelhante ao usado ao visualizar a conectividade da carga de trabalho com o Dataplane V2.

Veja abaixo um exemplo de como simular a conexão da política de rede:

Captura de tela da simulação da política de rede

A seguir