Control de acceso

Asegurando quién puede hacer qué y cómo en un sistema

El control de acceso es la columna vertebral de la seguridad en cualquier sistema de información. Define quién o qué puede interactuar con los recursos, garantizando que se cumplan los objetivos de confidencialidad, integridad y disponibilidad (la tríada CIA). A través de un sistema bien diseñado, puedo asegurarme de que solo los usuarios correctos (o sistemas) puedan acceder a la información correcta en el momento correcto.

Conceptos clave del control de acceso

1. Sujeto y objeto

  • Sujetos: Son los actores que solicitan acceso, como personas, dispositivos, procesos de software, o sistemas.
    • Ejemplo: Un empleado que inicia sesión en una aplicación o un proceso de software que consulta una base de datos.
  • Objetos: Son los recursos a los que se accede.
    • Ejemplo: Un archivo de datos, un servidor, una red o una aplicación.


2. Los cuatro pilares del control de acceso (IAM)

El control de acceso moderno utiliza sistemas de Gestión de Identidad y Acceso (IAM) para administrar la interacción entre sujetos y objetos. Estos sistemas abarcan cuatro procesos fundamentales:

1. Identificación:

  • Representar de forma única a un usuario, dispositivo o proceso en el sistema mediante un ID o cuenta.
  • Ejemplo práctico: Un cliente crea una cuenta en un sitio de comercio electrónico con un nombre de usuario único.


2. Autenticación:

  • Confirmar que el sujeto es quien dice ser.
  • Tipos de factores de autenticación:
    • Algo que sabes: Contraseñas, PIN.
    • Algo que tienes: Token, certificado digital.
    • Algo que eres: Huella digital, reconocimiento facial.
  • Ejemplo práctico: Un cliente ingresa su contraseña o verifica su identidad mediante un código enviado a su correo.


3. Autorización:

  • Determinar qué derechos tiene el sujeto sobre un objeto.
  • Modelos de autorización:
    • Modelo discrecional (DAC): El propietario del recurso decide quién tiene acceso.
    • Modelo obligatorio (MAC): Las reglas son impuestas por el sistema.
  • Ejemplo práctico: Un cliente puede agregar productos al carrito, pero no modificar los datos de facturación de otro usuario.


4. Contabilidad:

  • Registrar y monitorear el uso de los recursos.
  • Ejemplo práctico: Un sistema registra todas las transacciones realizadas por un cliente en un sitio de comercio electrónico.


3. Autenticación, autorización y contabilidad (AAA)

En algunos entornos, los procesos de autenticación, autorización y contabilidad (AAA) se implementan juntos mediante servidores y protocolos dedicados. Esto es común en redes empresariales, donde se administran dispositivos y usuarios simultáneamente.


Ejemplo práctico: Sitio de comercio electrónico

Imagina que configuro un sitio para vender productos en línea. Para asegurarme de que el sistema sea funcional y seguro:

  • Identificación: Los clientes crean cuentas para identificarse de manera única.
  • Autenticación: Un cliente debe proporcionar su contraseña o un código enviado a su correo para verificar su identidad.
  • Autorización: Defino reglas que permiten a los clientes ver sus pedidos, pero no los de otros. También aseguro que solo puedan realizar compras si tienen un método de pago válido.
  • Contabilidad: Registro todas las acciones, como agregar productos al carrito, realizar un pedido o actualizar su dirección. Si algo sale mal, como un intento de fraude, estos registros me ayudan a identificar el problema.


Reflexión crítica con respuestas

1. ¿Cómo afecta cada proceso del control de acceso a la tríada CIA?

Respuesta:

  • Confidencialidad:
    • Identificación y autenticación garantizan que solo los usuarios correctos puedan acceder a datos confidenciales.
    • Ejemplo: Un cliente debe autenticarse con su contraseña para ver sus pedidos.
  • Integridad:
    • Autorización asegura que los usuarios no puedan modificar recursos que no les pertenecen.
    • Ejemplo: Un cliente no puede cambiar el precio de un producto en el carrito.
  • Disponibilidad:
    • Contabilidad monitorea el sistema para identificar intentos de abuso o ataques que puedan interrumpir el acceso a los servicios.
    • Ejemplo: Si detecto intentos masivos de inicio de sesión fallidos, puedo bloquear al atacante para proteger mi servidor.

2. ¿Qué pasa si no implemento correctamente uno de los procesos de IAM?

Respuesta:
Si no configuro uno de los procesos, el sistema queda vulnerable:

  • Identificación mal implementada: Los usuarios podrían no estar registrados de forma única, lo que generaría confusión o accesos indebidos.
  • Autenticación débil: Los atacantes podrían hacerse pasar por usuarios legítimos mediante contraseñas simples o comprometidas.
  • Autorización errónea: Los usuarios podrían acceder o modificar recursos para los que no tienen permisos, comprometiendo la integridad de los datos.
  • Sin contabilidad: No tendría registros para investigar incidentes, lo que dificultaría detectar ataques o mejorar la seguridad.

3. ¿Cómo puedo garantizar que el control de acceso también proteja las interacciones entre sistemas?

Respuesta:
Debo asegurarme de que no solo las personas, sino también los dispositivos y procesos, sean autenticados y autorizados.

  • Identificación y autenticación de sistemas: Usar certificados digitales para que los servidores confirmen su identidad antes de intercambiar datos.
  • Autorización de procesos: Configurar reglas específicas para que las API o procesos solo accedan a los recursos necesarios.
  • Contabilidad automatizada: Registrar todas las conexiones entre sistemas para identificar anomalías.

Recursos adicionales

Introducción a IAM (Microsoft) 

Guía sobre autenticación de usuarios en NIST (en inglés)

Artículo práctico sobre modelos de autorización en OWASP 

Mystara - Mind Hacker - Purple TeamBlog
Todos los derechos reservados 2024
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar