Control de Accesos I

Introducción

El control de accesos en uno de los procesos escenciales cuando se implementan controles de seguridad.

Este control básicamente establece las reglas de cómo un sujeto puede interactuar con un objeto y como este último puede transferir información al sujeto.

Desarrollo

Se puede considerar al sujeto como entidades activas (usuarios, aplicaciones, procesos, programa, computadora), que a través de un acceso tratan de obtener datos de una entidad pasiva (objeto).

Un objeto puede ser un archivo, base de datos, carpeta o recurso, y el control de accesos nos ayuda a controlar el uso de los recursos (objeto) y limitar su acceso.

enter image description here

Sin un control adecuado se pueden propiciar accesos no autorizados a datos o recursos sensibles.

Se deben considerar al menos los siguientes “pasos” para asegurar un adecuado control de accesos:

  • Identificación
  • Autenticación
  • Autorización
  • Auditoría
  • No repudio

Identificación

El proceso de identificación consiste en asignar una identidad a los usuarios (sujeto) que acceden a un sistema de información, de esta manera dichos usuarios pueden ser identificados de manera única, por lo que las acciones que realicen dichos usuarios en el sistema son correctamente asociadas, comúnmente la asignación de esta identidad se da por una cuenta de usuario o en alguno de los atributos de la cuenta en el sistema.

Para el tipo de usuarios genéricos, se recomienda establecer un control compensatorio administrativo para que puedan ser identificados adecuadamente, dicho control puede ser la documentación de las cuentas donde se identifique adecuadamente al dueño de la cuenta, el cual será responsable de las acciones realizadas por el usuario en el sistema.

Autenticación

El proceso de autenticación consiste en que dichos usuarios demuestran su identidad. Un usuario puede demostrar su identidad al menos de tres formas: algo que es usuario es (ejemplo: accesos biométricos), algo que el usuario tiene (ejemplo: tokens de acceso, tarjetas de identidad) o algo que el usuario conoce (ejemplo: password de acceso).

La forma más común de demostrar la identidad de un usuario es por medio de passwords de acceso (algo que el usuario conoce).

Se pueden combinar varias formas para demostrar la identidad de un usuario, lo cual se conoce como doble factor de autenticación.

Actualmente existen distintos protocolos de autenticación en aplicaciones y servicios Web para cubrir las diferentes necesidades de las arquitecturas actuales (ej. JWT, Auth, OpenID, LDAP, entre otros).

Autorización

Este paso asegura que el usuario tiene los privilegios y derechos requeridos para acceder a algún objeto dentro del sistema.

Dependiendo de las capacidades del sistema, esta validación se puede realizar de varias formas como por ejemplo con matrices de control de accesos, control de accesos basado en roles (RBAC), control de accesos basado en atributos (ABAC), así como basado en el tipo de requerimiento, tiempo, ubicación, o grupo.

El proceso de autorización, básicamente define las acciones que puede hacer un usuario en el sistema.

Para la implementación de un adecuado control de accesos, se debe considerar al menos el principio de mínimo privilegio y procesos de segregación de funciones, ya que de esta forma aseguramos una correcta configuración e implementación.