¿Cómo Escribir Programas Seguros? - Afinar el control de accesos

4 - Afinar el control de accesos

[editar]
Tutorial creado por Mononeurona.org. Extraido de: http://www.mononeurona.org/index.php?idp=535
08 de Noviembre de 2005
Tradicionalmente Unix basa su control de acceso en los nueve famosos y archiconocidos bits "rwx". Sin embargo, muchos Unix modernos (por ejemplo, Solaris) permiten fijar privilegios de acceso usuario por usuario y grupo por grupo, para cada fichero y directorio. Es lo que se llama ACL: Access Control List. Con ello podemos crear un control de acceso para todos los directorios del sistema en el que el usuario "nobody" no tenga permisos de ningún tipo (salvo en los ficheros que sea absolutamente necesario).

La tecnología ACL es una de las tradicionales ventajas del mundo de los "mainframes", pero poco a poco empieza a importarse al mundo Unix. Su gran ventaja es que permite un ajuste extremadamente fino de los usuarios y grupos que tienen acceso (y qué tipo de acceso) a cada fichero del sistema. Sus mayores desventajas son el hecho de no estar todavía muy difundido, que la mayoría de las herramientas estándar Unix no saben cómo manejarlas, y que en muchas implementaciones suponen una pérdida de rendimiento apreciable.

Una descripción detallada del ACL constituye un artículo en sí mismo (en un futuro próximo :-)), además de no estar disponible en muchos de los Unix más populares. En todo caso os recomiendo que si teneis de la suerte de tener acceso a un sistema con esas funcionalidades os leais con calma los manuales de "acl()", "facl()", "setfacl" y "getfacl". Seguro que a más de uno se le "caerá la baba".

El uso combinado de un buen "chroot" en condiciones, siempre que sea posible, como se indica en el primer punto, y la tecnología ACL, posibilitan cerrar a un proceso todos los recursos menos los absolutamente necesarios para su funcionamiento.

Normalmente los ficheros y directorios con ACL activado se marcan con un signo "más" ("+") en el listado de modos.

En sistemas sin ACL es relativamente sencillo instalar un "wrapper" que haga "chroot" y cambie el "uid" y "gid" a algo relativamente inocuo. Puede encontrarse una implementación, por ejemplo, en http://www.umr.edu/~cgiwrap/.
[editar]

Sé el primero en opinar


Tutoriales relacionados con '¿Cómo Escribir Programas Seguros?'

En este artículo vamos a intentar dar algunos consejos para la programación segura en C.... Más »
El objetivo de este documento es enseñar las bases de la instalación de un cortafuegos... Más »
Esta guía no es un documento general de seguridad. Esta guía está específicamente orientada a... Más »
Documento con fundamentos teóricos de control de accesos en redes telemáticas; se tratan temas como... Más »
Bienvenidos al manual de HTML de Indaya.A través de todos estos capítulos vamos a descubrir... Más »

Autor y licencia de '¿Cómo Escribir Programas Seguros?'


Tutorial de Mononeurona.org. Extraido de: http://www.mononeurona.org/index.php?idp=535 CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.