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 proteção contra força bruta requer uma versão mínima de manutenção de
POSTGRES_$version.R20250727.00_14. Para mais informações, consulte Realizar manutenção de autoatendimento. - A proteção contra força bruta está disponível apenas para tentativas de conexão direta, e não se aplica a conexões que usam o proxy de autenticação do Cloud SQL ou os conectores de linguagem do Cloud SQL. Essas conexões usam permissões do IAM, que oferecem mais proteções do que conexões que exigem um nome de usuário e uma senha.