Autenticación, Autorización y Auditoría (AAA)

De CiberWiki

index.php?title=Categoría:Conceptos de seguridad

Autenticación, Autorización y Auditoría (AAA)

AAA son las siglas de Autenticación (Authentication), Autorización (Authorization) y Auditoría (Accounting en inglés, aunque en español se usa Auditoría o Contabilidad). Es un marco fundamental en ciberseguridad que establece el ciclo completo de gestión de accesos a los sistemas y recursos.

En términos simples, AAA responde a tres preguntas clave: 1. **Autenticación**: *¿Quién eres?* (verificar la identidad). 2. **Autorización**: *¿Qué puedes hacer?* (definir y controlar permisos). 3. **Auditoría**: *¿Qué hiciste?* (registrar y revisar las acciones).

Estos tres procesos trabajan juntos para garantizar que solo las personas adecuadas tengan acceso a los recursos correctos, y que todas sus acciones queden registradas para su posterior revisión.

1. Autenticación (Authentication)

La Autenticación es el proceso de verificar la identidad de un usuario, sistema o dispositivo que intenta acceder a un recurso. Es la primera puerta que debe superar cualquier entidad que quiera interactuar con un sistema.

Objetivo

Confirmar que la entidad (persona, máquina o aplicación) es realmente quien dice ser.

Factores de autenticación

La autenticación se basa en tres categorías principales, conocidas como "factores de autenticación":

Factor 1: Algo que sabes (Conocimiento)

Información que solo el usuario debería conocer.

  • Contraseñas (la más común, pero también la más vulnerable).
  • PIN (Número de Identificación Personal).
  • Preguntas de seguridad (ej: "¿Nombre de tu primera mascota?").

Factor 2: Algo que tienes (Posesión)

Un objeto físico que el usuario posee.

  • Tarjetas inteligentes (smart cards).
  • Tokens hardware (ej: YubiKey, RSA SecurID).
  • Dispositivos móviles (para recibir códigos por SMS o apps autenticadoras).
  • Certificados digitales almacenados en dispositivos.

Factor 3: Algo que eres (Inherencia)

Características biométricas únicas del usuario.

  • Huella dactilar.
  • Reconocimiento facial.
  • Escáner de iris.
  • Reconocimiento de voz.
  • Patrón de escritura.

Autenticación Multifactor (MFA)

La autenticación es mucho más segura cuando se combinan dos o más factores. Esto se llama Autenticación Multifactor (MFA) o Autenticación de Dos Factores (2FA) cuando usa exactamente dos factores.

Ejemplos de MFA

  • Contraseña (factor 1) + Código enviado al móvil (factor 2).
  • Huella dactilar (factor 3) + Tarjeta inteligente (factor 2).
  • PIN (factor 1) + Token hardware (factor 2).

¿Por qué es importante MFA?

Las contraseñas por sí solas son insuficientes. El 80% de las violaciones de datos están relacionadas con contraseñas débiles o robadas. MFA añade una capa extra que dificulta enormemente el acceso no autorizado, incluso si la contraseña es robada.

Tecnologías de autenticación

  • **LDAP (Lightweight Directory Access Protocol)**: Para acceder a directorios de usuarios.
  • **Kerberos**: Protocolo de autenticación en redes Windows (Active Directory).
  • **OAuth y OpenID Connect**: Para autenticación en aplicaciones web y móviles (ej: "Login con Google").
  • **SAML (Security Assertion Markup Language)**: Para autenticación entre organizaciones (SSO - Single Sign-On).
  • **RADIUS y TACACS+**: Para autenticación en redes (ej: acceso a routers, switches, VPNs).
  • **Certificados digitales (PKI)**: Autenticación basada en criptografía asimétrica.

