Usar a proteção contra ataques de força bruta do Cloud SQL

A proteção contra força bruta é um recurso de segurança integrado que protege suas instâncias contra tentativas de acesso por força bruta, impedindo o acesso não autorizado aos recursos do Cloud SQL. As tentativas de acesso por força bruta ocorrem quando agentes mal-intencionados tentam sistematicamente combinações diferentes de nome de usuário e senha para automatizar tentativas de login repetidas e acessar seu banco de dados.

O Cloud SQL oferece as seguintes opções para proteger seus bancos de dados contra tentativas de acesso por força bruta:

  • Detecção de acesso por força bruta: o Cloud SQL monitora continuamente as tentativas de login com falha para cada instância e detecta o primeiro login bem-sucedido. Se o número de tentativas de login consecutivas exceder o limite definido pelo Cloud SQL, ele vai gerar uma mensagem de aviso nos registros da instância. Essa mensagem de registro identifica a tentativa de acesso por força bruta, incluindo o endereço IP e o nome de usuário associados.

    A detecção de acesso por força bruta está disponível para todas as edições do Cloud SQL.

  • Proteção contra acesso por força bruta: quando o Cloud SQL detecta uma tentativa de acesso por força bruta, ele diminui automaticamente as tentativas de login, adicionando um atraso à resposta de login e limitando-a em tempo real. Se o Cloud SQL identificar uma conexão como uma tentativa de acesso por força bruta e essa conexão levar a um login bem-sucedido, ele vai limitar a conexão e gerar um evento de registro para identificar esse login bem-sucedido. Esse evento de registro identifica a tentativa de acesso por força bruta, juntamente com o endereço IP e o nome de usuário associados.

    A proteção contra acesso por força bruta está disponível apenas para a edição Cloud SQL Enterprise Plus.

Ao fornecer detecção e proteção contra acesso por força bruta para suas instâncias, o Cloud SQL ajuda a identificar a origem e mitigar os riscos causados por essas tentativas de acesso por força bruta. Use os endereços IP e nomes de usuário identificados nessas tentativas de acesso por força bruta para proteger sua instância contra futuras tentativas de acesso por força bruta. Para identificar tentativas de força bruta na sua instância, consulte Ver registros de tentativas de força bruta.

Ver registros de tentativas de acesso por força bruta

Quando o Cloud SQL detecta uma tentativa de acesso por força bruta, ele registra um evento nos registros da instância, com um texto que afirma an anomaly was found. O Cloud SQL registra os seguintes eventos detalhados:

Evento Descrição
Detecção de tentativa de acesso por força bruta Tentativa de login com falha na conta user do IP IP. Uma anomalia foi encontrada, tentativas de login repetidas com falha desse IP.
Limitação automática para mitigar a tentativa de acesso por força bruta (somente na edição Enterprise Plus) Tentativa de login com falha na conta user do IP IP. Uma anomalia foi encontrada, tentativas de login repetidas com falha desse IP. O Cloud SQL limitou a resposta para mitigar uma possível tentativa de força bruta.
Detecção do primeiro login bem-sucedido após falhas de login repetidas Uma anomalia foi encontrada, login bem-sucedido na conta user do IP IP após tentativas de login repetidas com falha. Recomendamos mudar a senha do usuário se essa atividade for inesperada.
Limitação automática do primeiro login bem-sucedido após falhas de login repetidas (somente na edição Enterprise Plus) Uma anomalia foi encontrada, login bem-sucedido na conta user do IP IP após tentativas de login repetidas com falha. O Cloud SQL limitou a resposta para mitigar uma possível tentativa de força bruta. Mude a senha do usuário se essa atividade for inesperada.

Para conferir detalhes sobre essas tentativas de força bruta, consulte os registros da instância e procure por An anomaly was found no texto de cada registro.

Configurar uma política de alertas baseada em registros

É possível configurar uma política de alertas baseada em registros para receber uma notificação quando uma tentativa de acesso por força bruta for detectada ou limitada para suas instâncias do Cloud SQL. Para mais informações sobre como configurar esse alerta, consulte Configurar uma política de alertas baseada em registros usando a Análise de registros.

Por exemplo, é possível usar a seguinte consulta na política de alertas para identificar registros de tentativas de acesso por força bruta bem-sucedidas:

resource.type="cloudsql_database"
textPayload =~ "An anomaly was found, successful login into the account"

Proteger a instância

Considere proteger sua instância se tentativas de acesso por força bruta forem identificadas. Para conferir possíveis tentativas de acesso por força bruta, consulte Ver registros de tentativas de acesso por força bruta.

Se o Cloud SQL identificar uma tentativa de acesso por força bruta à sua instância, faça o seguinte:

  • Se o Cloud SQL detectar uma tentativa de acesso por força bruta, mas o login falhar, remova os endereços IP identificados das redes autorizadas para evitar futuras tentativas de login desses IPs. Para fazer isso, use intervalos de IP estreitos nas redes autorizadas da sua instância ou remova o endereço IP da lista de redes autorizadas.
  • Se o Cloud SQL detectar uma tentativa de acesso por força bruta e um login bem-sucedido resultar do endereço IP e do nome de usuário identificados, então mude a senha da conta de usuário e remova o IP da sua lista de redes autorizadas.

Além disso, também é possível usar o proxy de autenticação ou os conectores de linguagem do Cloud SQL para se conectar à instância em vez de redes autorizadas. O proxy de autenticação e os conectores de linguagem do Cloud SQL usam a autenticação do Identity and Access Management para gerenciar conexões com sua instância, o que fornece uma conexão mais segura e não exige que você adicione endereços IP específicos à lista de redes autorizadas da instância.

Para proteger ainda mais suas instâncias do Cloud SQL, use o IP particular em vez do IP público, e use a autenticação de banco de dados baseada no IAM em vez da autenticação baseada em nome de usuário e senha.

Monitorar tentativas de acesso por força bruta

Para monitorar tentativas de acesso por força bruta, o Cloud SQL conta o número de ocorrências de cada tipo de evento de conexão com sua instância usando a métrica /database/network/connection_attempt_count. Essa métrica usa os seguintes campos para determinar se uma conexão é uma tentativa de acesso por força bruta:

  • login_status: rastreia se a conexão levou a um login bem-sucedido.
  • anomaly_detected: rastreia se a conexão é uma tentativa de acesso por força bruta com base no fato de a conexão ter excedido o limite de tentativas de login definido pelo Cloud SQL.
  • anomalous_connection_throttled: rastreia se a conexão de tentativa de acesso por força bruta está limitada.

É possível monitorar essa métrica para identificar a contagem de cada tipo de evento de conexão. A tabela a seguir mostra os eventos de conexão rastreados pela métrica e os valores de campo correspondentes:

Evento Descrição
Login efetuado Um login bem-sucedido na sua instância sem tentativa de acesso por força bruta detectada. Valores de campo rastreados:
          login_status: succeeded
          anomaly_detected: none
          anomalous_connection_throttled: false
        
Falha no login Um login com falha na sua instância sem tentativa de acesso por força bruta detectada. Valores de campo rastreados:
          login_status: failed
          anomaly_detected: none
          anomalous_connection_throttled: false
        
Tentativa de login por força bruta detectada (não limitada) Uma tentativa de login com falha que é identificada como uma tentativa de acesso por força bruta pois excede o limite de tentativas de login definido pelo Cloud SQL. A conexão não foi limitada. Valores de campo rastreados:
          login_status: failed
          anomaly_detected: brute-force login
          anomalous_connection_throttled: false
        
Tentativa de login por força bruta detectada e limitada Uma tentativa de login com falha que é identificada como uma tentativa de acesso por força bruta, pois excede o limite de tentativas de login definido pelo Cloud SQL e é limitada para impedir o login. Valores de campo rastreados:
          login_status: failed
          anomaly_detected: brute-force login
          anomalous_connection_throttled: true
        
Login bem-sucedido após tentativa de acesso por força bruta detectada (não limitada) Um login bem-sucedido na sua instância depois que a conexão foi identificada como uma tentativa de acesso por força bruta. A conexão não foi limitada. Valores de campo rastreados:
          login_status: succeeded
          anomaly_detected: brute-force login
          anomalous_connection_throttled: false
        
Login bem-sucedido após tentativa de acesso por força bruta detectada e limitada Um login bem-sucedido na sua instância depois que a conexão foi identificada como uma tentativa de acesso por força bruta e limitada. Valores de campo rastreados:
          login_status: succeeded
          anomaly_detected: brute-force login
          anomalous_connection_throttled: true
        

Limitações

A seguir