Seguridad en el sistema de ficheros - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Seguridad en el sistema de ficheros

Description:

Title: Extra File System Security Tools Author: ntadmin Last modified by: santiago candela Created Date: 4/28/2004 9:47:50 AM Document presentation format – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 35
Provided by: ntadmin
Category:

less

Transcript and Presenter's Notes

Title: Seguridad en el sistema de ficheros


1
Seguridad en el sistema de ficheros
Argelia Martín Martín, Adrián Macias Casado
2
Permisos y Propiedad
  • Permisos
  • Dos grupos de propiedades (propiedad y derechos
    de acceso) por cada fichero
  • Almacenados en disco
  • Igual mecanismo para muchos dispositivos (que son
    ficheros)
  • Propiedad
  • Todo fichero tiene un usuario y un grupo asociado

3
Derechos de acceso (I)
  • Rwxrwxrwx
  • Posiciones 2-4 permisos para el usuario
    propietario
  • Posiciones 5-7 permisos para usuarios del grupo
    propietario
  • Posiciones 8-10 permisos para el resto de
    usuarios
  • Primer carácter tipo especial de fichero
  • d --gt el fichero es un directorio
  • b --gt dispositivo de bloque
  • c --gt dispositivo de tipo carácter
  • "-" --gt fichero normal

4
Derechos de acceso (II)
  • Ficheros
  • Lectura
  • Primer carácter de de cada rango (caracteres 2,
    5, 8)
  • Escritura
  • Segundo carácter de de cada rango (caracteres 3,
    6, 9)
  • Ejecución
  • Tercer carácter de de cada rango (caracteres 4,
    7, 10)

5
Derechos de acceso (III)
  • Directorios
  • Significado algo distinto que con los fichero
  • Lectura
  • Permiso para listar el contenido
  • Escritura
  • Permiso para crear o borrar ficheros del
    directorio
  • Ejecución
  • Permiso para hacerlo el directorio actual y
    ejecutar ficheros

6
Modificación de los permisos
  • Sólo el propietario puede cambiar los permisos,
    incluso si el fichero lo puede escribir
    cualquiera
  • Se usa el comando chmod que puede funcionar en
    dos modos
  • Simbólico
  • Numérico

7
Chmod (modo simbólico)
  • chmod ugoa (-) rwx ficheros
  • u usuario propietario
  • g grupo propietario
  • o resto de usuarios
  • a todos los usuarios
  • "" añadir permiso
  • "-" quitar permiso
  • "" establecer permisos
  • r permiso de lectura
  • w permiso de escritura
  • x permiso de ejecución
  • X ignorado con - en directorios

8
Chmod (modo numérico)
  • chmod NNN ficheros
  • Especifica permisos a establecer
  • Cada N afecta a
  • usuario propietario
  • grupo propietario
  • resto de usuarios
  • Se usa nomenclatura octal (0-7)

9
umask (permisos por defecto)
  • umask determina los permisos por defecto
    (asignados a los nuevos ficheros)
  • Usa nomenclatura inversa a chmod (un 1 en umask
    es un 0 chmod)
  • ej umask 137 chmod 640
  • Para cambiarlo ejecutar al cargar un terminal
  • echo 'umask 137' gtgt /.profile
  • Para que afecte a nuevos usuarios
  • echo 'umask 137' gtgt /etc/skel/.bashrc

10
Casos especiales, riesgos y soluciones (I)
  • Permisos extra para los directorios
  • Sticky bit
  • Se aplica para el resto de usuarios
  • Crea la situación para el resto de usuarios
  • Pueden crear propios ficheros (y borrarlos)
  • Ficheros de otros usuarios permanecen
  • chmod ot directorio
  • Aparece una t en lugar de la x de resto de
    usuarios
  • SGID para directorios
  • Los ficheros creados tendrán ese grupo

11
Casos especiales, riesgos y soluciones (II)
  • Ficheros de dispositivo
  • A tener especialmente en cuenta
  • No dar permisos a los dispositivos de disco duro
  • No dar permisos a otros dispositivos
  • Algunos son enlaces simbólicos (lrwxrwxrwx)
  • chmod o-rwx
  • chmod arw /dev/null /dev/zero /dev/random

12
Ejecutables SUID/SGID
  • Los procesos tienen un usuario y grupo (el del
    que lo ejecuta)
  • tienen acceso a ficheros según se le concedan al
    usuario/grupo
  • Con SUID/SGID el usuario/grupo del proceso es del
    propietario del fichero
  • En los permisos aparece como s en vez de x
  • Riesgo en la seguridad los programas
    proporcionan más acceso al usuario

13
Establecer SUID/SGID
  • Modo simbólico
  • Usando chmod, con s en vez de x
  • Modo numérico
  • Usando 4 dígitos (el 1º para permisos
    especiales)
  • valor 4 SUID
  • valor 2 SGID
  • valor 6 SUID y SGID

14
Mantenimiento de los permisos SUID/SGID
  • Para localizarlos
  • find / -perm 6000 -follow
  • Comprobar cuáles deben permanecer
  • Guardar la lista
  • find / -perm 6000 -follow gt /dev/splist
  • chmod go-rwx /etc/splist
  • Programar este script
  • for BINFILE in (find / -perm 6000 -follow) do
  • if "(grep BINFILE /etc/splist)" "" then
  • echo BINFILE mail -s "Problemita con
    SUID/SGID!!!" root
  • fi
  • done
  • Mantener al día los binarios

15
Atributos especiales para ficheros
  • Existe un conjunto de propiedades extra
  • dependientes del sistema de ficheros
  • Modificarlos (sólo el superusuario)
  • chattr -modos ficheros
  • Modos
  • a permite sólo añadir contenido al fichero
  • i no permite modificaciones
  • Para ver estas porpiedades lsattr

16
Sistema de ficheros raíz de sólo lectura
  • No es necesario modificar ficheros del sistema en
    el uso cotidiano del sistema
  • Remontar como sólo lectura en tiempo de
    ejecución
  • mount -n -o remount,ro /
  • Remontar como sólo lectura en tiempo de
    ejecución
  • mount -n -o remount,rw /
  • Usar /etc/fstab para establecer el modo sólo
    lectura por defecto

17
Opciones para mount y fstab
  • user los usuarios normales pueden montar y
    desmontar
  • noauto no montar al inicio
  • errorsN que hacer en caso de error
  • continue continuar
  • remount-ro remontar en modo sólo lectura
  • panic system panic
  • umaskN (FAT) valor de umask
  • uidN (FAT) usuario N posee los ficheros
  • gidN (FAT) grupo N posee los ficheros

18
Extra File System Security Tools
19
Existen dos tipos básicos de herramientas
  • Mecanismos de Access control list (ACL), que
    permiten especificar algunos permisos que no se
    hayan disponibles en el tradicional sistema de
    ficheros de Unix.
  • Herramientas para el borrado permanente, que
    aseguran que los datos de los ficheros borrados
    son realmente eliminados del soporte físico de
    almacenamiento.
  • Para la seguridad y la flexibilidad ?son
    necesarias.

20
POSIX Access Control Lists for Linux
  • El sistema de permisos de Linux Native
  • Limitaciones sólo es posible especificar tres
    roles (usuario propietario, grupo y resto de
    usuarios)
  • Problema no es posible especificar permisos para
    varios usuarios diferentes.
  • Apta para todo tipo de propósitos y usuarios pero
    para sistemas en los que una mayor flexibilidad
    es necesaria ? ACL

