De Wikipedia, la enciclopedia libre
  (Redirigido desde las listas de control de acceso )
Saltar a navegación Saltar a búsqueda

En seguridad informática , una lista de control de acceso ( ACL ) es una lista de permisos asociados con un recurso del sistema (objeto). Una ACL especifica qué usuarios o procesos del sistema tienen acceso a los objetos, así como qué operaciones están permitidas en determinados objetos. [1] Cada entrada en una ACL típica especifica un asunto y una operación. Por ejemplo, si un objeto de archivo tiene una ACL que contiene(Alice: leer, escribir; Bob: leer), esto le daría permiso a Alice para leer y escribir el archivo y solo le daría permiso a Bob para leerlo.

Implementaciones [ editar ]

Muchos tipos de sistemas operativos implementan ACL o tienen una implementación histórica. El primero de los cuales estaba en el sistema de archivos de Multics en 1965. [2]

LCA del sistema de archivos [ editar ]

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

Uno de los primeros sistemas operativos en proporcionar ACL de sistema de archivos fue Multics . PRIMOS presentaba ACL al menos desde 1984. [4]

En la década de 1990, los modelos ACL y RBAC fueron probados extensamente [¿ por quién? ] y se utiliza para administrar permisos de archivos.

POSIX ACL [ editar ]

El grupo de trabajo POSIX 1003.1e / 1003.2c hizo un esfuerzo por estandarizar las ACL, lo que resultó en lo que ahora se conoce como "POSIX.1e ACL" o simplemente "POSIX ACL". [5] Los borradores 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 poderosas como NFSv4 ACL. [6] A diciembre de 2019 , no se podían encontrar fuentes en vivo del borrador en Internet, pero aún se puede encontrar en Internet Archive . [7]

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

NFSv4 ACL [ editar ]

Las ACL de NFSv4 son mucho más potentes que las ACL de borrador de POSIX. A diferencia de los borradores de ACL de POSIX, las ACL de NFSv4 se definen mediante un estándar realmente publicado, como parte del Sistema de archivos de red .

Las ACL de NFSv4 son compatibles con muchos sistemas operativos Unix y similares a Unix. Los ejemplos incluyen AIX , FreeBSD , [9] Mac OS X comenzando con la versión 10.4 (" Tiger "), o Solaris con sistema de archivos ZFS , [10] soporta NFSv4 ACL, que son parte del estándar NFSv4. Hay dos implementaciones experimentales de NFSv4 ACL para Linux: soporte de NFSv4 ACL para el sistema de archivos Ext3 [11] y Richacls más reciente que trae soporte de NFSv4 ACL para el sistema de archivos Ext4 . [12] Al igual que con las ACL POSIX, las ACL NFSv4 generalmente se almacenan 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 que se utilizan en NTFS. [13] Las ACL de NFSv4.1 son un superconjunto de las ACL de NT y las ACL de borrador de POSIX. [14] Samba admite guardar las ACL de NT de los archivos compartidos por SMB de muchas formas, una de las cuales es como ACL codificadas en NFSv4. [15]

ACL de Active Directory [ editar ]

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

ACL de redes [ editar ]

En algunos tipos de hardware informático patentado (en particular, enrutadores y conmutadores ), una lista de control de acceso proporciona reglas que se aplican a los números de puerto o direcciones IP que están disponibles en un host u otra capa 3 , cada uno con una lista de hosts y / o redes permitidas para usar el servicio. Aunque también es posible configurar listas de control de acceso basadas en nombres de dominio de red, esta es una idea cuestionable porque los encabezados TCP , UDP e ICMP individuales no contienen nombres de dominio. En consecuencia, el dispositivo que aplica la lista de control de acceso debe resolver nombres por separadoa direcciones numéricas. 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 firewalls . Al igual que los cortafuegos, las ACL pueden estar sujetas a normas y estándares de seguridad como PCI DSS .

Implementaciones de SQL [ editar ]

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

Comparando con RBAC [ editar ]

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

En las implementaciones modernas de SQL, las ACL también administran grupos y herencia en una jerarquía de grupos. Por tanto, las "ACL modernas" pueden expresar todo lo que expresa RBAC y son notablemente poderosas (en comparación con las "ACL antiguas") en su capacidad para expresar la política de control de acceso en términos de la forma en que los administradores ven las organizaciones.

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

Ver también [ editar ]

  • Cacls
  • Seguridad basada en capacidades
  • Lista C
  • Problema de diputado confundido
  • DACL
  • Atributos de archivo extendidos
  • Control de acceso basado en roles (RBAC)

Referencias [ editar ]

  1. ^ RFC  4949
  2. ^ Seguridad de la información elemental por Richard E. Smith, p. 150
  3. ^ "Gestión de autorización y control de acceso" . Microsoft Technet . 2005-11-03 . Consultado el 8 de abril de 2013 .
  4. ^ "PSI Pacer Software, Inc. Gnet-II revisión 3.0" . Comunicaciones. Computerworld . 18 (21). 1984-05-21. pag. 54. ISSN 0010-4841 . Consultado el 30 de junio de 2017 . La nueva versión de Gnet-II (revisión 3.0) ha agregado un mecanismo de seguridad de línea que se implementa bajo el subsistema Primos ACL. 
  5. ^ Grünbacher, Andreas. "Listas de control de acceso POSIX en Linux" . Usenix . Consultado el 12 de diciembre de 2019 .
  6. ^ wurtzkurdle. "¿Por qué se retiró POSIX.1e?" . Unix StackExchange . Consultado el 12 de diciembre de 2019 .
  7. ^ Trümper, Winfried (28 de febrero de 1999). "Resumen sobre Posix.1e" . Archivado desde el original el 23 de julio de 2008.
  8. ^ "Notas de la versión de Red Hat Enterprise Linux AS 3 (edición x86)" . Red Hat . 2003 . Consultado el 8 de abril de 2013 . La funcionalidad EA (atributos extendidos) y ACL (listas de control de acceso) ahora está disponible para los sistemas de archivos ext3. Además, la funcionalidad ACL está disponible para NFS.
  9. ^ "ACL de NFSv4" . FreeBSD . 2011-09-12 . Consultado el 8 de abril de 2013 .
  10. ^ "Capítulo 8 Uso de ACL y atributos para proteger archivos ZFS" . Oracle Corporation . 2009-10-01 . Consultado el 8 de abril de 2013 .
  11. ^ Grünbacher, Andreas (mayo de 2008). "ACL nativas de NFSv4 en Linux" . SUSE . Archivado desde el original el 20 de junio de 2013 . Consultado el 8 de abril de 2013 .
  12. ^ Grünbacher, Andreas (julio-septiembre de 2010). "Richacls - ACL nativas de NFSv4 en Linux" . bestbits.at. Archivado desde el original el 20 de marzo de 2013 . Consultado el 8 de abril de 2013 .
  13. ^ "ACL" . Linux NFS .
  14. ^ "Mapeo entre NFSv4 y Posix Draft ACL" .
  15. ^ "vfs_nfs4acl_xattr (8)" . Manual de Samba .
  16. ^ "[MS-ADTS]: Especificación técnica de Active Directory" .
  17. ^ Swift, Michael M. (noviembre de 2002). "Mejora de la granularidad del control de acceso para Windows 2000". Transacciones ACM sobre seguridad de la información y los sistemas (Tissec) . 5 (4): 398–437. doi : 10.1145 / 581271.581273 . S2CID 10702162 . 
  18. ^ J. Barkley (1997) " Comparación de modelos de control de acceso basados ​​en roles simples y listas de control de acceso ", En "Actas del segundo taller de ACM sobre control de acceso basado en roles", páginas 127-132.
  19. ^ 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".

Lectura adicional [ editar ]

  • Rhodes, Tom. "Listas de control de acceso del sistema de archivos (ACL)" . 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 desde el original (PDF) el 24 de febrero de 2012 . Consultado el 8 de abril de 2013 .
  • Hinrichs, Susan (2005). "Seguridad del sistema operativo" . CyberSecurity Spring 2005 . Universidad de Illinois . Archivado desde el original el 4 de marzo de 2012 . Consultado 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 (12 de marzo de 2009). "Permisos: una cartilla, o: DACL, SACL, propietario, SID y ACE explicado" . Consultado el 8 de abril de 2013 .
  • "Listas de control de acceso" . Biblioteca de MSDN . 2012-10-26 . Consultado el 8 de abril de 2013 .
  • "Cómo funcionan los permisos" . Microsoft Technet . 2003-03-28 . Consultado el 8 de abril de 2013 .