Prácticas recomendadas para auditar el acceso SSH


En este documento se describen las prácticas recomendadas para auditar el acceso SSH a instancias de máquinas virtuales (VM) Linux.

Los registros de auditoría de Cloud te permiten analizar la actividad anterior y pueden ser una fuente de información importante cuando investigas actividad sospechosa que afecta a tusGoogle Cloud recursos.

En las siguientes secciones se incluyen prácticas recomendadas que pueden ayudarte a mantener una pista de auditoría irrefutable:

El documento se centra en las prácticas que son específicas de Google Cloud o de especial relevancia cuando se usa SSH en Google Cloud. El documento no abarca las prácticas recomendadas para implementaciones específicas de clientes o servidores SSH.

Habilitar registros de acceso a datos para IAP

Para asegurarte de que IAP añade una entrada a los registros de auditoría de Cloud cada vez que un usuario intenta establecer una conexión SSH, habilita los registros de acceso a datos de la API Cloud Identity-Aware Proxy. Los registros de acceso a datos están inhabilitados de forma predeterminada. A menos que te preocupe el volumen de registros, habilita los registros de acceso a los datos en todos los proyectos que contengan instancias de VM.

Monitorizar las entradas del registro de auditoría relacionadas con el uso de SSH

El uso de SSH puede afectar a la seguridad de las VMs y sus cargas de trabajo, por lo que es importante mantener un registro de auditoría tanto de los intentos de conexión correctos como de los intentos de acceso fallidos. Esto es especialmente importante en entornos de producción, donde el uso de SSH debe considerarse una acción sensible.

Para monitorizar el acceso SSH y, posiblemente, detectar comportamientos sospechosos, asegúrate de monitorizar las entradas de registro relacionadas con SSH, incluidas las siguientes:

Servicio Método Descripción
IAP AuthorizeUser Indica un intento de conexión a través del reenvío de TCP de IAP. Las entradas de registro contienen detalles sobre el dispositivo del usuario, los niveles de acceso satisfechos y los niveles de acceso no satisfechos.
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.CheckPolicy Indica un intento de inicio de sesión.
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.StartSession Indica el inicio de un reto de autenticación de dos factores de OS Login
OS Login google.cloud.oslogin.dataplane.OsLoginDataPlaneService.ContinueSession Indica que se ha completado un reto de autenticación de dos factores de OS Login
Compute Engine v1.compute.projects.setCommonInstanceMetadata Si el campo projectMetadataDelta contiene una entrada para `ssh-keys`, esta entrada de registro indica que se ha añadido, eliminado o modificado una clave SSH en los metadatos del proyecto.
Compute Engine v1.compute.instances.setMetadata Si el campo projectMetadataDelta contiene una entrada para `ssh-keys` o `sshKeys`, esta entrada de registro indica que se ha añadido, eliminado o modificado una clave SSH en los metadatos de la instancia.
Compute Engine google.ssh-serialport.v1.connect Indica un intento de conexión a la consola en serie.
Gestión de identidades y accesos beta.compute.instances.setIamPolicy, v1.compute.instances.setIamPolicy Indica un cambio en la política de gestión de identidades y accesos de una instancia de VM. Un cambio en una política de IAM puede afectar a la capacidad de los usuarios para modificar los metadatos de las instancias.
Gestión de identidades y accesos SetIamPolicy Indica un cambio en la política de gestión de identidades y accesos de un proyecto. Un cambio en una política de gestión de identidades y accesos puede afectar a la capacidad de los usuarios para modificar los metadatos del proyecto y la configuración de los registros de auditoría de acceso a datos del proyecto.

Todos los registros de auditoría contienen un campo principalEmail que identifica la entidad de seguridad que ha iniciado la actividad.

Para obtener una visión completa de la actividad de tus VMs, configúralas para que exporten los registros del servidor /var/log/messages y SSH a Cloud Logging. Por ejemplo, puedes usar el Agente de operaciones.

Ten en cuenta que, en función de la distribución de Linux que utilices, los registros del servidor SSH se pueden escribir en archivos de registro diferentes (normalmente, /var/log/auth.log o /var/log/secure) y que estos archivos de registro no están cubiertos por la configuración predeterminada que usa Ops Agent.