Buenas prácticas en autenticación

  • Exigir contraseñas largas y complejas (mínimo 12 caracteres, combinando mayúsculas, minúsculas, números y símbolos).
  • Implementar MFA siempre que sea posible (especialmente para accesos críticos o externos).
  • No reutilizar contraseñas entre diferentes servicios.
  • Usar gestores de contraseñas para generar y almacenar contraseñas seguras.
  • Establecer políticas de bloqueo tras varios intentos fallidos (ej: bloquear cuenta tras 5 intentos).
  • Implementar autenticación sin contraseña (passwordless) cuando sea viable (ej: usando tokens hardware o biometría).

2. Autorización (Authorization)

La Autorización es el proceso de determinar qué acciones o recursos puede acceder una entidad autenticada. Mientras la autenticación verifica *quién* eres, la autorización define *qué* puedes hacer.

Objetivo

Garantizar que los usuarios solo tengan acceso a los recursos y funciones necesarios para realizar su trabajo, evitando accesos no autorizados.

Modelos de control de acceso

Existen varios modelos para gestionar la autorización:

1. Control de Acceso Discrecional (DAC - Discretionary Access Control)

El propietario del recurso decide quién puede acceder y con qué permisos.

  • Ejemplo: El creador de un archivo en Windows decide quién puede leerlo o modificarlo.
  • Ventaja: Flexible.
  • Desventaja: Puede llevar a permisos excesivos o inconsistentes.

2. Control de Acceso Obligatorio (MAC - Mandatory Access Control)

El sistema operativo o administrador central define las políticas de acceso, y los usuarios no pueden cambiarlas.

  • Ejemplo: Sistemas militares o gubernamentales donde los datos tienen niveles de clasificación (ej: "Público", "Confidencial", "Secreto").
  • Ventaja: Muy seguro y controlado.
  • Desventaja: Poco flexible.

3. Control de Acceso Basado en Roles (RBAC - Role-Based Access Control)

Los permisos se asignan a roles (ej: "Admin", "Gerente", "Empleado"), y los usuarios heredan los permisos de sus roles.

  • Ejemplo: En un sistema de gestión de proyectos, los "Gerentes" pueden ver todos los proyectos, los "Empleados" solo los suyos.
  • Ventaja: Fácil de administrar y escalable.
  • Desventaja: Puede ser rígido si los roles no cubren casos específicos.

4. Control de Acceso Basado en Atributos (ABAC - Attribute-Based Access Control)

Las decisiones de acceso se basan en atributos del usuario, del recurso, del entorno y de la acción.

  • Ejemplo: Acceso permitido si (usuario.departamento = "Ventas" AND recurso.tipo = "Informe" AND hora >= "09:00" AND hora <= "18:00").
  • Ventaja: Muy granular y flexible.
  • Desventaja: Complejo de implementar y gestionar.

5. Control de Acceso Basado en Políticas (PBAC - Policy-Based Access Control)

Similar a ABAC, pero con políticas más amplias que combinan varios atributos y condiciones.

  • Ejemplo: Políticas de Zero Trust que evalúan continuamente el contexto antes de permitir acceso.
  • Ventaja: Ideal para entornos dinámicos y Zero Trust.

Tecnologías de autorización

  • **Active Directory (AD)**: Gestión centralizada de usuarios y permisos en entornos Windows.
  • **Políticas de grupo (GPO)**: Para definir permisos en redes Windows.
  • **IAM (Identity and Access Management)**: Plataformas como Okta, Azure AD, ForgeRock.
  • **Listas de Control de Acceso (ACL)**: En archivos, carpetas, routers, firewalls.
  • **OAuth 2.0**: Para autorización en aplicaciones web y APIs.

Principio de Mínimo Privilegio en autorización

El Principio de Mínimo Privilegio es fundamental en la autorización: los usuarios deben tener solo los permisos estrictamente necesarios para realizar su trabajo, y nada más.

Ejemplo

Un empleado de RRHH necesita acceder a la base de datos de empleados para actualizar datos personales, pero no debería tener acceso a los salarios o a los sistemas financieros.


3. Auditoría (Accounting / Auditing)

La Auditoría (en inglés Accounting, aunque en español se traduce como Auditoría o Contabilidad) es el proceso de registrar y monitorear las actividades de los usuarios y sistemas para garantizar la trazabilidad, detectar incidentes y cumplir con normativas.

Objetivo

Registrar quién hizo qué, cuándo, dónde y desde qué dispositivo, para que las acciones sean rastreables y se pueda investigar cualquier incidente.

¿Qué se audita?

  • Inicios y cierres de sesión.
  • Intentos de acceso (exitosos y fallidos).
  • Cambios en permisos o configuraciones.
  • Acceso a datos sensibles (ej: archivos confidenciales, bases de datos).
  • Transacciones financieras.
  • Cambios en cuentas de usuario (creación, modificación, eliminación).
  • Conexiones de red y transferencias de datos.
  • Ejecución de comandos o scripts.

Características de una buena auditoría

  • Completa: Registrar todo lo relevante.
  • Segura: Los registros (logs) no deben poder ser alterados o borrados por usuarios comunes.
  • Centralizada: Almacenar los logs en un lugar seguro y centralizado (ej: SIEM).
  • Legible: Los logs deben ser claros y estar en un formato estándar para facilitar su análisis.
  • Retención adecuada: Guardar los logs el tiempo necesario según normativas (ej: 1 año, 5 años, etc.).
  • Análisis proactivo: No basta con guardar; hay que revisar y analizar los logs regularmente.

Tecnologías de auditoría

  • **SIEM (Security Information and Event Management)**: Herramientas como Splunk, IBM QRadar, Elastic Stack, que recopilan, analizan y correlacionan logs de múltiples fuentes.
  • **Registros de eventos de Windows**: Security Event Log, System Log, Application Log.
  • **Syslog**: Estándar para logs en sistemas Unix/Linux y dispositivos de red.

- **Herramientas de registro de bases de datos**: Triggers, auditoría nativa (ej: Oracle Audit Vault, SQL Server Audit).

  • **Monitoreo de accesos a archivos**: Herramientas como Varonis, Netwrix.
  • **Registros de autenticación**: Logs de servidores RADIUS, LDAP, Active Directory.

Beneficios de la auditoría

  • Detección de incidentes: Identificar accesos no autorizados o comportamientos sospechosos.
  • Investigación forense: Reconstruir lo que sucedió tras un ataque.
  • Cumplimiento normativo: Demostrar a auditores y reguladores que se cumplen las políticas (ej: GDPR, HIPAA, PCI-DSS).
  • Mejora continua: Identificar patrones y áreas de mejora en seguridad.
  • Responsabilidad: Los usuarios saben que sus acciones son monitoreadas, lo que disuade comportamientos maliciosos.

    1. Los tres pilares de AAA en acción (ejemplo completo)

Escenario: Un empleado llamado Carlos quiere acceder al sistema de nómina de su empresa.

1. **Autenticación**: Carlos introduce su usuario y contraseña. El sistema verifica que coinciden con los registros. Además, le envía un código a su teléfono (MFA). Carlos introduce el código correctamente. ✅ Carlos queda autenticado.

2. **Autorización**: El sistema verifica el rol de Carlos en el directorio. Como es "Gerente de RRHH", tiene permiso para ver y modificar la nómina, pero no para eliminar registros. El sistema le presenta las opciones correspondientes. ✅ Carlos está autorizado para ver y modificar la nómina.

3. **Auditoría**: El sistema registra: *"Carlos (usuario: cgonzalez) inició sesión a las 10:15 desde IP 192.168.1.100, consultó la nómina de enero y modificó el salario del empleado Pérez".* Tres meses después, en una auditoría, este registro permite verificar que la modificación fue legítima. ✅ La acción queda registrada y trazable.


    1. Relación con otros conceptos
  • Tríada CIA: AAA protege la confidencialidad (solo autenticados y autorizados acceden), la integridad (los logs aseguran que no se modifiquen datos sin dejar rastro) y la disponibilidad (solo los autorizados pueden acceder, evitando saturaciones).
  • Principio de Mínimo Privilegio: La autorización aplica este principio al asignar solo los permisos necesarios.
  • Zero Trust: AAA es fundamental en Zero Trust ("nunca confiar, siempre verificar"): la autenticación y autorización se aplican en cada solicitud, no solo al inicio.
  • Control de Seguridad: AAA es un conjunto de controles de seguridad (preventivos y detectives).
  • Cifrado: Suele complementarse con AAA: el cifrado protege los datos, y AAA controla quién puede acceder a las claves.
  • Gestión de Vulnerabilidades: Identificar vulnerabilidades en los sistemas de AAA (ej: autenticación débil, logs mal protegidos) es parte de la gestión de vulnerabilidades.
  • Superficie de Ataque: Los puntos de autenticación (puertos de login, APIs, etc.) son parte de la superficie de ataque que debe protegerse.
  • Ingeniería Social: La ingeniería social a menudo ataca la autenticación (robo de credenciales), lo que hace que MFA y auditoría sean aún más importantes.

    1. Estándares y marcos de referencia
  • **NIST SP 800-63** – Guía para la gestión de identidades y autenticación.
  • **ISO/IEC 27001** – Requiere políticas de control de acceso y auditoría.
  • **PCI-DSS (Payment Card Industry Data Security Standard)** – Exige autenticación fuerte y registros de acceso a datos de tarjetas.
  • **GDPR (Reglamento General de Protección de Datos)** – Exige registros de acceso y tratamientos de datos personales.
  • **HIPAA (Health Insurance Portability and Accountability Act)** – Exige autenticación, autorización y auditoría en sistemas de salud.
  • **FIPS 201** – Estándar para tarjetas de identificación y autenticación en el gobierno de EE.UU.

    1. Buenas prácticas en AAA

1. **Autenticación**:

  - Implementar MFA en todos los accesos (especialmente externos y críticos).
  - Usar políticas de contraseñas robustas (longitud, complejidad, rotación).
  - Monitorear intentos de autenticación fallidos (posibles ataques de fuerza bruta).
  - Deshabilitar cuentas inactivas.

2. **Autorización**:

  - Aplicar el Principio de Mínimo Privilegio (solo lo necesario).
  - Revisar y auditar permisos periódicamente.
  - Segmentar roles y responsabilidades (separación de funciones).
  - Usar modelos de control de acceso adecuados (RBAC, ABAC).

3. **Auditoría**:

  - Registrar todos los accesos y acciones críticas.
  - Proteger los logs contra alteración (ej: escribir en papel o en sistemas WORM - Write Once Read Many).
  - Analizar logs regularmente (no solo guardarlos).
  - Definir políticas claras de retención de logs.
  - Integrar logs con sistemas SIEM para análisis en tiempo real.

    1. Herramientas comunes de AAA
  • **Autenticación y Autorización**: Active Directory, Azure AD, Okta, ForgeRock, Ping Identity, OpenLDAP, FreeIPA, Keycloak.
  • **MFA**: Google Authenticator, Microsoft Authenticator, Duo Security, YubiKey, RSA SecurID.
  • **SIEM y Auditoría**: Splunk, Elastic Stack (ELK), IBM QRadar, LogRhythm, Wazuh, Graylog.
  • **Gestión de identidades**: SailPoint, CyberArk, BeyondTrust (gestión de accesos privilegiados - PAM).
  • **Protocolos**: LDAP, Kerberos, RADIUS, TACACS+, SAML, OAuth, OpenID Connect.

    1. Véase también

Esta página forma parte de la Categoría:Conceptos de seguridad.