Categorías
IAM Seguridad

Autorizaciones. 1de4 – Introducción.

Voy a intentar aportar un poquito al mundo de las autorizaciones, especialmente enumerando los distintos modelos, los estándares relevantes, ¿Os suena XACML?, y hablaremos algo de las soluciones que existen en el mercado.

En esta primera entrada toda revisar los conceptos, y poner ejemplos. Ya hable de ello anteriormente, pero de una forma general y poniendo en contexto junto a las autenticaciones. ¡Doy por hecho que ya conoces las diferencias! ¿No?, échale un ojo a este enlace.

Y desde el mundo digital… usaremos los mecanismos de autorización para proteger el acceso a los recursos. ¿Que suelen ser los recursos? Pues la información, el activo digital más valioso del siglo XXI.

Un ejemplo

Bien, un recurso digital… por ejemplo, un fichero word, o tus textos dentro de un diario personal de una app, o la información de clientes de tu negocio, etc ¿Y donde se ubican? Esta información se guarda en carpetas compartidas, base de datos relacionales o no, ficheros dentro de un directorio, etc.

El acceso se realizará mediante software, será ahí donde habrá que poner los mecanismos de autorización, es el que hace de mediador entre la información a proteger y el solicitante. A veces es el propio sistema operativo, pero la normalmente es un artefacto software que hemos construido nosotros o una librería de terceros.

Vale, resumimos, voy a acceder a un activo de mi organización, que se expone a través de una aplicación. Para esto, tendrá que decirle quien soy y la app me dirá si puedo acceder o no.

¡Vamos a probar!

Usuario: Hola App, soy David y quiero el documento secreto X

App: bip, bip – Correcto, eres David – bip, bip – Lo siento David, no tienes acceso.

¡Cachis! Tendré que matizar más… de qué tipo de acceso estamos hablando, ¿Qué acción, operación o permiso necesitaré? ¿Acceso para leer, para escribir, para cambiar, para flipar?, ¿Qué quiero realizar sobre el recurso? Lo intentamos de nuevo…

Usuario: Hola soy David y quiero leer el documento secreto X

App: bip, bip – Lo siento David, no tienes acceso.

¡Tampoco!, tendré que probar con otro documento. Hay uno perfecto, el documento secretísimo Y, además lo hice yo, asi que seria raro que no pudiera acceder.

Usuario: Hola soy David y quiero leer el documento secretísimo Y

App: bip, bip – Correcto, eres David – bip, bip – Hola david, tienes acceso al documento, ya que este tiene un atributo que indica quien es el propietario y tengo la política de permitir el acceso total a los propietarios de los documentos.

Genial, así que un recurso puede tener atributos y estos pueden formar parte de las reglas de acceso, por ejemplo, quien es el propietario, el nivel de confidencialidad, la fecha de expiración, el tamaño…

Los ingredientes del pastel

¡Cuantas cosas con las que jugar!, afinamos términos:

Sujeto: ¿Quién puede acceder? Es el solicitante del recurso, este puede pertenecer a un grupo, lo cual facilitará su administración en el servicio de autorizaciones. Se podrá conceder acceder a un grupo completo de usuarios.

Recurso: ¿A que quiero acceder? La información a la que se quiere acceder

Acción: ¿Y para que? La operación sobre el recurso, esto lo podemos llamar permisos, tengo permiso para Leer, Escribir, Ambos, …

Atributos: ¿Dónde, cuándo, por qué… ? Características del recurso que el servidor de autorizaciones podrá utilizar para concretar y enriquecer las políticas de acceso.

Desde el punto de vista del servidor de autorizaciones, una posible regla que validará el acceso al ejemplo anterior sería:

AuthZ Server: ¡Recuerda!, cuando entre por la puerta alguien, asegurate que es de grupo de usuario Empleados (subject), y que cuando acceda a los documentos secretos (recursos), podrá Leer y Escribir (acción o permiso) si el documento es suyo (atributo). Si no, patada y a la calle, ¡Que tengo mucho lio con tantos bytes!

Conclusiones

OWASP nos cuenta año tras año, que entre los 10 mayores problemas de seguridad, el 2 y el 5 puesto se lo llevan temas de autenticaciones y autorizaciones. Así que serio no, lo siguiente.

https://owasp.org/www-project-top-ten/

Y ahora que conocemos los elementos básicos, vamos a ver cuantos modelos nos salen, se trata de utilizarlos para obtener un tipo de autorización. ¡Pero lo dejo para la semana que viene!

¡A darle caña! 💪

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *