Articulo de referencia

Lista de control de acceso

En seguridad informática , una lista de control de acceso ( ACL ) es una lista de permisos [ a ] asociada a un recurso del sistema (objeto o instalación). Una ACL especifica qué...

En seguridad informática , una lista de control de acceso ( ACL ) es una lista de permisos [ a ] asociada a un recurso del sistema (objeto o instalación). Una ACL especifica qué usuarios o procesos del sistema tienen acceso a los recursos, así como qué operaciones están permitidas en determinados recursos. [ 1 ] Cada entrada en una ACL típica especifica un sujeto y una operación. Por ejemplo,

  • Si un objeto de archivo tiene una ACL que contiene(Alicia: leer, escribir; Bob: leer)Esto le daría a Alice permiso para leer y escribir el archivo, y a Bob solo permiso para leerlo.
  • Si el perfil de Resource Access Control Facility (RACF) CONSOLE CLASS(TSOAUTH) tiene una ACL que contiene(ALICIA:LEER)Esto le daría a ALICE permiso para usar el comando TSO CONSOLE.

Implementaciones

Muchos tipos de sistemas operativos implementan ACL o tienen una implementación histórica; la primera implementación de ACL se dio en el sistema de archivos de Multics en 1965. [ 2 ] [ 3 ]

ACL del sistema de archivos

Una ACL del sistema de archivos es una estructura de datos (generalmente una tabla) que contiene entradas que especifican los derechos de usuario o grupo individuales sobre objetos del sistema específicos, como programas, procesos o archivos. Estas entradas se conocen como entradas de control de acceso (ACE) en Microsoft Windows NT , [ 4 ] OpenVMS y sistemas operativos tipo Unix como Linux , macOS y Solaris . Cada objeto accesible contiene un identificador para su ACL. Los privilegios o permisos determinan los derechos de acceso específicos, como si un usuario puede leer, escribir o ejecutar un objeto. En algunas implementaciones, una ACE puede controlar si un usuario o grupo de usuarios puede modificar la ACL de un objeto.

Uno de los primeros sistemas operativos en proporcionar ACL de sistema de archivos fue Multics. PRIMOS incluía ACL al menos desde 1984. [ 5 ]

En la década de 1990, los modelos de control de acceso basado en listas de control de acceso (ACL) y en roles (RBAC) fueron ampliamente probados y utilizados para administrar los permisos de archivos.

ACL POSIX

El grupo de trabajo POSIX 1003.1e/1003.2c se esforzó por estandarizar las ACL, lo que dio como resultado lo que ahora se conoce como "POSIX.1e ACL" o simplemente "POSIX ACL". [ 6 ] Los borradores de POSIX.1e/POSIX.2c se retiraron en 1997 debido a que los participantes perdieron interés en financiar el proyecto y recurrieron a alternativas más potentes como las ACL de NFSv4. [ 7 ] A diciembre de 2019 No se pudieron encontrar fuentes vivas del borrador en Internet, pero aún se puede encontrar en Internet Archive . [ 8 ]

La mayoría de los sistemas operativos Unix y similares a Unix (por ejemplo, Linux desde la versión 2.5.46 o noviembre de 2002, [ 9 ] FreeBSD o Solaris) admiten ACL POSIX.1e (no necesariamente el borrador  17). Las ACL generalmente se almacenan en los atributos extendidos de un archivo en estos sistemas.

Lista de control de acceso (ACL) de NFSv4

Las ACL de NFSv4 son mucho más potentes que las ACL preliminares de POSIX. A diferencia de las ACL preliminares de POSIX, las ACL de NFSv4 están definidas por un estándar publicado, como parte del Sistema de Archivos de Red .

Las ACL de NFSv4 son compatibles con muchos sistemas operativos Unix y similares a Unix. Algunos ejemplos incluyen AIX , FreeBSD , [ 10 ] Mac OS X a partir de la versión 10.4 (" Tiger "), o Solaris con el sistema de archivos ZFS , [ 11 ] que admiten ACL de NFSv4, las cuales forman parte del estándar NFSv4. Existen dos implementaciones experimentales de ACL de NFSv4 para Linux: la compatibilidad con ACL de NFSv4 para el sistema de archivos Ext3 [ 12 ] y la más reciente Richacls , que ofrece compatibilidad con ACL de NFSv4 para el sistema de archivos Ext4 . [ 13 ] Al igual que con las ACL de POSIX, las ACL de NFSv4 se almacenan generalmente como atributos extendidos en sistemas similares a Unix.

Las ACL de NFSv4 están organizadas de forma casi idéntica a las  ACL de Windows NT utilizadas en NTFS . [ 14 ] Las ACL de NFSv4.1 son un superconjunto tanto de las ACL de NT como de las ACL de borrador POSIX. [ 15 ] Samba admite guardar las ACL de NT de archivos compartidos por SMB de muchas maneras, una de las cuales es como ACL codificadas en NFSv4. [ 16 ]

