heygrc
Respuesta

¿Cómo implementar el registro de auditoría correctamente para SOC 2 e ISO 27001?

el equipo de heygrc

Registra los eventos relevantes para la seguridad (quién hizo qué y cuándo), incluye siempre al actor, escríbelos en un lugar duradero y no permitas que una limpieza posterior los elimine. SOC 2 (CC7.2) e ISO 27001 (A.8.15) exigen esto y lo verifican mediante muestreo de los eventos que realmente registraste.

  1. Registra los eventos relevantes, con el actor

    Registra las acciones relevantes para la seguridad: autenticación, cambios de privilegios y roles, acceso a datos sensibles, cambios de configuración. Cada registro debe contener suficiente información para responder quién lo hizo, sobre qué y cuándo, por lo que siempre captura al actor, no solo la acción.

  2. Guarda el registro en un lugar que perdure

    Escribe en un almacenamiento duradero y resistente a manipulaciones, no solo en stdout que se rota y se pierde. Vincula la escritura al cambio que registra (en la misma transacción o en una cola de salida) para que el evento no se pierda silenciosamente si falla la llamada al registro. El registro es la evidencia de que el control funcionó; si desaparece, también lo hace la evidencia que un auditor muestreará y el rastro que necesitas tras un incidente.

  3. Protégelo de la limpieza

    La forma más común en que falla el registro de auditoría es una solicitud de extracción posterior que elimina una línea de registro que parece ruido. Si un registro es ruidoso, cambia su nivel o su destino, pero no lo elimines. Ese es exactamente el tipo de cambio que una revisión contra A.8.15 debería detectar.

access/roles.ts+1 -0
async function updateRole(actor, target, role) {  await db.roles.set(target, role)+  await audit.log("role.update", { actor, target, role })  return ok()}
heygrcISO 27001 A.8.15 / SOC 2 CC7.2

La línea añadida registra quién cambió el rol de quién. Ese es el evento que un auditor muestreará y el que necesitarás tras un incidente.