Identidad y Gestión de Accesos (IAM)
¿Qué es una política de seguridad?
Las políticas de seguridad dentro de informática son normas y directrices que van enfocadas a garantizar la confidencialidad, integridad y disponibilidad de la información y minimizar los riesgos que puedan afectar a la misma.
Comúnmente se integran políticas y procedimientos como:
- Documento de buenas prácticas: Aborda el uso aceptable de los sistemas y la información por parte del personal, directrices para mantener el puesto de trabajo despejado, el bloqueo de equipo desatendido, la protección de contraseñas, etc.
- Controles de acceso físico y lógico: Se trata de los mecanismos y sistemas implementados para controlar el acceso que pueden tener las personas a las instalaciones de la organización (accesos físicos) y el acceso a los sistemas de la organización (accesos lógicos).
- Gestión de usuarios: Son todas las instrucciones para dar alta a nuevos usuarios, cambiar su rol dentro de los sistemas y como cambiar sus permisos de acceso.
- Clasificación y tratamiento de la información: Consiste en todas las instrucciones dirigidas a clasificar la información según su valor, requisitos legales, sensibilidad o criticidad.
Las políticas de seguridad informáticas enfocadas a la computación en la nube se basan en establecer reglas y directrices que definen quién puede acceder a qué recursos de la nube y cómo pueden interactuar con dichos recursos.
Gestionando las identidades.
¿Qué es IAM (Identity Access Managment)?
IAM consiste en la gestión de las identidades y los accesos, permitiendo que las entidades correctas (sean personas o cosas) usen los recursos correctos (aplicaciones o información) cuando los requieren.
Por regla general, IAM también comprende todos los sistemas y procesos que permiten a los administradores de TI asignarle una identidad digital a cada entidad, autentificarlos, asignarles permisos y monitorear su uso de los sistemas, aplicaciones o información.
En la siguiente infografía se muestran los objetivos principales de IAM:
En el entorno Cloud es de alta importancia tener un buen control de quien accede a los recursos en la nube, así como de a que recursos está teniendo acceso. Por fortuna, las plataformas más importantes de servicios en la nube incorporan robustos servicios relacionados a IAM. Conozcamos entonces a dos de estos:
AWS IAM:
Es un servicio de Amazon Web Services (AWS) que permite gestionar de forma segura identidades (usuarios, roles) y permisos para controlar el acceso a los recursos de AWS. Con este servicio los administradores pueden definir quien accede a los recursos y establecer las condiciones para dicho acceso.
Este servicio ofrece múltiples características, por ejemplo:
- Gestión de usuarios y grupos: Permite la creación de usuarios y organizar a los mismos en grupos, agilizando estos procedimientos.
- Roles: Permite otorgar permisos temporales a los servicios o aplicaciones.
- Políticas de acceso: Utiliza políticas descritas en documentos JSON para definir los múltiples permisos.
- Controles de acceso basados en roles: De la mano con establecer roles, permite implementar un control de acceso basado en estos mismos roles.
- Autenticación multifactor: Esta modalidad de autenticación solicita más de una credencial válida para poder conceder el acceso del usuario a los sistemas, aplicaciones o información; incrementando así la seguridad.
- Acceso condicional: Permite aplicar condiciones a los permisos, lo que significa que el acceso a los recursos puede depender de factores como la dirección IP, la hora del día, el dispositivo desde el cual se accede, etc.
- Control de acceso basado en roles: Permite asignar los permisos en función de roles, los cuales pueden estar predefinidos o ser personalizados.
- Principios de autorización: Google Cloud trabaja bajo principios, incluyendo cuentas de usuario, de servicio, grupos o dominios G suite.
- Políticas IAM: Permiten otorgar permisos de manera granular. Cada política incluye una lista de principios (usuarios o grupos), roles y permisos. Puede establecerse a nivel proyecto, organización o incluso recurso.
- Autenticación con cuentas de servicio: Permite que las cuentas de servicio (cuentas especiales que pertenecen a aplicaciones o máquinas virtuales) accedan a recursos en nombre de una aplicación.
Autenticación y Autorización.
La autenticación es la práctica de seguridad que consiste en confirmar que alguien es quien dice ser, por su parte, la autorización es el proceso de determinar el nivel de acceso que se concede a cada usuario.
Una forma común de autenticación es cuando ingresamos a nuestra cuenta de correo electrónico usando nuestra dirección de correo y su respectiva contraseña. El sistema de autenticación se encarga de verificar las credenciales y darnos acceso.
Con respecto a la autorización, pensemos en alguna plataforma para el trabajo colaborativo de documentos, este tipo de software suele incluir una forma de gestionar los permisos que cada colaborador tiene, es decir, el creador del documento puede elegir quien puede editar y quienes solo pueden leer dicho documento. Este es entonces un ejemplo muy sencillo de autorización.
El siguiente video del canal "TodoCode" ofrece una gran explicación entre la diferencia de Autenticación y Autorización, aportando también ejemplos de su uso en la vida real.
Si hablamos de cómputo en la nube, este apartado de autenticación y autorización es algo muy sensible y de suma importancia. No tener un buen control de ambos puede resultar en problemas mayores como filtración de datos sensibles, corrupción de los datos o la incapacidad de rastrear de donde provino la incursión.
Para trabajar mejor estos dos aspectos podemos revisar lo que es la autenticación multifactor y el principio del menor privilegio, veamos de que se trata.
Autenticación Multifactor (MFA).
Es un proceso de registro en varios pasos que requiere que el usuario ingrese más información que simplemente una contraseña. Por ejemplo, junto con la contraseña, se puede pedir ingresar un código que se envía a su correo electrónico, responder a una pregunta secreta o escanear una huella dactilar.
Se usa este proceso bajo el entendido de que a día de hoy no basta con solo una contraseña, puesto que esta se puede ver comprometida y si eso ocurre, se abre una brecha de seguridad que puede desencadenar en un acceso no deseado y, por consiguiente, una vulneración a nuestro sistema, aplicación, nube, etc.
Este proceso ocurre en tres fases principales:
- Registro: Se crea una cuenta con un nombre de usuario y una contraseña, adicionalmente se vincula otra clase de información para la futura autenticación, puede ser un dispositivo, un número de teléfono o información biométrica.
- Autenticación: Cuando el usuario usa sus credenciales para iniciar sesión, comúnmente su usuario y contraseña (primer factor) se solicita la información adicional que previamente fue estipulada. Por ejemplo, después de la contraseña puede solicitarse la huella digital del usuario, con esto se verifica que realmente es el usuario que dice ser.
- Reacción: Una vez verificadas las credenciales con su respectiva información adicional, el usuario puede acceder.
Los beneficios de MFA son:
- Reduce el riesgo de seguridad: La autenticación multifactor reduce los riesgos derivados de errores humanos, contraseñas extraviadas y dispositivos perdidos.
- Permite iniciativas digitales: Las empresas utilizan autenticación multifactor para ayudar a proteger los datos de la organización y de los usuarios, de modo que puedan realizar interacciones y transacciones en línea de manera segura.
- Mejora la respuesta de seguridad: Las compañías pueden configurar un sistema de autenticación multifactor para enviar de manera activa una alerta en cuanto se detecten intentos de inicio de sesión sospechosos.
Principio de mínimos privilegios.
Este principio se basa en otorgar únicamente los permisos mínimos necesarios para que el usuario realice sus funciones. Esto significa que un usuario o aplicación no debería tener acceso a recursos o capacidades que no son estrictamente necesarios para cumplir con sus tareas asignadas.
Las características de este principio son:
- Limitación de permisos: Los permisos se deben restringir solo a las acciones y recursos necesarios.
- Reducción de riesgos: Al limitar los privilegios, se reduce la superficie de ataque en caso de una violación de seguridad.
- Separación de funciones: Se asegura que ningún usuario o sistema tenga acceso completo a todos los recursos.
- Acceso temporal o condicional: En muchos casos, se otorgan permisos temporales o condicionales.
Bajo este principio obtenemos una mayor seguridad, podemos garantizar el cumplimiento normativo, reducir los errores humanos y limitar la exposición de los sistemas, aplicaciones o datos a las vulnerabilidades.
Ejemplos sencillos de cómo se puede implementar son:
- Bases de Datos: Asignar a un empleado que consulta datos en una base de datos solo permisos para leer esos datos, no para modificarlos o eliminarlos.
- Aplicaciones en la Nube: En servicios en la nube como AWS, Azure o Google Cloud, los roles y permisos asignados a usuarios o servicios deben limitarse a las tareas que necesitan realizar. Por ejemplo, una aplicación que almacena archivos en un bucket de almacenamiento no debería tener acceso a modificar políticas de seguridad del mismo.
En resumen...
Cuando trabajamos con recursos informáticos es esencial implementar mecanismos y técnicas para la correcta gestión de las identidades. Esto porque debemos proteger la información contenida en estos recursos, sobre todo se vuelve fundamental si estamos hablando del cómputo en la nube y el trabajo colaborativo. Debemos controlar correctamente quienes tienen acceso y a que, para esto podemos valernos de las herramientas que muchas de estas plataformas Cloud nos ofrecen con el servicio. Así, nos aseguramos de tener un control sobre quienes acceden a los datos con los que trabajamos y como interactúan con los mismos.
Alan Virgilio Castillo Gómez.
Fuentes y recursos:
UNIR México. Claves de las políticas de seguridad informática. Enlace: Políticas de seguridad informática, ¿qué son? | UNIR México
IBM ¿Qué es IAM? Enlace: ¿Qué es IAM? Identity and access management | IBM
Cloudflare ¿Qué es el control de acceso? | Autorización vs. autenticación. ¿Qué es el control de acceso? | Autorización vs. autenticación | Cloudflare
TodoCode. Autenticación vs Autorización | SEGURIDAD INFORMÁTICA. Enlace: 🔐 Autenticación vs Autorización | SEGURIDAD INFORMÁTICA🛡️ - YouTube
Amazon ¿Qué es la autenticación multifactor (MFA)? Enlace: ¿Qué es la autenticación multifactor? - Explicación de la autenticación multifactor - AWS (amazon.com)
Cloudflare ¿Qué es el principio de mínimos privilegios? Enlace: ¿Qué es el principio de mínimos privilegios? | Cloudflare
Comentarios
Publicar un comentario