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

En esta página se describen las funciones de detección y protección que ofrece Cloud SQL para proteger tus instancias frente a intentos de acceso por fuerza bruta que tienen como objetivo obtener acceso no autorizado, así como la forma de proteger tu instancia frente a estos intentos.

La protección contra ataques de fuerza bruta es una función de seguridad integrada que ayuda a proteger tus instancias frente a intentos de acceso por fuerza bruta, ya que impide el acceso no autorizado a tus recursos de Cloud SQL. Los intentos de acceso por fuerza bruta se producen cuando los agentes malintencionados prueban sistemáticamente diferentes combinaciones de nombre de usuario y contraseña para automatizar los intentos de inicio de sesión repetidos y obtener acceso a tu base de datos.

Cloud SQL ofrece las siguientes opciones para proteger tus bases de datos frente a intentos de acceso por fuerza bruta:

  • Detección de acceso por fuerza bruta: Cloud SQL monitoriza continuamente los intentos de inicio de sesión fallidos de cada instancia y detecta el primer inicio de sesión correcto. Si el número de intentos de inicio de sesión 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, junto con la dirección IP y el nombre de usuario asociados.

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

  • Protección contra ataques de fuerza bruta: cuando Cloud SQL detecta un intento de acceso por fuerza bruta, ralentiza automáticamente los intentos de inicio de sesión añadiendo un retraso a la respuesta de inicio de sesión y limitándolo en tiempo real. Si Cloud SQL identifica una conexión como un intento de acceso por fuerza bruta y esa conexión lleva a un inicio de sesión correcto, Cloud SQL la limita y genera un evento de registro para identificar ese inicio de sesión 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 ataques de fuerza bruta solo está disponible en la edición Cloud SQL Enterprise Plus.

Al proporcionar detección y protección contra ataques de fuerza bruta para tus instancias, Cloud SQL te ayuda a identificar la fuente de los riesgos causados por estos intentos de acceso de fuerza bruta y a mitigarlos. Usa las direcciones IP y los nombres de usuario identificados en estos intentos de acceso por fuerza bruta para proteger tu instancia y evitar futuros intentos de acceso por fuerza bruta. Para identificar los intentos de fuerza bruta en tu instancia, consulta Ver registros de intentos de fuerza bruta.

Ver registros de intentos de acceso por 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 intentos de acceso por fuerza bruta Se ha producido un intento fallido de iniciar sesión en la cuenta user desde la IP IP. Se ha detectado una anomalía: se han repetido los intentos de inicio de sesión fallidos desde esta IP.
Limitación automática para mitigar los intentos de acceso por fuerza bruta (solo en la edición Enterprise Plus) Se ha intentado iniciar sesión en la cuenta user desde la IP IP. Se ha detectado una anomalía. Se han repetido los intentos fallidos de inicio de sesión desde esta IP. Cloud SQL ha limitado la respuesta para mitigar un posible intento de fuerza bruta.
Detección del primer inicio de sesión correcto después de varios intentos fallidos Se ha detectado una anomalía. Se ha iniciado sesión correctamente en la cuenta user desde la IP IP tras varios intentos fallidos. Te recomendamos que cambies la contraseña del usuario si esta actividad es inesperada.
Limitación automática del primer inicio de sesión correcto tras varios errores de inicio de sesión (solo en la edición Enterprise Plus) Se ha detectado una anomalía. Se ha iniciado sesión correctamente en la cuenta user desde la IP IP tras varios intentos fallidos de inicio de sesión. Cloud SQL ha limitado la respuesta para mitigar un posible intento de fuerza bruta. Cambia la contraseña del usuario si esta actividad es inesperada.

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

Configurar 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 a tus instancias de Cloud SQL. Para obtener más información sobre cómo configurar esta alerta, consulta el artículo Configurar una 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 por fuerza bruta correctos:

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

Proteger una instancia

Cloud SQL recomienda proteger tu instancia si se identifican intentos de acceso por fuerza bruta. Para ver los posibles intentos de acceso por fuerza bruta, consulta Ver registros de intentos de acceso por fuerza bruta.

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

  • Si Cloud SQL detecta un intento de acceso por fuerza bruta, pero el inicio de sesión falla, elimina las direcciones IP identificadas de tus redes autorizadas para evitar futuros intentos de inicio de sesión desde esas IPs. Para ello, usa intervalos de IP reducidos en las redes autorizadas de tu instancia o elimina la dirección IP de la lista de redes autorizadas.
  • Si Cloud SQL detecta un intento de acceso por fuerza bruta y se ha iniciado sesión correctamente con la dirección IP y el nombre de usuario identificados, cambia la contraseña de la cuenta de usuario y elimina la IP de tu lista de redes autorizadas.

Además, también puedes usar el proxy de autenticación o los conectores de lenguaje de Cloud SQL para conectarte a tu instancia en lugar de usar redes autorizadas. El proxy de autenticación y los conectores de lenguaje de Cloud SQL usan la autenticación de gestión de identidades y accesos para gestionar las conexiones a tu instancia, lo que proporciona una conexión más segura y no requiere que añadas 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 IP privada en lugar de IP pública y autenticación de base de datos basada en gestión de identidades y accesos en lugar de autenticación basada en nombre de usuario y contraseña.

Monitorizar los intentos de acceso por fuerza bruta

Para monitorizar los intentos de acceso por fuerza bruta, Cloud SQL cuenta el número de veces que se produce cada tipo de evento de conexión a tu instancia mediante 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 por fuerza bruta:

  • login_status: registra si la conexión ha permitido iniciar sesión correctamente.
  • anomaly_detected: registra si la conexión es un intento de acceso por fuerza bruta en función de si la conexión ha superado el umbral de intentos de inicio de sesión establecido por Cloud SQL.
  • anomalous_connection_throttled: registra si se ha limitado la conexión de un intento de acceso por fuerza bruta.

Puede monitorizar 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 registrados por la métrica y los valores de campo correspondientes:

Evento Descripción
Inicio de sesión correcto Se ha iniciado sesión correctamente en tu instancia sin que se haya detectado ningún intento de acceso por fuerza bruta. attempt detected. Valores de campo monitorizados:
          login_status: succeeded
          anomaly_detected: none
          anomalous_connection_throttled: false
        
No se ha podido iniciar sesión Se ha detectado un intento de inicio de sesión fallido en tu instancia sin acceso por fuerza bruta. Valores de campo monitorizados:
          login_status: failed
          anomaly_detected: none
          anomalous_connection_throttled: false
        
Se ha detectado un intento de inicio de sesión por fuerza bruta (no se ha limitado) Un intento de inicio de sesión fallido que se identifica como un intento de acceso por fuerza bruta, ya que supera el umbral de intentos de inicio de sesión establecido por Cloud SQL. La conexión no se ha limitado. Valores de campo monitorizados:
          login_status: failed
          anomaly_detected: brute-force login
          anomalous_connection_throttled: false
        
Se ha detectado y limitado un intento de inicio de sesión por fuerza bruta Un intento de inicio de sesión fallido que se identifica como un intento de acceso por fuerza bruta, ya que supera el umbral de intentos de inicio de sesión establecido por Cloud SQL y se limita para evitar el inicio de sesión. Valores de campo monitorizados:
          login_status: failed
          anomaly_detected: brute-force login
          anomalous_connection_throttled: true
        
Inicio de sesión correcto tras detectar un intento de acceso por fuerza bruta (no limitado) Se ha iniciado sesión correctamente en tu instancia después de que se haya identificado la conexión como un intento de acceso por fuerza bruta. La conexión no se ha limitado. Valores de campo monitorizados:
          login_status: succeeded
          anomaly_detected: brute-force login
          anomalous_connection_throttled: false
        
Inicio de sesión correcto después de detectar y limitar un intento de acceso por fuerza bruta Se ha iniciado sesión correctamente en tu instancia después de que se identificara la conexión como un intento de acceso por fuerza bruta y se limitara. Valores de campo monitorizados:
          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 Realizar el mantenimiento de autoservicio.
  • La protección contra ataques de fuerza bruta solo está disponible en MySQL 5.7 y versiones posteriores.

Siguientes pasos