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 pessoas mal-intencionadas tentam sistematicamente diferentes combinações 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 em 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, o Cloud SQL 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 reduz 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 resultar em um login bem-sucedido, o Cloud SQL 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, além do endereço IP e do 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 os nomes de usuário identificados nessas tentativas de acesso por força bruta para proteger sua instância e evitar 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 indica 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 Falha na tentativa de login na conta user pelo IP IP. Uma anomalia foi encontrada: tentativas de login com falha repetidas desse IP.
Limitação automática para mitigar tentativas de acesso por força bruta (somente na edição Enterprise Plus) Falha na tentativa de login na conta user pelo IP IP. Uma anomalia foi encontrada: tentativas repetidas de login com falha nesse 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 repetidas Uma anomalia foi encontrada: login bem-sucedido na conta user pelo IP IP após várias tentativas de login com falha. É recomendável 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 pelo IP IP após várias tentativas de login 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 ver detalhes sobre essas tentativas de força bruta, acesse os registros da instância e procure 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 com base em registros para receber notificações quando uma tentativa de acesso por força bruta for detectada ou limitada nas instâncias do Cloud SQL. Para mais informações sobre como configurar esse alerta, consulte Configurar a política de alertas com base em registros usando a Análise de registros.

Por exemplo, é possível usar a consulta a seguir na política de alertas para identificar registros de tentativas de acesso de 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, altere 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 Auth Proxy 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 IP privado em vez de IP público e use autenticação de banco de dados baseada no IAM em vez de 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: monitora se a conexão levou a um login bem-sucedido.
  • anomaly_detected: rastreia se a conexão é uma tentativa de acesso de 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 detecção de tentativa de acesso por força bruta. Valores de campo rastreados:
          login_status: succeeded
          anomaly_detected: none
          anomalous_connection_throttled: false
        
Falha no login Uma falha de login na instância sem detecção de tentativa de acesso por força bruta. Valores de campo rastreados:
          login_status: failed
          anomaly_detected: none
          anomalous_connection_throttled: false
        
Tentativa de login de força bruta detectada (não limitada) Uma tentativa de login com falha que é identificada como uma tentativa de acesso de força bruta, já que 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 de força bruta detectada e limitada Uma tentativa de login com falha que é identificada como uma tentativa de acesso de força bruta, já que 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 proteção contra força bruta requer uma versão de manutenção mínima de MYSQL_$version.R20250531.01_23. Para mais informações, consulte Realizar manutenção de autoatendimento.
  • A proteção contra força bruta está disponível apenas para o MySQL versão 5.7 e mais recentes.

A seguir