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.