Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
Administración de Oracle Solaris: servicios de seguridad Oracle Solaris 11 Information Library (Español) |
Parte I Descripción general de la seguridad
1. Servicios de seguridad (descripción general)
Parte II Seguridad de sistemas, archivos y dispositivos
2. Gestión de seguridad de equipos (descripción general)
3. Control de acceso a sistemas (tareas)
4. Servicio de análisis de virus (tareas)
5. Control de acceso a dispositivos (tareas)
6. Uso de la herramienta básica de creación de informes de auditoría (tareas)
7. Control de acceso a archivos (tareas)
Uso de permisos UNIX para proteger archivos
Comandos para visualizar y proteger archivos
Propiedad de archivos y directorios
Permisos de archivo especiales (setuid, setgid y bit de permanencia)
Uso de listas de control de acceso para proteger archivos UFS
Cómo evitar que los archivos ejecutables pongan en riesgo la seguridad
Protección de archivos (tareas)
Protección de archivos con permisos UNIX (mapa de tareas)
Cómo visualizar información de archivos
Cómo cambiar el propietario de un archivo
Cómo cambiar la propiedad de grupo de un archivo
Cómo cambiar los permisos de archivo en modo simbólico
Cómo cambiar permisos de archivo en modo absoluto
Cómo cambiar permisos de archivo especiales en modo absoluto
Protección contra programas con riesgo de seguridad (mapa de tareas)
Cómo buscar archivos con permisos de archivo especiales
Cómo impedir que programas usen pilas ejecutables
Parte III Roles, perfiles de derechos y privilegios
8. Uso de roles y privilegios (descripción general)
9. Uso del control de acceso basado en roles (tareas)
10. Atributos de seguridad en Oracle Solaris (referencia)
Parte IV Servicios criptográficos
11. Estructura criptográfica (descripción general)
12. Estructura criptográfica (tareas)
13. Estructura de gestión de claves
Parte V Servicios de autenticación y comunicación segura
14. Autenticación de servicios de red (tareas)
17. Uso de Secure Shell (tareas)
19. Introducción al servicio Kerberos
20. Planificación del servicio Kerberos
21. Configuración del servicio Kerberos (tareas)
22. Mensajes de error y resolución de problemas de Kerberos
23. Administración de las políticas y los principales de Kerberos (tareas)
24. Uso de aplicaciones Kerberos (tareas)
25. El servicio Kerberos (referencia)
Parte VII Auditoría en Oracle Solaris
26. Auditoría (descripción general)
27. Planificación de la auditoría
Los archivos se pueden proteger mediante permisos de archivo UNIX y mediante ACL. Los archivos con bits de permanencia y los archivos que son ejecutables requieren medidas de seguridad especiales.
En esta tabla, se describen los comandos para supervisar y proteger archivos y directorios.
Tabla 7-1 Comandos para proteger archivos y directorios
|
Los permisos de archivo UNIX tradicionales pueden asignar propiedad a tres clases de usuarios:
usuario: el propietario del archivo o directorio, que, normalmente, es el usuario que creó el archivo. El propietario de un archivo puede decidir quién tiene derecho a leer el archivo, escribir en el archivo (realizar cambios en él) o, si el archivo es un comando, ejecutar el archivo.
grupo: los miembros de un grupo de usuarios.
otros: todos los demás usuarios que no son los propietarios del archivo y no son miembros del grupo.
El propietario del archivo, normalmente, puede asignar o modificar permisos de archivo. Además, la cuenta root puede cambiar la propiedad de un archivo. Para sustituir la política del sistema, consulte el Ejemplo 7-2.
Un archivo puede ser uno de siete tipos. Cada tipo se muestra con un símbolo:
Archivo especial de bloques
Archivo especial de caracteres
Directorio
Enlace simbólico
Socket
Puerta
Conducción con nombre (FIFO)
En la siguiente tabla, se muestran y se describen los permisos que puede otorgar a cada clase de usuario para un archivo o directorio.
Tabla 7-2 Permisos de archivos y directorios
|
Estos permisos de archivo se aplican a archivos regulares y a archivos especiales, como dispositivos, sockets y conducciones con nombre (FIFO).
Para un enlace simbólico, los permisos que se aplican son los permisos del archivo al que el enlace hace referencia.
Puede proteger los archivos de un directorio y sus subdirectorios estableciendo permisos de archivo restrictivos en ese directorio. Tenga en cuenta que, sin embargo, el superusuario tiene acceso a todos los archivos y directorios en el sistema.
Tres tipos de permisos especiales están disponibles para archivos ejecutables y directorios públicos: setuid, setgid y bit de permanencia. Cuando estos permisos se establecen, cualquier usuario que ejecuta ese archivo ejecutable asume el ID del propietario (o grupo) del archivo ejecutable.
Debe ser extremadamente cuidadoso cuando define permisos especiales, porque los permisos especiales constituyen un riesgo de seguridad. Por ejemplo, un usuario puede obtener capacidades de superusuario mediante la ejecución de un programa que establece el ID de usuario (UID) en 0, que es el UID de root. Además, todos los usuarios pueden establecer permisos especiales para archivos que poseen, lo cual constituye otro problema de seguridad.
Debe supervisar el sistema para detectar cualquier uso no autorizado de los permisos setuid y setgid con intención de obtener capacidades de superusuario. Un permiso sospechoso concede la propiedad de un programa administrativo a un usuario en lugar de a root o bin. Para buscar y mostrar todos los archivos que utilizan este permiso especial, consulte Cómo buscar archivos con permisos de archivo especiales.
Cuando el permiso setuid se establece en un archivo ejecutable, se otorga acceso a un proceso que ejecuta este archivo según el propietario del archivo. El acceso no se basa en el usuario que está ejecutando el archivo ejecutable. Este permiso especial permite a un usuario acceder a los archivos y directorios que, normalmente, están disponibles sólo para el propietario.
Por ejemplo, el permiso setuid del comando passwd hace posible que los usuarios cambien contraseñas. Un comando passwd con permiso setuid sería de la siguiente manera:
-r-sr-sr-x 3 root sys 28144 Jun 17 12:02 /usr/bin/passwd
Este permiso especial presenta un riesgo de seguridad. Algunos usuarios determinados pueden buscar una manera de mantener los permisos que se les otorgan mediante el proceso setuid, incluso después de que el proceso ha terminado de ejecutarse.
Nota - El uso de permisos setuid con los UID reservados (de 0 a 100) de un programa podría no establecer el UID efectivo correctamente. Utilice una secuencia de comandos de shell o evite el uso de los UID reservados con permisos setuid.
El permiso setgid es similar al permiso setuid. Se cambia el ID de grupo (GID) efectivo del proceso al grupo que posee el archivo y se le concede acceso a un usuario según los permisos que se otorgan a ese grupo. El comando /usr/bin/mail tiene permisos setgid:
-r-x--s--x 1 root mail 67504 Jun 17 12:01 /usr/bin/mail
Cuando el permiso setgid se aplica a un directorio, los archivos que se crearon en ese directorio pertenecen al grupo al que pertenece el directorio. Los archivos no pertenecen al grupo al que pertenece el proceso de creación. Cualquier usuario que tiene permisos de escritura y ejecución en el directorio puede crear un archivo allí. Sin embargo, el archivo pertenece al grupo que posee el directorio, no al grupo al que pertenece el usuario.
Debe supervisar el sistema para detectar cualquier uso no autorizado del permiso setgid con intención de obtener capacidades de superusuario. Un permiso sospechoso otorga acceso de grupo a tal programa a un grupo poco común en lugar de a root o bin. Para buscar y mostrar todos los archivos que utilizan este permiso, consulte Cómo buscar archivos con permisos de archivo especiales.
El bit de permanencia es un bit de permiso que protege los archivos dentro de un directorio. Si el directorio tiene el bit de permanencia establecido, un archivo sólo puede ser eliminado por el propietario del archivo, el propietario del directorio o un usuario con privilegios. El usuario root es un ejemplo de un usuario con privilegios. El bit de permanencia impide que un usuario elimine los archivos de otros usuarios de directorios públicos, como /tmp:
drwxrwxrwt 7 root sys 400 Sep 3 13:37 tmp
Asegúrese de definir el bit de permanencia manualmente al configurar un directorio público en un sistema de archivos TMPFS. Para obtener instrucciones, consulte el Ejemplo 7-5.
Al crear un archivo o directorio, se crea con un conjunto predeterminado de permisos. Los valores predeterminados del sistema son abiertos. Un archivo de texto tiene permisos 666, que conceden permisos de lectura y escritura a todos los usuarios. Un directorio y un archivo ejecutable tienen permisos 777, que conceden permisos de lectura, escritura y ejecución a todos los usuarios. Normalmente, los usuarios sustituyen los valores predeterminados del sistema en sus archivos de inicialización de shell, como .bashrc y .kshrc.user. Un administrador también puede establecer valores predeterminados en el archivo /etc/profile.
El valor asignado por el comando umask se obtiene del valor predeterminado. Este proceso tiene el efecto de denegar permisos de la misma forma que el comando chmod los otorga. Por ejemplo, el comando chmod 022 otorga permiso de escritura para grupo y otros. El comando umask 022 deniega permiso de escritura para grupo y otros.
En la siguiente tabla, se muestran algunos valores umask típicos y el efecto que tienen en un archivo ejecutable.
Tabla 7-3 Valores umask para niveles de seguridad diferentes
|
Para obtener más información sobre la configuración del valor umask, consulte la página del comando man umask(1).
El comando chmod permite cambiar los permisos en un archivo. Debe ser superusuario o el propietario de un archivo o directorio para cambiar los permisos.
Puede utilizar el comando chmod para definir permisos en uno de los dos modos siguientes:
Modo absoluto: use números para representar permisos de archivo. Al cambiar los permisos mediante el modo absoluto, representa los permisos para cada triplo con un número de modo octal. El modo absoluto es el método que se utiliza con más frecuencia para establecer permisos.
Modo simbólico: utilice combinaciones de letras y símbolos para agregar o eliminar permisos.
En la siguiente tabla, se muestran los valores octales para configurar permisos de archivo en modo absoluto. Use estos números en conjuntos de tres para definir permisos para propietario, grupo y otros, en ese orden. Por ejemplo, el valor 644 establece permisos de lectura y escritura para propietario, y permisos de sólo lectura para grupo y otros.
Tabla 7-4 Establecimiento de permisos de archivo en modo absoluto
|
En la siguiente tabla, se muestran los símbolos para establecer permisos de archivo en modo simbólico. Los símbolos pueden especificar los permisos de qué usuarios se van a definir o cambiar, la operación que se va a realizar y los permisos que se están asignando o cambiando.
Tabla 7-5 Establecimiento de permisos de archivo en modo simbólico
|
Las designaciones quién operador permisos en la columna de función especifican los símbolos que cambian los permisos en el archivo o directorio.
Especifica los permisos de qué usuarios se van a cambiar.
Especifica la operación que se va a realizar.
Especifica qué permisos se van a cambiar.
Puede definir permisos especiales en un archivo en modo absoluto o modo simbólico. No obstante, debe utilizar el modo simbólico para definir o eliminar permisos setuid en un directorio. En el modo absoluto, los permisos especiales se establecen agregando un nuevo valor octal a la izquierda del triplo de permiso. En la siguiente tabla, se muestran los valores octales para definir permisos especiales en un archivo.
Tabla 7-6 Establecimiento de permisos de archivo especiales en modo absoluto
|