JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Administración de Oracle Solaris 11.1: servicios de seguridad     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

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.  Verificación de la integridad de archivos mediante el uso de BART (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 UNIX

Permisos de archivo especiales (setuid, setgid y bit de permanencia)

Permiso setuid

Permiso setgid

Bit de permanencia

Valor umask predeterminado

Modos de permiso de archivo

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.  Uso de módulos de autenticación conectables

15.  Uso de Secure Shell

16.  Secure Shell (referencia)

17.  Uso de autenticación simple y capa de seguridad

18.  Autenticación de servicios de red (tareas)

Parte VI Servicio Kerberos

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

28.  Gestión de auditoría (tareas)

29.  Auditoría (referencia)

Glosario

Índice

Protección de archivos (tareas)

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.

Protección de archivos con permisos UNIX (mapa de tareas)

El siguiente mapa de tareas indica procedimientos que enumeran permisos de archivo, cambian permisos de archivo y protegen archivos con permisos de archivo especiales.

Tarea
Para obtener instrucciones
Visualizar información de archivos.
Cambiar la propiedad de archivo local.
Cambiar permisos de archivo local.

Cómo visualizar información de archivos

Visualice información sobre todos los archivos en un directorio mediante el comando ls.

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:

Cómo cambiar el propietario de un archivo

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, se debe asumir el rol root.

Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Visualice los permisos en un archivo local.
    % ls -l example-file
    -rw-r--r--   1 janedoe   staff   112640 May 24 10:49 example-file
  2. Cambie el propietario del archivo.
    # chown stacey example-file
  3. Verifique que el propietario del archivo haya cambiado.
    # ls -l example-file
    -rw-r--r--   1 stacey   staff   112640 May 26 08:50 example-file 

    Para cambiar los permisos de acceso a archivos montados en NFS, consulte el Capítulo 3, Acceso a los sistemas de archivos de red (referencia) de Gestión de sistemas de archivos de red en Oracle Solaris 11.1.

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).

Cómo cambiar la propiedad de grupo de un archivo

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, se debe asumir el rol root.

Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Cambie la propiedad de grupo de un archivo.
    $ chgrp scifi example-file

    Para obtener más información sobre la configuración de grupos, consulte el Capítulo 1, Gestión de cuentas de usuario y entornos de usuario (descripción general) de Gestión de las cuentas de usuario y los entornos de usuario en Oracle Solaris 11.1.

  2. Verifique que la propiedad de grupo del archivo haya cambiado.
    $ ls -l example-file
     -rw-r--r--   1 stacey   scifi   112640 June 20 08:55  example-file

    Consulte también el Ejemplo 7-2.

Cómo cambiar los permisos de archivo en modo simbólico

En el siguiente procedimiento, un usuario cambia permisos en un archivo que el usuario posee.

  1. Cambie permisos en modo simbólico.
    % chmod who operator permissions filename
    who

    Especifica los permisos de qué usuarios se van a cambiar.

    operator

    Especifica la operación que se va a realizar.

    permissions

    Especifica qué permisos se van a cambiar. Para obtener la lista de símbolos válidos, consulte la Tabla 7-5.

    filename

    Especifica el archivo o directorio.

  2. Verifique que los permisos del archivo hayan cambiado.
    % 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, se debe asumir el rol root.


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

Cómo cambiar permisos de archivo en modo absoluto

En el siguiente procedimiento, un usuario cambia permisos en un archivo que el usuario posee.

  1. Cambie permisos en modo absoluto.
    % chmod nnn filename
    nnn

    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.

    filename

    Especifica el archivo o directorio.


    Nota - Si utiliza el comando chmod para cambiar permisos de archivos o directorios en objetos que ya tienen entradas de ACL, las entradas de la ACL cambiarán también. Los cambios exactos dependen de los cambios de operaciones de permisos chmod y de los valores de propiedad aclmode y aclinherit del sistema de archivos.

    Para obtener más información, consulte el Capítulo 7, Uso de listas de control de acceso y atributos para proteger archivos Oracle Solaris ZFS de Administración de Oracle Solaris 11.1: sistemas de archivos ZFS.


  2. Verifique que los permisos del archivo hayan cambiado.
    % 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, se debe asumir el rol root.


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

Cómo cambiar permisos de archivo especiales en modo absoluto

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, se debe asumir el rol root.

Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Cambie permisos especiales en modo absoluto.
    % chmod nnnn filename
    nnnn

    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.

    filename

    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).


  2. Verifique que los permisos del archivo hayan cambiado.
    % 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

Protección contra programas con riesgo de seguridad (mapa de tareas)

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.

Tarea
Descripción
Para obtener instrucciones
Buscar archivos con permisos especiales.
Localiza archivos con el bit setuid establecido, pero que no son propiedad del usuario root.
Evitar que pilas ejecutables se desborden.
Impide que los programas se aprovechen de una pila ejecutable.
Evitar el registro de mensajes de pilas ejecutables.
Desactiva el registro de mensajes de pilas ejecutables.

Cómo buscar archivos con permisos de archivo especiales

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 asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Busque archivos con permisos setuid mediante el comando find.
    # find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename
    find directorio

    Comprueba todas las rutas montadas a partir del directorio especificado, que puede ser root (/), sys, bin o mail.

    -user root

    Muestra archivos que sólo son propiedad de root.

    -perm -4000

    Muestra archivos sólo con permisos establecidos en 4000.

    -exec ls -ldb

    Muestra el resultado del comando find en formato ls -ldb.

    /tmp/filename

    Es el archivo que contiene los resultados del comando find.

  2. Muestra los resultados en /tmp/filename.
    # 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.

Este resultado se ha guardado para referencia futura moviendo el archivo /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

Cómo impedir que programas usen pilas ejecutables

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 asumir el rol root. Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados.

  1. Edite el archivo /etc/ y agregue la siguiente línea:
    set noexec_user_stack=1
  2. Reinicie el sistema.
    # reboot

Ejemplo 7-7 Desactivación del registro de mensajes de pilas ejecutables

En este ejemplo, el registro de mensajes de pilas ejecutables se desactiva 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: