ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Protección de archivos (tareas)


Enviado por   •  22 de Julio de 2013  •  Informes  •  2.323 Palabras (10 Páginas)  •  259 Visitas

Página 1 de 10

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.

Cómo visualizar información de archivos

Cambiar la propiedad de archivo local.

Cómo cambiar el propietario de un archivo

Cómo cambiar la propiedad de grupo de un archivo

Cambiar permisos de archivo local.

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

Cómo visualizar información de archivos

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

Escriba el siguiente comando para mostrar un listado largo de todos los archivos en el directorio actual.

% ls -la

-l

Muestra el formato largo que incluye la propiedad de usuario, la propiedad de grupo y los permisos de archivo.

-a

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.

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, debe ser superusuario.

Visualice los permisos en un archivo.

% ls -l example-file

-rw-r--r-- 1 janedoe staff 112640 May 24 10:49 example-file

Conviértase en administrador con los atributos de seguridad necesarios.

Para obtener más información, consulte Cómo obtener derechos administrativos.

Cambie el propietario del archivo.

# chown stacey example-file

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

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

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, debe ser superusuario.

Conviértase en administrador con los atributos de seguridad necesarios.

Para obtener más información, consulte Cómo obtener derechos administrativos.

Cambie la propiedad de grupo de un archivo.

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

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.

Cambie permisos en modo simbólico.

% chmod who operator permissions filename

quién

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

operador

Especifica la operación que se va a realizar.

permisos

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

nombre_archivo

Especifica el archivo o directorio.

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, 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

Cómo cambiar permisos de archivo en modo absoluto

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

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.

nombre_archivo

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

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, 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

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, debe ser superusuario.

Conviértase en administrador con los atributos de seguridad necesarios.

Para obtener más información, consulte Cómo obtener derechos administrativos.

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.

nombre_archivo

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

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.

Cómo buscar archivos con permisos de archivo especiales

Evitar que pilas ejecutables se desborden.

Impide que los programas se aprovechen de una pila ejecutable.

Cómo impedir que programas usen pilas ejecutables

Evitar el registro de mensajes de pilas ejecutables.

Desactiva el registro de mensajes de pilas ejecutables.

Ejemplo 7-7

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 tener el rol root.

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/nombre_archivo

Es el archivo que contiene los resultados del comando find.

Muestra los resultados en /tmp/nombre_archivo.

# 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

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 tener el rol root.

Edite el archivo /etc/ y agregue la siguiente línea:

set noexec_user_stack=1

Reinicie el sistema.

# 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:

http://blogs.oracle.com/gbrunett/entry/solaris_non_executable_stack_overview

http://blogs.oracle.com/gbrunett/entry/solaris_non_executable_stack_continued

http://blogs.oracle.com/gbrunett/entry/solaris_non_executable_stack_concluded

...

Descargar como  txt (15 Kb)  
Leer 9 páginas más »
txt