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)
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 siguientes procedimientos protegen archivos con permisos UNIX, identifican archivos con riesgos de seguridad y evitan que el sistema se ponga en riesgo por estos archivos.
El siguiente mapa de tareas indica procedimientos que enumeran permisos de archivo, cambian permisos de archivo y protegen archivos con permisos de archivo especiales.
|
Visualice información sobre todos los archivos en un directorio mediante el comando ls.
% ls -la
Muestra el formato largo que incluye la propiedad de usuario, la propiedad de grupo y los permisos de archivo.
Muestra todos los archivos, incluidos los archivos ocultos que empiezan con un punto (.).
Ejemplo 7-1 Visualización de información de archivos
En el siguiente ejemplo, se muestra una lista parcial de los archivos en el directorio /sbin.
% cd /sbin % ls -la total 4960 drwxr-xr-x 2 root sys 64 Dec 8 11:57 ./ drwxr-xr-x 39 root root 41 Dec 8 15:20 ../ -r-xr-xr-x 1 root bin 21492 Dec 1 20:55 autopush* -r-xr-xr-x 1 root bin 33680 Oct 1 11:36 beadm* -r-xr-xr-x 1 root bin 184360 Dec 1 20:55 bootadm* lrwxrwxrwx 1 root root 21 Jun 7 2010 bpgetfile -> ... -r-xr-xr-x 1 root bin 86048 Dec 1 20:55 cryptoadm* -r-xr-xr-x 1 root bin 12828 Dec 1 20:55 devprop* -r-xr-xr-x 1 root bin 130132 Dec 1 20:55 dhcpagent* -r-xr-xr-x 1 root bin 13076 Dec 1 20:55 dhcpinfo* . . .
Cada una de las líneas muestra información sobre un archivo en el siguiente orden:
Tipo de archivo, por ejemplo, d. Para obtener una lista de tipos de archivo, consulte Propiedad de archivos y directorios.
Permisos, por ejemplo, r-xr-xr-x. Para obtener una descripción, consulte Propiedad de archivos y directorios.
Número de enlaces físicos, por ejemplo, 2.
Propietario del archivo, por ejemplo, root.
Grupo del archivo, por ejemplo, bin.
Tamaño del archivo, en bytes, por ejemplo, 21308.
Fecha de creación del archivo o la última fecha en la que el archivo se modificó, por ejemplo, Diciembre 9 15:55.
Nombre del archivo, por ejemplo, dhcpinfo.
Antes de empezar
Si no es el propietario del archivo o directorio, debe tener asignado el perfil de derechos de gestión de acceso a objetos. Para cambiar un archivo que es un objeto público, debe ser superusuario.
% ls -l example-file -rw-r--r-- 1 janedoe staff 112640 May 24 10:49 example-file
Para obtener más información, consulte Cómo obtener derechos administrativos.
# chown stacey example-file
# ls -l example-file -rw-r--r-- 1 stacey staff 112640 May 26 08:50 example-file
Los sistemas de archivos montados en NFS tienen más restricciones para cambiar la propiedad y los grupos. Para obtener más información, consulte el Capítulo 6, Acceso a los sistemas de archivos de red (referencia) de Oracle Administración Solaris: Servicios de red.
Ejemplo 7-2 Cómo permitir que los usuarios cambien la propiedad de sus propios archivos
Consideración de seguridad: necesita una buena razón para cambiar el valor de la variable rstchown a cero. El valor predeterminado evita que los usuarios enumeren sus archivos como pertenecientes a otros para omitir las cuotas de espacio.
En este ejemplo, el valor de la variable rstchown se define en cero, en el archivo /etc/system. Este valor permite al propietario de un archivo utilizar el comando chown para cambiar la propiedad del archivo a otro usuario. Este valor también permite al propietario utilizar el comando chgrp para establecer la propiedad de grupo de un archivo en un grupo al que el propietario no pertenece. El cambio entra en vigor cuando se reinicia el sistema.
set rstchown = 0
Para obtener más información, consulte las páginas del comando man chown(1) y chgrp(1).
Antes de empezar
Si no es el propietario del archivo o directorio, debe tener asignado el perfil de derechos de gestión de acceso a objetos. Para cambiar un archivo que es un objeto público, debe ser superusuario.
Para obtener más información, consulte Cómo obtener derechos administrativos.
$ chgrp scifi example-file
Para obtener información sobre la configuración de grupos, consulte el Capítulo 2, Gestión de grupos y cuentas de usuario (descripción general) de Administración de Oracle Solaris: tareas comunes.
$ ls -l example-file -rw-r--r-- 1 stacey scifi 112640 June 20 08:55 example-file
Consulte también el Ejemplo 7-2.
En el siguiente procedimiento, un usuario cambia permisos en un archivo que el usuario posee.
% chmod who operator permissions filename
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. Para obtener la lista de símbolos válidos, consulte la Tabla 7-5.
Especifica el archivo o directorio.
% ls -l filename
Nota - Si no es el propietario del archivo o directorio, debe tener asignado el perfil de derechos de gestión de acceso a objetos. Para cambiar un archivo que es un objeto público, debe ser superusuario.
Ejemplo 7-3 Cambio de permisos en modo simbólico
En el siguiente ejemplo, el permiso de lectura se quita de otros.
% chmod o-r example-file1
En el siguiente ejemplo, los permisos de lectura y ejecución se agregan a un archivo local para usuario, grupo y otros.
$ chmod a+rx example-file2
En el siguiente ejemplo, los permisos de lectura, escritura y ejecución para un grupo se asignan a un archivo local.
$ chmod g=rwx example-file3
En el siguiente procedimiento, un usuario cambia permisos en un archivo que el usuario posee.
% chmod nnn filename
Especifica los valores octales que representan los permisos para el propietario de archivo, el grupo de archivos y otros, en ese orden. Para obtener la lista de valores octales válidos, consulte la Tabla 7-4.
Especifica el archivo o directorio.
Nota - Al utilizar el comando chmod para cambiar los permisos de grupo de archivos en un archivo con entradas de ACL, tanto los permisos de grupo de archivos como la máscara de la ACL se cambian a los nuevos permisos. Tenga en cuenta que los nuevos permisos de la máscara de la ACL pueden cambiar los permisos para otros usuarios y grupos que tienen entradas de ACL en el archivo. Utilice el comando getfacl para asegurarse de que los permisos adecuados se establezcan para todas las entradas de la ACL. Para obtener más información, consulte la página del comando man getfacl(1).
% ls -l filename
Nota - Si no es el propietario del archivo o directorio, debe tener asignado el perfil de derechos de gestión de acceso a objetos. Para cambiar un archivo que es un objeto público, debe ser superusuario.
Ejemplo 7-4 Cambio de permisos en modo absoluto
En el siguiente ejemplo, los permisos de un directorio público se cambian de 744 (lectura, escritura, ejecución; sólo lectura; y sólo lectura) a 755 (lectura, escritura, ejecución; lectura y ejecución; y lectura y ejecución).
# ls -ld public_dir drwxr--r-- 1 jdoe staff 6023 Aug 5 12:06 public_dir # chmod 755 public_dir # ls -ld public_dir drwxr-xr-x 1 jdoe staff 6023 Aug 5 12:06 public_dir
En el siguiente ejemplo, los permisos de una secuencia de comandos de shell ejecutable se cambian de lectura y escritura a lectura, escritura y ejecución.
% ls -l my_script -rw------- 1 jdoe staff 6023 Aug 5 12:06 my_script % chmod 700 my_script % ls -l my_script -rwx------ 1 jdoe staff 6023 Aug 5 12:06 my_script
Antes de empezar
Si no es el propietario del archivo o directorio, debe tener asignado el perfil de derechos de gestión de acceso a objetos. Para cambiar un archivo que es un objeto público, debe ser superusuario.
Para obtener más información, consulte Cómo obtener derechos administrativos.
% chmod nnnn filename
Especifica los valores octales que cambian los permisos en el archivo o directorio. El valor octal que se encuentra más a la izquierda establece los permisos especiales en el archivo. Para obtener la lista de valores octales válidos para permisos especiales, consulte la Tabla 7-6.
Especifica el archivo o directorio.
Nota - Al utilizar el comando chmod para cambiar los permisos de grupo de archivos en un archivo con entradas de ACL, tanto los permisos de grupo de archivos como la máscara de la ACL se cambian a los nuevos permisos. Tenga en cuenta que los nuevos permisos de la máscara de ACL pueden cambiar los permisos para otros usuarios y grupos que tienen entradas de ACL en el archivo. Utilice el comando getfacl para asegurarse de que los permisos adecuados se establezcan para todas las entradas de la ACL. Para obtener más información, consulte la página del comando man getfacl(1).
% ls -l filename
Ejemplo 7-5 Establecimiento de permisos de archivo especiales en modo absoluto
En el ejemplo siguiente, el permiso setuid está establecido en el archivo dbprog.
# chmod 4555 dbprog # ls -l dbprog -r-sr-xr-x 1 db staff 12095 May 6 09:29 dbprog
En el ejemplo siguiente, el permiso setgid está establecido en el archivo dbprog2.
# chmod 2551 dbprog2 # ls -l dbprog2 -r-xr-s--x 1 db staff 24576 May 6 09:30 dbprog2
En el siguiente ejemplo, el permiso de bit de permanencia está establecido en el directorio public_dir.
# chmod 1777 public_dir # ls -ld public_dir drwxrwxrwt 2 jdoe staff 512 May 15 15:27 public_dir
El siguiente mapa de tareas indica procedimientos que buscan ejecutables riesgosos en el sistema y que impiden que los programas se aprovechen de una pila ejecutable.
|
Este procedimiento ubica el uso potencialmente no autorizado de permisos setuid y setgid en programas. Un archivo ejecutable sospechoso concede propiedad a un usuario en lugar de a root o bin.
Antes de empezar
Debe tener el rol root.
# find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename
Comprueba todas las rutas montadas a partir del directorio especificado, que puede ser root (/), sys, bin o mail.
Muestra archivos que sólo son propiedad de root.
Muestra archivos sólo con permisos establecidos en 4000.
Muestra el resultado del comando find en formato ls -ldb.
Es el archivo que contiene los resultados del comando find.
# more /tmp/filename
Para obtener más información sobre los permisos setuid, consulte Permiso setuid.
Ejemplo 7-6 Búsqueda de archivos con permisos setuid
El resultado del siguiente ejemplo muestra que un usuario en un grupo denominado rar ha realizado una copia personal de /usr/bin/sh y ha establecido los permisos como setuid en root. Como resultado, el programa /usr/rar/bin/sh se ejecuta con permisos root.
Esta salida se ha guardado para referencia futura moviendo el directorio /var/tmp/chkprm a un archivo.
# find / -user root -perm -4000 -exec ls -ldb {} \; > /var/tmp/ckprm # cat /var/tmp/ckprm -r-sr-xr-x 1 root bin 38836 Aug 10 16:16 /usr/bin/at -r-sr-xr-x 1 root bin 19812 Aug 10 16:16 /usr/bin/crontab ---s--x--x 1 root sys 46040 Aug 10 15:18 /usr/bin/ct -r-sr-xr-x 1 root sys 12092 Aug 11 01:29 /usr/lib/mv_dir -r-sr-sr-x 1 root bin 33208 Aug 10 15:55 /usr/lib/lpadmin -r-sr-sr-x 1 root bin 38696 Aug 10 15:55 /usr/lib/lpsched ---s--x--- 1 root rar 45376 Aug 18 15:11 /usr/rar/bin/sh -r-sr-xr-x 1 root bin 12524 Aug 11 01:27 /usr/bin/df -rwsr-xr-x 1 root sys 21780 Aug 11 01:27 /usr/bin/newgrp -r-sr-sr-x 1 root sys 23000 Aug 11 01:27 /usr/bin/passwd -r-sr-xr-x 1 root sys 23824 Aug 11 01:27 /usr/bin/su # mv /var/tmp/ckprm /export/sysreports/ckprm
Para obtener una descripción de los riesgos de seguridad de las pilas ejecutables de 32 bits, consulte Cómo evitar que los archivos ejecutables pongan en riesgo la seguridad.
Antes de empezar
Debe tener el rol root.
set noexec_user_stack=1
# reboot
Ejemplo 7-7 Deshabilitación del registro de mensajes de pilas ejecutables
En este ejemplo, el registro de mensajes de pilas ejecutables se deshabilita y el sistema se reinicia.
# cat /etc/system set noexec_user_stack=1 set noexec_user_stack_log=0 # reboot
Véase también
Para obtener más información, lea lo siguiente: