Usa la protección contra ataques de fuerza bruta de Cloud SQL

La protección contra ataques de fuerza bruta es una función de seguridad integrada que protege tus instancias de los intentos de acceso por fuerza bruta, ya que evita el acceso no autorizado a tus recursos de Cloud SQL. Los intentos de acceso de fuerza bruta ocurren cuando los agentes maliciosos prueban de forma sistemática diferentes combinaciones de nombres de usuario y contraseñas para automatizar los intentos de acceso repetidos y obtener acceso a tu base de datos.

Cloud SQL proporciona las siguientes opciones para proteger tus bases de datos contra intentos de acceso de fuerza bruta:

  • Detección de acceso por fuerza bruta: Cloud SQL supervisa de forma continua los intentos de acceso fallidos para cada instancia y detecta el primer acceso correcto. Si la cantidad de intentos de acceso consecutivos supera el umbral definido por Cloud SQL, Cloud SQL genera un mensaje de advertencia en los registros de la instancia. Este mensaje de registro identifica el intento de acceso por fuerza bruta, incluidas la dirección IP y el nombre de usuario asociados.

    La detección de acceso por fuerza bruta está disponible para todas las ediciones de Cloud SQL.

  • Protección contra el acceso por fuerza bruta: Cuando Cloud SQL detecta un intento de acceso por fuerza bruta, ralentiza automáticamente los intentos de acceso agregando un retraso a la respuesta de acceso y limitándola en tiempo real. Si Cloud SQL identifica una conexión como un intento de acceso de fuerza bruta y esa conexión genera un acceso correcto, Cloud SQL la limita y genera un evento de registro para identificar este acceso correcto. Este evento de registro identifica el intento de acceso por fuerza bruta, junto con la dirección IP y el nombre de usuario asociados.

    La protección contra el acceso por fuerza bruta solo está disponible para la edición Enterprise Plus de Cloud SQL.

Cloud SQL proporciona detección y protección contra accesos por fuerza bruta para tus instancias, lo que ayuda a identificar el origen de estos intentos de acceso por fuerza bruta y mitigar los riesgos que causan. Usa las direcciones IP y los nombres de usuario identificados en estos intentos de acceso de fuerza bruta para proteger tu instancia y evitar futuros intentos de acceso de fuerza bruta. Para identificar los intentos de fuerza bruta en tu instancia, consulta Visualiza los registros de los intentos de fuerza bruta.

Visualizar registros de intentos de acceso de fuerza bruta

Cuando Cloud SQL detecta un intento de acceso por fuerza bruta, registra un evento en los registros de la instancia, con un texto que indica an anomaly was found. Cloud SQL registra los siguientes eventos detallados:

Evento Descripción
Detección de un intento de acceso de fuerza bruta Se produjo un intento de acceso fallido a la cuenta user desde la IP IP. Se encontró una anomalía: intentos de acceso fallidos repetidos desde esta IP.
Limitación automática para mitigar los intentos de acceso de fuerza bruta (solo en la edición Enterprise Plus) Se produjo un intento de acceso fallido a la cuenta user desde la IP IP. Se encontró una anomalía: intentos de acceso fallidos repetidos desde esta IP. Cloud SQL limitó la respuesta para mitigar un posible intento de fuerza bruta.
Detección del primer acceso exitoso después de varios intentos fallidos Se detectó una anomalía: se accedió correctamente a la cuenta user desde la IP IP después de varios intentos de acceso fallidos. Se recomienda cambiar la contraseña del usuario si esta actividad es inesperada.
Limitación automática del primer acceso correcto después de varios intentos fallidos (solo en la edición Enterprise Plus) Se encontró una anomalía: acceso correcto a la cuenta user desde la IP IP después de varios intentos de acceso fallidos. Cloud SQL limitó la respuesta para mitigar un posible intento de fuerza bruta. Cambia la contraseña del usuario si esta actividad es inesperada.

Para ver detalles sobre estos intentos de fuerza bruta, consulta los registros de tu instancia y busca An anomaly was found en el texto de cada registro.

Configura una política de alertas basada en registros

Puedes configurar una política de alertas basada en registros para recibir una notificación cuando se detecte o se limite un intento de acceso por fuerza bruta en tus instancias de Cloud SQL. Para obtener más información sobre cómo configurar esta alerta, consulta Configura la política de alertas basada en registros con el Explorador de registros.

Por ejemplo, puedes usar la siguiente consulta en la política de alertas para identificar los registros de intentos de acceso exitosos con fuerza bruta:

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

Protege tu instancia

Deberías considerar proteger tu instancia si se identifican intentos de acceso por fuerza bruta. Para ver los posibles intentos de acceso de fuerza bruta, consulta Visualiza los registros de los intentos de acceso de fuerza bruta.

Si Cloud SQL identifica un intento de acceso de fuerza bruta a tu instancia, haz lo siguiente:

  • Si Cloud SQL detecta un intento de acceso de fuerza bruta, pero el acceso falla, quita las direcciones IP identificadas de tus redes autorizadas para evitar futuros intentos de acceso desde estas IP. Para ello, usa rangos de IP reducidos en las redes autorizadas de tu instancia o quita la dirección IP de la lista de redes autorizadas.
  • Si Cloud SQL detecta un intento de acceso de fuerza bruta y un acceso exitoso que se produjo desde la dirección IP y el nombre de usuario identificados, cambia la contraseña de la cuenta de usuario y quita la IP de tu lista de redes autorizadas.

Además, también puedes usar el Auth Proxy o los conectores de lenguaje de Cloud SQL para conectarte a tu instancia en lugar de las redes autorizadas. El proxy de autenticación y los conectores de lenguaje de Cloud SQL usan la autenticación de Identity and Access Management para administrar las conexiones a tu instancia, lo que proporciona una conexión más segura y no requiere que agregues direcciones IP específicas a la lista de redes autorizadas de tu instancia.

Para proteger aún más tus instancias de Cloud SQL, usa una IP privada en lugar de una IP pública y usa la autenticación de la base de datos basada en IAM en lugar de la autenticación basada en nombre de usuario y contraseña.

Supervisa los intentos de acceso de fuerza bruta

Para supervisar los intentos de acceso de fuerza bruta, Cloud SQL cuenta la cantidad de veces que se produce cada tipo de evento de conexión a tu instancia con la métrica /database/network/connection_attempt_count. Esta métrica usa los siguientes campos para determinar si una conexión es un intento de acceso de fuerza bruta:

  • login_status: Hace un seguimiento de si la conexión generó un acceso exitoso.
  • anomaly_detected: Realiza un seguimiento de si la conexión es un intento de acceso de fuerza bruta en función de si la conexión superó el umbral de intentos de acceso establecido por Cloud SQL.
  • anomalous_connection_throttled: Realiza un seguimiento de si se limita la conexión del intento de acceso de fuerza bruta.

Puedes supervisar esta métrica para identificar el recuento de cada tipo de evento de conexión. En la siguiente tabla, se muestran los eventos de conexión de los que la métrica hace un seguimiento y sus valores de campo correspondientes:

Evento Descripción
Se accedió correctamente Se detectó un acceso correcto a tu instancia sin un intento de acceso por fuerza bruta. Valores de campo con seguimiento:
          login_status: succeeded
          anomaly_detected: none
          anomalous_connection_throttled: false
        
Acceso fallido Se produjo un acceso fallido a tu instancia sin que se detectara un intento de acceso por fuerza bruta. Valores de campo con seguimiento:
          login_status: failed
          anomaly_detected: none
          anomalous_connection_throttled: false
        
Se detectó un intento de acceso de fuerza bruta (no se limitó) Un intento de acceso fallido que se identifica como un intento de acceso por fuerza bruta, ya que supera el umbral de intentos de acceso establecido por Cloud SQL. No se limitó la conexión. Valores de campo con seguimiento:
          login_status: failed
          anomaly_detected: brute-force login
          anomalous_connection_throttled: false
        
Se detectó y limitó un intento de acceso de fuerza bruta Un intento de acceso fallido que se identifica como un intento de acceso por fuerza bruta, ya que supera el umbral de intentos de acceso establecido por Cloud SQL y se limita para evitar el acceso. Valores de campo con seguimiento:
          login_status: failed
          anomaly_detected: brute-force login
          anomalous_connection_throttled: true
        
Se detectó un acceso exitoso después de un intento de acceso de fuerza bruta (no se limitó) Un acceso correcto a tu instancia después de que la conexión se identificó como un intento de acceso de fuerza bruta. No se limitó la conexión. Valores de campo con seguimiento:
          login_status: succeeded
          anomaly_detected: brute-force login
          anomalous_connection_throttled: false
        
Se detectó y limitó un acceso exitoso después de un intento de acceso de fuerza bruta Un acceso correcto a tu instancia después de que la conexión se identificó como un intento de acceso de fuerza bruta y se limitó. Valores de campo con seguimiento:
          login_status: succeeded
          anomaly_detected: brute-force login
          anomalous_connection_throttled: true
        

Limitaciones

  • La protección contra ataques de fuerza bruta requiere una versión de mantenimiento mínima de MYSQL_$version.R20250531.01_23 Para obtener más información, consulta Realiza el mantenimiento de autoservicio.
  • La protección contra ataques de fuerza bruta solo está disponible para MySQL 5.7 y versiones posteriores.

¿Qué sigue?