21
Ejemplo
Users Groups Permissions
Juan rwx
Pepe rw-
Menganito r--
trabajadores
gandules
(otros)
22
POSIX ACLs for Linux
  • Paquete Conjunto de parches para el Kernel y
    para las
  • utilidades del sist. de ficheros ext2
    (http//acl.bestbits.at)
  • El paquete capacita al Kernel para que se
    almacene una cantidad extra de metadatos para
    cada fichero. Estos nuevos metadatos contienen la
    información de permisos extendidos provistos por
    las utilidades ACL.
  • Las versión de Linux con la que contamos ya
    contiene este paquete

23
Componentes del paquete POSIX ACLs para Linux
  • Linux Kernel source(fuente) soportado a partir
    de las versiones 2.2.17 y el 2.4.0
  • Extended attrs patch Extiende los atributos del
    nivel de sistema de ficheros virtual en el fuente
    del kernel.
  • ACL patch Usa los atributos adicionales
    mencionados para almacenar información del access
    control list.
  • e2fsprogs Extiende las utilidades del ext2 con
    argumentos adicionales para líneas de comandos
    para dar soporte a los metadatos ACL.
  • fileutils Extiende las utilidades de fichero GNU
    de tal forma que la información de los permisos
    extendidos es preservada en las operaciones de
    utilidad de fichero.
  • ACL utilities source Para las utilidades extras
    usadas para configurar la información ACL para
    ficheros.

24
Instalación
  • Bajarse el núcleo
  • Configurar el núcleo con la activación de las
    opciones
  • CONFIG_FS_EXT_ARRT, CONFIG_FS_EXT_ARRT_USER,
  • CONFIG_ETX2_TS_EXT_ARRT y CONFIG_POSIX_ACL
  • Instalarlo
  • Comprobar que los paquetes anteriores están
    actualizados
  • Reboot

25
Comandos (POSIX access control lists)
  • setfacl usado para dar o quitar permisos en
    ficheros con propiedades de access control list.
  • getfacl usado para mostrar permisos en ficheros
    con propiedades de access control list.

26
Sintaxis para el comando setfacl
  • Añade o quita restricciones de access control
    list a un fichero o
  • directorio dado.
  • setfacl -m-x uuser permissions file
    file...
  • setfacl -m-x ggroup permissions file
    file...
  • setfacl -m-x o permissions file
    file...
  • -m ? modifica o da permisos
  • añado permiso
  • elimino permisos
  • -x ? quita permisos.

27
Setfacl ejemplo
  • setfacl -m urwx file ? read, write, execution
    al user del fichero
  • setfacl -m grwx file ? read, write, execution
    al group del fichero
  • setfacl -m upeperwx file ? read, write,
    execution al user adicional pepe
  • setfacl -m ggandulesr file ? read, write,
    execution al group adicional gandules
  • setfacl -m or file ? solo permiso de lectura a
    otros users
  • setfacl -m upepex file ? le quito el permiso
    de execution a pepe
  • setfacl -m ggandulesw file ? añado el permiso
    de write al group gandules
  • setfacl -x upepe file ? quito todos los permisos
    al user pepe
  • setfacl -x ggandules file ?quito todos los
    permisos al group gandules

28
Sintaxis y ejemplo para el comandogetfacl
  • Muestra la lista actual de permisos de access
    control list de un
  • fichero o lista de ficheros.
  • getfacl file file...
  • Ejemplo
  • getfacl ficherito
  • file ficherito
  • ownerpepe
  • groupgandules
  • userrwx
  • userjuanr--
  • groupr--
  • group trabajadoresrwx
  • other---

29
Permisos por defecto y ejemplo.
  • El software ACL también permite permisos por
    defecto,
  • funcionalmente similares a los ofrecidos por el
    umask
  • setfacl -m-x duuser permissions dir
    dir...
  • setfacl -m-x dggroup permissions dir
    dir...
  • setfacl -m-x do permissions dir
    dir...
  • Todos los ficheros que se creen dentro del
    directorio dir
  • tendrán los permisos especificados en el comando
    (herencia)
  • setfacl -m durw dir ? el user tendrá permisos
    de read y write para todos los ficheros creados
    en dir
  • setfacl -m dgr dir ? el grupo tendrá permiso
    de read para todos los ficheros creados en dir

30
Permisos Mask (temporales)
  • setfacl m m permissions file
    file...
  • Supongamos que cinco usuarios tienen permisos de
    rwx sobre un fichero texasmap. Durante un tiempo
    esta siendo usado en un Web site, y tú como
    administrador del sistema quieres borrar todos
    los permisos de escritura sobre ese fichero. Con
    chmod puedes quitárselo al user y al group
    propietario pero no a los users adicionales
    (ACLs). Con setfactl puedes quitárselos a todos
    uno a uno doblando el trabajo para volvérselos a
    dar?como solución aparecen los mask permissions
  • setfacl m mw texasmap
  • getfacl texasmap grep mask
  • maskr-x

31
Copiar ACLs entre ficheros
  • Se usa el argumento -S para una especificación
    ACL desde la entrada estandar.
  • getfacl file1 setfacl -S- file2

32
Conflicto entre los tradicionales y los ACL
  • Se usa un algoritmo que puede ser simplificado
    con las dos
  • reglas siguientes
  • Los permisos son chequeados de izquierda a
    derecha (los permisos de usuarios prevalecen
    sobre los de grupo, y los de grupo sobre los del
    resto de usuarios).
  • Los permisos tradicionales prevalecen sobre los
    ACL cuando se concede acceso, pero en el resto de
    casos, los ACL prevalecen.

33
Advertencias y consideraciones
  • Standard kernels? Hay Kernels que no soportan
    ACLs por lo que ignorarán los datos ACLs
  • NFS?teniendo un NFS montado, cuando exportamos un
    fichero, los ACLs aplicados sobre él no se
    tendrán en cuenta ya que NFS no los soporta.
  • Samba? Soporta los ACLs
  • Backups?Muchas utilidades de backup, incluyendo
    afio y tar no preservan los metadatos de ACLs.
  • Non-ext2 file systems Las utilidades getfacl y
    setfacl no son soportados por Non-ext2 file
    systems.

34
Herramientas para el borrado permanente
  • La mayor parte de los usuarios asumen que cuando
    un fichero es borrado, lo es definitivamente
    (falso ya que los datos se conservan en el
    dispositivo físico de almacenamiento y ademas
    puede ser posible recuperar estos datos mediante
    herramientas especiales y con los conocimientos
    adecuados)
  • Para ello surgen las herramientas para el borrado
    permanente
  • Utilidades wipe y bcwipe (más potente)
Write a Comment
User Comments (0)
About PowerShow.com