Listas de control de acceso (ACL) de Active Directory

El servicio Active Directory de Microsoft implementa un servidor LDAP que almacena y distribuye información de configuración sobre usuarios y equipos en un dominio. [ 17 ] Active Directory extiende la especificación LDAP al agregar el mismo tipo de mecanismo de lista de control de acceso que Windows  NT utiliza para el sistema de archivos NTFS.  Posteriormente, Windows 2000 extendió la sintaxis para las entradas de control de acceso de manera que pudieran no solo otorgar o denegar el acceso a objetos LDAP completos, sino también a atributos individuales dentro de estos objetos. [ 18 ]

Listas de control de acceso (ACL) de red

En algunos tipos de hardware informático propietario (en particular, enrutadores y conmutadores ), una lista de control de acceso (ACL) proporciona reglas que se aplican a los números de puerto o direcciones IP disponibles en un host u otro dispositivo de capa  3 , cada uno con una lista de hosts y/o redes autorizados a usar el servicio. Si bien también es posible configurar listas de control de acceso basadas en nombres de dominio de red , esta es una idea cuestionable, ya que las cabeceras individuales de TCP , UDP e ICMP no contienen nombres de dominio. En consecuencia, el dispositivo que aplica la lista de control de acceso debe resolver los nombres a direcciones numéricas por separado. Esto presenta una superficie de ataque adicional para un atacante que busca comprometer la seguridad del sistema que protege la lista de control de acceso. Tanto los servidores individuales como los enrutadores pueden tener ACL de red. Las listas de control de acceso generalmente se pueden configurar para controlar tanto el tráfico entrante como el saliente, y en este contexto son similares a los cortafuegos . Al igual que los cortafuegos, las ACL pueden estar sujetas a regulaciones y estándares de seguridad como PCI DSS .

Implementaciones SQL

Los algoritmos ACL se han adaptado a SQL y a sistemas de bases de datos relacionales . Muchos sistemas "modernos" (de las décadas de 2000 y 2010) basados ​​en SQL, como los sistemas de planificación de recursos empresariales y de gestión de contenidos , han utilizado modelos ACL en sus módulos de administración.

Listas de control de acceso (ACL) indexadas por esquema

En 2024, los modelos ACL indexados por esquema surgieron como una alternativa ligera al almacenamiento de permisos tradicional basado en JSON. Una propuesta destacada introdujo la idea de almacenar solo los índices de las operaciones permitidas, en lugar de árboles de permisos completos. Esta técnica, formalizada posteriormente como SCode ACL , permite la codificación compacta de derechos de acceso (por ejemplo, "0 2 5") basada en un esquema plano predefinido, lo que la hace particularmente eficiente para su uso en sistemas sin estado, como tokens JWT o cookies de sesión. Este enfoque ganó popularidad rápidamente en las comunidades de desarrolladores por su minimalismo y rendimiento, y desde entonces se ha adoptado tanto en sistemas a pequeña escala como en sistemas de producción.

Comparando con RBAC

La principal alternativa al modelo ACL es el modelo de control de acceso basado en roles (RBAC). Un "modelo RBAC mínimo", RBACm , puede compararse con un mecanismo ACL, ACLg , donde solo se permiten grupos como entradas en la ACL. Barkley (1997) [ 19 ] demostró que RBACm y ACLg son equivalentes.

En las implementaciones modernas de SQL, las ACL también gestionan grupos y la herencia en una jerarquía de grupos. Por lo tanto, las "ACL modernas" pueden expresar todo lo que expresa el RBAC y son notablemente más potentes (en comparación con las "ACL antiguas") en su capacidad para expresar la política de control de acceso en función de cómo los administradores perciben las organizaciones.

Para el intercambio de datos y para "comparaciones de alto nivel", los datos ACL se pueden traducir a XACML . [ 20 ]

Véase también

Notas

  1. Por ejemplo, permisos del sistema de archivos , permiso para realizar una acción específica.

Referencias

  1. R. Shirey (agosto de 2007). Glosario de seguridad en Internet, versión 2. IETF . doi : 10.17487 /RFC4949 . RFC 4949. Consultado el 19 de mayo de 2023 .
  2. Richard E. Smith. Seguridad de la información elemental . pág. 150. 
  3. Daley, RC; Neumann, PG (1965). "Un sistema de archivos de propósito general para almacenamiento secundario" . AFIPS '65 (Otoño, parte I): Actas de la conferencia conjunta de informática de otoño del 30 de noviembre al 1 de diciembre de 1965, parte I. ACM Press. pág. 213. doi : 10.1145/1463891.1463915 . 
  4. "Administración de autorización y control de acceso" . Microsoft Learn . 11 de septiembre de 2009. Consultado el 15 de mayo de 2024 .
  5. "PSI Pacer Software, Inc. Gnet-II revisión 3.0" . Communications. Computerworld . Vol. 18, n.º 21. 21 de mayo de 1984. pág. 54. ISSN 0010-4841 . Consultado el 30 de junio de 2017. La nueva versión de Gnet-II (revisión 3.0) ha añadido un mecanismo de seguridad de línea que se implementa bajo el subsistema ACL de Primos.    
  6. Grünbacher, Andreas. "Listas de control de acceso POSIX en Linux" . Usenix . Consultado el 12 de diciembre de 2019 .
  7. wurtzkurdle. "¿Por qué se retiró POSIX.1e?" . Unix StackExchange . Consultado el 12 de diciembre de 2019 .
  8. Trümper, Winfried (28 de febrero de 1999). "Resumen sobre Posix.1e" . Archivado del original el 23 de julio de 2008.
  9. "Notas de la versión de Red Hat Enterprise Linux AS 3 (edición x86)" . Red Hat . 2003. Archivado del original el 2 de diciembre de 2013. Consultado el 8 de abril de 2013. La funcionalidad EA (Atributos Extendidos) y ACL (Listas de Control de Acceso) ya está disponible para sistemas de archivos ext3. Además, la funcionalidad ACL está disponible para NFS.
  10. "ACL de NFSv4" . FreeBSD . 12 de septiembre de 2011. Consultado el 8 de abril de 2013 .
  11. "Capítulo 8 Uso de ACL y atributos para proteger archivos ZFS" . Oracle Corporation . 1 de octubre de 2009. Consultado el 8 de abril de 2013 .
  12. Grünbacher, Andreas (mayo de 2008). "ACL nativas de NFSv4 en Linux" . SUSE . Archivado del original el 20 de junio de 2013. Consultado el 8 de abril de 2013 .
  13. Grünbacher, Andreas (julio-septiembre de 2010). "Richacls: ACL nativas de NFSv4 en Linux" . bestbits.at. Archivado del original el 20 de marzo de 2013. Consultado el 8 de abril de 2013 .
  14. "ACLs" . Linux NFS .
  15. "Mapeo entre NFSv4 y ACL de borrador de Posix" .
  16. "vfs_nfs4acl_xattr(8)" . Manual de Samba .
  17. " [ MS-ADTS ] : Especificación técnica de Active Directory" . 7 de junio de 2024.
  18. Swift, Michael M. (noviembre de 2002). "Mejora de la granularidad del control de acceso para Windows 2000 ". ACM Transactions on Information and System Security . 5 (4): 398– 437. doi : 10.1145/581271.581273 . S2CID 10702162 . 
  19. J. Barkley (1997) " Comparación de modelos simples de control de acceso basados ​​en roles y listas de control de acceso ", En "Actas del segundo taller de ACM sobre control de acceso basado en roles", páginas 127-132.
  20. G. Karjoth, A. Schade y E. Van Herreweghen (2008) " Implementación de políticas basadas en ACL en XACML ", En "Conferencia anual de aplicaciones de seguridad informática de 2008".

Lecturas adicionales

  • Rhodes, Tom. "Listas de control de acceso (ACL) del sistema de archivos" . Manual de FreeBSD . Consultado el 8 de abril de 2013 .
  • Michael Fox; John Giordano; Lori Stotler; Arun Thomas (24 de agosto de 2005). "SELinux y grsecurity: un estudio de caso que compara las mejoras del kernel de seguridad de Linux" (PDF) . Universidad de Virginia . Archivado del original (PDF) el 24 de febrero de 2012. Consultado el 8 de abril de 2013 .
  • Hinrichs, Susan (2005). "Seguridad del sistema operativo" . Ciberseguridad Primavera 2005. Universidad de Illinois . Archivado del original el 4 de marzo de 2012. Recuperado el 8 de abril de 2013 .
  • Mitchell, John. "Control de acceso y seguridad del sistema operativo" (PDF) . Universidad de Stanford . Consultado el 8 de abril de 2013 .
  • Clarkson, Michael. "Control de acceso" . Universidad de Cornell . Consultado el 8 de abril de 2013 .
  • Klein, Helge (2009-03-12). "Permisos: Una introducción, o: DACL, SACL, propietario, SID y ACE explicados" . Recuperado el 2013-04-08 .
  • "Listas de control de acceso" . Microsoft Learn . 7 de febrero de 2023. Consultado el 15 de mayo de 2024 .
  • "Cómo funcionan los permisos" . Microsoft Learn . 3 de julio de 2013. Consultado el 15 de mayo de 2024 .